In TLS 1.3 , while computing Finished message,

finished_key = HKDF-Expand-Label(BaseKey, "finished", "", Hash.length)

How can "finished" be used for this calculation as it is the objective of this process or it signifies anything other that I am missing.

1 Answer 1


See https://datatracker.ietf.org/doc/html/draft-ietf-tls-tls13-28#section-7.1 for the definition of HKDF-Expand-Label in TLS 1.3:

HKDF-Expand-Label(Secret, Label, Context, Length) =
HKDF-Expand(Secret, HkdfLabel, Length)

Where HkdfLabel is specified as:

struct {
    uint16 length = Length;
    opaque label<7..255> = "tls13 " + Label;
    opaque context<0..255> = Context;
} HkdfLabel;

The string "finished" is used as part of the label.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .