ML-KEM-768: FIPS203 at the MLKEM768 parameter set #
@[reducible, inline]
Equations
- Cryptlib.Primitives.KEM.MLKEM768.ps = MLKEM.ParameterSet.MLKEM768
Instances For
@[reducible, inline]
Equations
Instances For
@[reducible, inline]
Equations
Instances For
@[reducible, inline]
abbrev
Cryptlib.Primitives.KEM.MLKEM768.primitives :
MLKEM.Primitives (FIPS203.params ps) (FIPS203.encoding ps)
Equations
Instances For
@[reducible, inline]
Equations
Instances For
@[reducible, inline]
Equations
Instances For
@[reducible, inline]
Equations
Instances For
@[reducible, inline]
Equations
Instances For
@[reducible, inline]
Equations
Instances For
@[reducible, inline]
Equations
Instances For
@[reducible, inline]
Equations
Instances For
@[reducible, inline]
Equations
Instances For
@[reducible, inline]
Equations
Instances For
@[reducible, inline]
Equations
Instances For
@[reducible, inline]
abbrev
Cryptlib.Primitives.KEM.MLKEM768.encodePublicKey
(pk : FIPS203.PublicKey ps)
:
Vector UInt8 (FIPS203.params ps).publicKeyBytes
Equations
Instances For
@[reducible, inline]
abbrev
Cryptlib.Primitives.KEM.MLKEM768.decodePublicKey
(v : Vector UInt8 (FIPS203.params ps).publicKeyBytes)
:
Equations
Instances For
@[reducible, inline]
abbrev
Cryptlib.Primitives.KEM.MLKEM768.encodePrivateKey
(sk : FIPS203.PrivateKey ps)
:
Vector UInt8 (FIPS203.params ps).secretKeyBytes
Equations
Instances For
@[reducible, inline]
abbrev
Cryptlib.Primitives.KEM.MLKEM768.decodePrivateKey
(v : Vector UInt8 (FIPS203.params ps).secretKeyBytes)
:
Equations
Instances For
@[reducible, inline]
abbrev
Cryptlib.Primitives.KEM.MLKEM768.encodeCiphertext
(c : FIPS203.CT ps)
:
Vector UInt8 (FIPS203.params ps).ciphertextBytes
Equations
Instances For
@[reducible, inline]
abbrev
Cryptlib.Primitives.KEM.MLKEM768.decodeCiphertext
(v : Vector UInt8 (FIPS203.params ps).ciphertextBytes)
:
Equations
Instances For
@[reducible, inline]
Instances For
@[reducible, inline]
Instances For
@[reducible, inline]
Instances For
@[reducible, inline]
abbrev
Cryptlib.Primitives.KEM.MLKEM768.keygen768
(d z : MLKEM.Seed32)
:
MLKEM.EncapsulationKey (FIPS203.params ps) (FIPS203.encoding ps) × MLKEM.DecapsulationKey (FIPS203.params ps) (FIPS203.encoding ps)
Equations
Instances For
@[reducible, inline]
abbrev
Cryptlib.Primitives.KEM.MLKEM768.encaps768
(ek : MLKEM.EncapsulationKey (FIPS203.params ps) (FIPS203.encoding ps))
(m : MLKEM.Message)
:
Equations
Instances For
@[reducible, inline]
abbrev
Cryptlib.Primitives.KEM.MLKEM768.decaps768
(dk : MLKEM.DecapsulationKey (FIPS203.params ps) (FIPS203.encoding ps))
(c : MLKEM.Ciphertext (FIPS203.params ps) (FIPS203.encoding ps))
:
MLKEM.SharedSecret
Equations
Instances For
@[reducible, inline]
Instances For
@[reducible, inline]
abbrev
Cryptlib.Primitives.KEM.MLKEM768.keygen768_dk_wf
(d z : MLKEM.Seed32)
:
(FIPS203.tBytes ps (FIPS203.keygen ps d z).2.dkPKE.sHatEncoded).size = 384 * (FIPS203.params ps).k ∧ (FIPS203.tBytes ps (FIPS203.keygen ps d z).2.ekPKE.tHatEncoded).size = 384 * (FIPS203.params ps).k
Instances For
@[reducible, inline]
abbrev
Cryptlib.Primitives.KEM.MLKEM768.checkEncapsulationKey
(ek : MLKEM.EncapsulationKey (FIPS203.params ps) (FIPS203.encoding ps))
:
Equations
Instances For
@[reducible, inline]
abbrev
Cryptlib.Primitives.KEM.MLKEM768.checkDecapsulationKey
(dk : MLKEM.DecapsulationKey (FIPS203.params ps) (FIPS203.encoding ps))
:
Equations
Instances For
@[reducible, inline]
Equations
Instances For
@[reducible, inline]
abbrev
Cryptlib.Primitives.KEM.MLKEM768.encapM
(pk : FIPS203.PublicKey ps)
:
EStateM KEM.KEMError State (FIPS203.CT ps × Vector UInt8 32)
Equations
Instances For
@[reducible, inline]
abbrev
Cryptlib.Primitives.KEM.MLKEM768.decapM
(sk : FIPS203.PrivateKey ps)
(c : FIPS203.CT ps)
:
EStateM KEM.KEMError State (Vector UInt8 32)
Equations
Instances For
@[reducible, inline]
Equations
Instances For
@[reducible, inline]
abbrev
Cryptlib.Primitives.KEM.MLKEM768.honestRoundTripM
(sk : FIPS203.PrivateKey ps)
(s : State)
(hrel : FIPS203.Reliable ps s)
(c : FIPS203.CT ps)
(k : Vector UInt8 32)
(s' : State)
(hc : FIPS203.encapM ps (FIPS203.derivePublicKeyM ps sk) s = EStateM.Result.ok (c, k) s')
(t : State)
:
∃ (t' : State), FIPS203.decapM ps sk c t = EStateM.Result.ok k t'
Instances For
@[reducible, inline]
abbrev
Cryptlib.Primitives.KEM.MLKEM768.decodePrivateKey_totalM
(v : Vector UInt8 (FIPS203.params ps).secretKeyBytes)
:
∃ (sk : FIPS203.PrivateKey ps), FIPS203.decodePrivateKey ps v = some sk
Instances For
@[reducible, inline]
Equations
Instances For
@[reducible, inline]
Equations
Instances For
@[reducible, inline]
Equations
Instances For
@[reducible, inline]
Equations
Instances For
@[reducible, inline]
Equations
Instances For
@[reducible, inline]
abbrev
Cryptlib.Primitives.KEM.MLKEM768.decapMFromSeed
(sk : SeedPrivateKey)
(c : FIPS203.CT ps)
:
EStateM KEM.KEMError State (Vector UInt8 32)
Equations
Instances For
@[reducible, inline]
abbrev
Cryptlib.Primitives.KEM.MLKEM768.honestRoundTripFromSeed
(sk : SeedPrivateKey)
(s : State)
:
FIPS203.Reliable ps s →
∀ (c : FIPS203.CT ps) (k : Vector UInt8 32) (s' : State),
FIPS203.encapM ps (FIPS203.derivePublicKeyFromSeed ps sk) s = EStateM.Result.ok (c, k) s' →
∀ (t : State), ∃ (t' : State), FIPS203.decapMFromSeed ps sk c t = EStateM.Result.ok k t'
Instances For
@[reducible, inline]
abbrev
Cryptlib.Primitives.KEM.MLKEM768.encodePrivateKeyFromSeed
(sk : SeedPrivateKey)
:
Vector UInt8 ((FIPS203.params ps).publicKeyBytes + 64)
Equations
Instances For
@[reducible, inline]
abbrev
Cryptlib.Primitives.KEM.MLKEM768.decodePrivateKeyFromSeed
(v : Vector UInt8 ((FIPS203.params ps).publicKeyBytes + 64))
:
Equations
Instances For
@[reducible, inline]
abbrev
Cryptlib.Primitives.KEM.MLKEM768.decodePrivateKeyFromSeed_total
(v : Vector UInt8 ((FIPS203.params ps).publicKeyBytes + 64))
:
∃ (sk : SeedPrivateKey), FIPS203.decodePrivateKeyFromSeed ps v = some sk
Instances For
@[reducible, inline]
Instances For
@[reducible, inline]
ML-KEM-768 with the FIPS 203 expanded private key.
Equations
Instances For
@[reducible, inline]
ML-KEM-768 with the ek ‖ d ‖ z seed private key.