Skip to content

Online Login and Authenticated Key Exchange

Daniel Bourdrez edited this page May 17, 2021 · 5 revisions

An authenticated key exchange consists of the 3 messages sent between the client and the server, initiated by the client.

 Client                                         Server
------------------------------------------------------
 ke1 = client.Init(client_identity, password, client_info)

                        ke1
             ------------------------->

 ke2 = server.Init(server_identity, server_private_key,
                   server_public_key, record,
                   credential_identifier, oprf_seed, ke1)

                        ke2
             <-------------------------

   (ke3,
   server_info,
   session_key,
   export_key) = client.Finish(server_identity, ke2)

                        ke3
             ------------------------->

                      session_key = server.Finish(ke3)
Clone this wiki locally