diff --git a/protocol.md b/protocol.md index dbe5fac7409bf6189c9dda00306baaf99388ab6a..daa772bf31f1fd483536cc924d0ceb705c93d414 100644 --- a/protocol.md +++ b/protocol.md @@ -12,7 +12,12 @@ 2. B sends A's id_code to the server. 3. The server checks if it matches and returns a comm_id to B. 2. Generate and exchange an ephemeral key. - 1. A and B generate a RSA key-pair. + 1. A and B generate RSA public-private key pairs. + 2. A and B exchange public keys. + 3. A and B encrypt their chosen secret value and send them to each other. + 4. A and B decrypt the received secret values and add them to their secret value. + 5. The result is the ephemeral key. 3. Instantiate symmetric encryption using the ephemeral key. + 1. AES, CTR-mode 4. Authenticate each other directly. 5. (?) Check communication transcript (avoid malicious server).