Secure Messaging

9.2. ML-KEM Braid🔗

Definition9.2.1
Group: ML-KEM Braid ( ). (3)
Group member previews
Preview
Definition 9.2.2
Loading preview
Group member preview content is loaded from the rendered-fragment cache.
uses 1used by 1L∃∀N

\todo

ratcheted authenticator interface

structure RatchetedAuthenticator (InitKey EpochKey AuthState Header Ciphertext Mac : Type) where /-- Initialize authenticator state from an initial key and epoch. -/ init : InitKey AuthState /-- Ratchet the authenticator state with an epoch key at the given epoch. -/ update : AuthState EpochKey AuthState /-- MAC a header at the given epoch. -/ macHeader : AuthState Header Mac /-- Verify a MAC on a header at the given epoch. -/ verifyHeader : AuthState Header Mac Bool /-- MAC a ciphertext at the given epoch. -/ macCiphertext : AuthState Ciphertext Mac /-- Verify a MAC on a ciphertext at the given epoch. -/ verifyCiphertext : AuthState Ciphertext Mac Bool /-- Honestly produced header MACs verify successfully. -/ verifyHeader_correct : (s : AuthState) (ep : ) (h : Header), verifyHeader s ep h (macHeader s ep h) = true /-- Honestly produced ciphertext MACs verify successfully. -/ verifyCiphertext_correct : (s : AuthState) (ep : ) (c : Ciphertext), verifyCiphertext s ep c (macCiphertext s ep c) = true

uses Definition 9.1.1 · github #245

Lean code for Definition9.2.11 definition
  • complete
    structure RatchetedAuthenticator
      (InitKey EpochKey AuthState Header Ciphertext Mac : Type) : Type
    structure RatchetedAuthenticator
      (InitKey EpochKey AuthState Header
        Ciphertext Mac : Type) :
      Type
    Epoch-indexed MAC state with separate header and ciphertext authentication. 
    init : InitKey    AuthState
    Initialize authenticator state from an initial key and epoch. 
    update : AuthState    EpochKey  AuthState
    Ratchet the authenticator state with an epoch key at the given epoch. 
    macHeader : AuthState    Header  Mac
    MAC a header at the given epoch. 
    verifyHeader : AuthState    Header  Mac  Bool
    Verify a MAC on a header at the given epoch. 
    macCiphertext : AuthState    Ciphertext  Mac
    MAC a ciphertext at the given epoch. 
    verifyCiphertext : AuthState    Ciphertext  Mac  Bool
    Verify a MAC on a ciphertext at the given epoch. 
    verifyHeader_correct :  (s : AuthState) (ep : ) (h : Header), self.verifyHeader s ep h (self.macHeader s ep h) = true
    Honestly produced header MACs verify successfully. 
    verifyCiphertext_correct :  (s : AuthState) (ep : ) (c : Ciphertext), self.verifyCiphertext s ep c (self.macCiphertext s ep c) = true
    Honestly produced ciphertext MACs verify successfully. 
Definition9.2.2
Group: ML-KEM Braid ( ). (3)
Group member previews
Preview
Definition 9.2.1
Loading preview
Group member preview content is loaded from the rendered-fragment cache.
Statement uses 3
Statement dependency previews
Preview
Definition 6.4.1
Loading preview
Statement dependency preview content is loaded from the rendered-fragment cache.
Used by 2
Reverse dependency previews
Preview
Theorem 9.2.3
Loading preview
Reverse dependency preview content is loaded from the rendered-fragment cache.
XL∃∀N

\todo

LeanLean anchor pending

uses Definition 9.1.1 · Definition 6.4.1 · Definition 9.2.1 · github #271

Theorem9.2.3
Group: ML-KEM Braid ( ). (3)
Group member previews
Preview
Definition 9.2.1
Loading preview
Group member preview content is loaded from the rendered-fragment cache.
Statement uses 3
Statement dependency previews
Preview
Definition 6.4.1
Loading preview
Statement dependency preview content is loaded from the rendered-fragment cache.
used by 0XL∃∀N

\todo

LeanLean anchor pending

uses Definition 9.2.2 · Definition 9.1.3 · Definition 6.4.1 · github #243

Theorem9.2.4
Group: ML-KEM Braid ( ). (3)
Group member previews
Preview
Definition 9.2.1
Loading preview
Group member preview content is loaded from the rendered-fragment cache.
Statement uses 3
Statement dependency previews
Preview
Definition 6.4.1
Loading preview
Statement dependency preview content is loaded from the rendered-fragment cache.
used by 0XL∃∀N

\todo

LeanLean anchor pending

uses Definition 9.2.2 · Definition 9.1.4 · Definition 6.4.1 · github #244

References:

  • Signal (2025)