ResiStore is an application that store your private files across different storage devices and cloud services in a resilient and secure manner. ResiStore adds a layer of cyphering and RAID mechanisms on top of multiple cloud and personal storage services, so that you don't have to trust a http://yleprovost.bitbucket.org/single one.

Download Quick Start


Backing up a file

AES Cypher
Your original file is cyphered using symmetric AES. The key is chosen randomly per file and stored into meta file
Chunks & FEC
The cyphered file is chunked into multiple data parts. Some redondant parts are added using Reed Solomon coding
Upload
Data and redondant chunks are uploaded to the defined local/remote storage spaces. Each cloud provider stores only an undefined fraction of a larger cyphered file: no information about original content, type, length can be retrieved from that.
Meta
The AES key, as well as all information to retrieve and reassemble the different parts are stored into a meta file. The meta file is critical for retrieving the original file; hence it is cyphered and duplicated onto each of the storage space. This meta file is cyphered using assymetric RSA with your master public key.

Recovering a file

Retrieve Meta
The meta file is retrieved either from local cache or from any of defined local/remote storage space; anyone of the meta duplicates must be available to restore the complete file. The meta file decyphered using the assymetric RSA master private key, hence providing all locations of data/redondant chunks.
Download&Recover
Data chunks are downloaded first. For any missing/corrupted data chunk, ResiStore tries to download a redondant chunk. The file is recovered using Reed Solomon decoding if the number of downloaded redondant chunks reachs the number of missing/corrupted data chunks.
AES Decypher
The original file is decyphered from the recovered chunks using the symmetric AES key stored in meta file.

Why using ResiStore ?