self_encryption

Self encrypting files (convergent encryption plus obfuscation)

|Crate|Travis|Appveyor|Coverage| |:------:|:-------:|:-------:|:-------:| ||Build Status|Build status | Coverage Status|

| API Documentation | MaidSafe System Documention | MaidSafe web site | Safe Community site |

Overview

A version of convergent encryption with an additional obfuscation step. This pattern allows secured data that can also be de-duplicated. This library presents an API that can be utilised in any application that provides POSIX like a filesystem interface, where it will deal very effectively with the content part of any data (in tests the parallelised approach here can actually be faster than reading/writing data as a single stream). It is important to realise two important aspects of this library:

  1. This library deals with file content only
  2. This library provides very secure data, but does return a data structure (DataMap) that in turn requires to be secured.

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

ToDo list

Video of the process

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