# 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. 2. A sends an id_code to the server. 3. If someone answered with the same id_code, A gets a comm_id from the server. 2. B tells the server to answer A's communication request. 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. 3. Instantiate symmetric encryption using the ephemeral key. 4. Authenticate each other directly. 5. (?) Check communication transcript (avoid malicious server).