diff --git a/README.md b/README.md index 135d507..8dddea7 100644 --- a/README.md +++ b/README.md @@ -1,18 +1,38 @@ # whisper-ui  Secure and very easy to use sending of encrypted data anywhere (browser ui) -## idea -Make it super easy to locally encrypt sensible data for only specific recipients ensuring privacy, integrity and compliance on whatever way the data is transported. +## Motivation +Make it super easy to locally encrypt sensible data for designated recipients ensuring privacy, integrity and compliance on whatever way the data is transported. Keys should be considered throw away material and not be reused often in order to render the transported cryptograms useless, even if they are retained in e.g. mailboxes. + +## How does it work? + +This is quite simple: Whisper! uses [asymmetric cryptography](https://en.wikipedia.org/wiki/Public-key_cryptography) and +the [Web Crypto API](https://developer.mozilla.org/en-US/docs/Web/API/Web_Crypto_API) to create two keys. One can be used for encryption and the other for decryption. The latter should not leave your browser's local storage. To exchange sensitive data the following steps are executed: +1. The recipients send their public key parts to the sender and use whatever communication channel they see fit. +1. The sender uses the key parts of all intended recipients, encrypts the data locally in the browser and sends the resulting cryptogram to the recipients. +1. The recipients decrypt the cryptogram locally in their browser and save the sensitive data. They may throw away their keys rendering the cryptogram useless. + +Thus the sensitive data never leaves the senders' and recipients' devices. ### Create and encrypt locally in you browser - +Drop recipients' keys and some sensitive data, then locally and download cryptograms: +
+
+
+
+
+
+