diff --git a/protocol.md b/protocol.md new file mode 100644 index 0000000000000000000000000000000000000000..a1fe44f0868c71d1ee4568995e6896463df03c97 --- /dev/null +++ b/protocol.md @@ -0,0 +1,18 @@ +# The Authentication and Message Exchange Protocol + +[A]lice wants to communicate with [B]ob privately. + +## Protocol Steps + +1. Authenticate to the server and establish communication. + 1. A tells the server to open a communication. + 1. A calculates the challenge. + 2. A sends the challenge to the server. + 2. B tells the server to answer A's communication request. + 1. B receives A's challenge. + 2. B answers the solution to the server. + 3. The server checks the solution and accepts the communication establishment. +2. Generate and exchange an ephemeral key. +3. Instantiate symmetric encryption using the ephemeral key. +4. Authenticate each other directly. +5. Check communication transcript (avoid malicious server). \ No newline at end of file