9Key Exchange

Colin BOYD

NTNU, Trondheim, Norway

Key exchange refers to the process of setting up a cryptographic shared key between two or more parties. Typically, this process involves a cryptographic protocol run between the parties who are going to share the output key, usually called a session key. There are several other terms in the literature used more or less synonymously with the term “key exchange”, including key establishment and key distribution. There are also several different kinds of key exchange protocol characterized by different protocol features.

In this chapter, we will first consider the elements of key exchange, specifically the steps in a key exchange protocol, the parties that are involved and the messages which may be sent. After that, we look in more detail at key exchange security models and protocols, considering first the simpler case of unauthenticated key exchange before turning to authenticated protocols.

9.1. Key exchange fundamentals

What is a key exchange protocol? At a high level, we can identify four stages that are used in most protocols, although we will see that there are some exceptions which do not include all stages.

Setup: This stage defines the system parameters used by all protocol participants for the duration of the protocol lifetime. These may typically include definitions of suitable groups and generators as well as shared algorithms such as hash functions, encryption and signatures schemes.

Key generation: This stage ...

Get Asymmetric Cryptography now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.