7.3 The Diffie-Hellman key-exchange protocol
Alice and Bob communicate over an insecure channel. They can establish a shared secret K using the following protocol steps [49]:
Alice and Bob publicly agree on a cyclic group 𝔾 and a corresponding generator g. Very often, this step is performed out of band long before the actual key agreement. For example, 𝔾 and g might be specified in a public document.
Alice chooses a natural number α, where 1 < α < N, where N is the order of 𝔾. α is Alice’s private key SKAlice. She must not disclose this number to any other party.
Bob does the same as Alice: he independently chooses a number 1 < β < N as his private key SKBob.
Alice computes A = gα in G and sends A to Bob. The number A (together with G and g) can be seen as Alice’s public key: PKAlice = (g,G,A).
Bob computes B = gβ in G and sends B to Alice. The number B (together with G and g) can be seen...