Skip to content

Proposal: End to end encryption

bensmiley edited this page Jul 17, 2017 · 2 revisions

Here is a proposed scheme for end-to-end encryption. In each of these examples we will imagine a chat between various users: User A, User B, User C etc...

One-to-one chat

  1. Users A and B generate new public private key pairs and store the public key on their vcard / user profile
  2. User A starts a new conversation with User B
  3. User A downloads User B's public key from the vcard / profile
  4. User A sends a message to User B. The message is encrypted using User B's public key
  5. User B receives the message and decrypts it using the private key

Multi user chat

  1. Users A, B and C generate new public private key pairs and store the public key on their vcard / user profile
  2. User A starts a new conversation with Users B and C
  3. User A downloads the public keys of Users B and C
  4. User A sends a new message. The payload is encrypted twice, once with User B's public key and once with User C's public key
  5. The message is sent to Users B and C
  6. Users B and C each find their version of the payload and decrypt it using their private key