11.7 Hash functions in TLS 1.3
We’ll now take a look at how hash functions are negotiated within the TLS handshake and how they are subsequently used in the handshake.
11.7.1 Hash functions in ClientHello
Recall that Alice and Rob use the TLS handshake protocol to negotiate the security parameters for their connection. They do it using TLS handshake messages shown in Listing 11.3. Once assembled by the TLS endpoint – that is, server Alice or client Bob – these messages are passed to the TLS record layer where they are embedded into one or more TLSPlaintext
or TLSCiphertext
data structures. The data structures are then transmitted according to the current state of the TLS connection.
Listing 11.3: TLS 1.3 handshake messages
enum {
client_hello(1),
server_hello(2),
new_session_ticket(4),
end_of_early_data(5),
encrypted_extensions(8),
certificate(11...