steveklabnik/self_encryption

file self encryptor

★ 0Forks 0RustGitHub ↗Compare

README

self_encryption

Self encrypting files (convergent encryption plus obfuscation)

Travis build and test status Windows build status Code Coverage
Build Status Build status Coverage Status

Documentation

MaidSafe System Documention

MaidSafe web site

MaidSafe Community site

![image of self encryption] (https://github.com/dirvine/self_encryption/blob/master/img/self-encryption.png?raw=true)

ToDo list

  • Initial structure
  • Test set-up
  • Travis integration
  • Docs creation
  • Docs hosting (github.io)
  • Windows CI set-up (ci.AppVeyor.com)
  • Read/Write file in memory based buffer
  • API version 0.0.8
  • Implement disk based interface as example
  • Full unit tests in lib.rs
  • Integrations tests in tests module
  • Benchmark tests for varying file sizes from 1 byte to 10 M/b
  • API stable version 0.1.0
  • Add compression pre encrypt and post encrypt in encrypt and decrypt methods
  • Add task passing to allow cores to be lit up when handling chunks
  • Allow any size file
    • Replace sequencer with new struct and use BufferedStream to offload to disk (MemoryMapped file)
    • Clean up any cache chunks when disk space is low (start + now < 90%)
    • Store intermediate chunks when disk space is low (start + now < 90%)
  • Add another functor to constructor to allow storage query for chunks (not get)
  • Check for first last middle chunks on net and presume file stored
  • Coverage analysis (coveralls ?)

#Video of the process [self_encryption process and use case video] (https://www.youtube.com/watch?v=Jnvwv4z17b4)

Contributors

dirvinelionelkamenimaqiFraser999Rymanhitman401ustulation

Issues