Uploading for Storage

  1. Start by uploading a document and the application will encrypt the file with a single key.
  2. The encrypted document is sent to a node, logged, and stored in the blockchain.
  3. Simultaneously, the newly created document key is encrypted with the uploading users private key, effectively sharing the document’s key with themselves and creating the first point of access in its history.

Transferring Data Between Users

  1. The application decrypts the document’s key using the User-1’s private key.
  2. The application then encrypts the document key with User-2’s public key, sharing it with User-2.
  3. User-2 can now decrypt the document’s key using their private key.
  4. User-2 is able to use the decrypted document key to decrypt the document itself.