2.1. Deterministic KDF
Definition2.1
group✓L∃∀N
Associated Lean declarations
-
KDF[complete]
Used by 6
-
Definition 3.1Blueprint label
-
aead_spec
Uses target in- statement
-
-
Definition 5.24Blueprint label
-
x3dh_sk_alice
Uses target in- statement
-
-
Definition 5.25Blueprint label
-
x3dh_sk_bob
Uses target in- statement
-
-
Theorem 5.26Blueprint label
-
x3dh_session_key_agree
Uses target in- statement
-
-
Definition 6.5Blueprint label
-
pqxdh_sk_alice
Uses target in- statement
-
-
Definition 6.6Blueprint label
-
pqxdh_sk_bob
Uses target in- statement
-
Preview
Definition 3.1
Blueprint label
-
aead_spec
Uses target in
- statement
A KDF is modeled as a deterministic map from input material to a derived key.
The abstraction is intentionally minimal so protocol proofs can reason only
about equality of derived outputs from equal transcripts.
Used in the correctness proofs (Theorem 5.26
Alice and Bob derive the same session key from the same Definition 2.1
because the DH tuples agree by Theorem 5.23.
Bob can decrypt Alice's first message. This theorem composes
Theorem 5.23, Theorem 5.26, and
Definition 3.1 correctness.
Code for Definition2.1●1 definition
Associated Lean declarations
-
KDF[complete]
Associated Lean declarations
-
KDF[complete]
-
structure KDF.{u_1, u_2} (I
Type u_1: Type u_1A type universe. `Type ≡ Type 0`, `Type u ≡ Sort (u + 1)`.) (KType u_2: Type u_2A type universe. `Type ≡ Type 0`, `Type u ≡ Sort (u + 1)`.) : Type (max u_1 u_2)A type universe. `Type ≡ Type 0`, `Type u ≡ Sort (u + 1)`.structure KDF.{u_1, u_2} (I
Type u_1: Type u_1A type universe. `Type ≡ Type 0`, `Type u ≡ Sort (u + 1)`.) (KType u_2: Type u_2A type universe. `Type ≡ Type 0`, `Type u ≡ Sort (u + 1)`.) : Type (max u_1 u_2)A type universe. `Type ≡ Type 0`, `Type u ≡ Sort (u + 1)`.KDF as a deterministic function, for correctness proofs.
Constructor
KDF.mk.{u_1, u_2} {I
Type u_1: Type u_1A type universe. `Type ≡ Type 0`, `Type u ≡ Sort (u + 1)`.} {KType u_2: Type u_2A type universe. `Type ≡ Type 0`, `Type u ≡ Sort (u + 1)`.} (deriveI → K: IType u_1→ KType u_2) : KDFKDF.{u_1, u_2} (I : Type u_1) (K : Type u_2) : Type (max u_1 u_2)KDF as a deterministic function, for correctness proofs.IType u_1KType u_2Fields
derive
I → K: IType u_1→ KType u_2