Skip to main content

Module pqc

Module pqc 

Source
Expand description

Strobe KK fully-PQC transport: Classic McEliece 8192128f (static keys, mutual auth)

  • ML-KEM-1024 (ephemeral forward-secrecy key).

Protocol string: "StrobeKK_CME8192128_MLKEM1024/v1"

Handshake layout ────────────────

msg1 (initiator → responder, KK_PQC_MSG1_LEN bytes):

| CME ciphertext (208 B) | ML-KEM-1024 ephemeral pk (1568 B) | MAC (16 B) |

msg2 (responder → initiator, KK_PQC_MSG2_LEN bytes):

| ML-KEM-1024 ciphertext (1568 B) | CME ciphertext to initiator (208 B) | MAC (16 B) |

Transcript (initiator side):

STROBE("StrobeKK_CME8192128_MLKEM1024/v1")
AD(responder_cme_pk)
AD(initiator_cme_pk)
AD(prologue)
send_clr(ct_cme_r)           // msg1[0..208]
KEY(ss_cme_r)
send_enc(init_mlkem_eph_pk)   // msg1[208..1776]
send_mac(16)                  // msg1[1776..1792]
recv_enc(ct_mlkem_eph)        // msg2[0..1568]
KEY(ss_mlkem)
recv_enc(ct_cme_i)            // msg2[1568..1776]
KEY(ss_cme_i)
recv_mac(16)                  // msg2[1776..1792]

Structs§

StrobeKkPqcHandshake
In-progress KK PQC handshake — holds the ephemeral and static keys until msg2 arrives.
StrobeKkPqcInitiator
Reusable initiator config for the Strobe KK fully-PQC handshake.
StrobeKkPqcResponder
Responder side of the Strobe KK fully-PQC handshake.

Enums§

Error

Constants§

KK_PQC_MSG1_LEN
Length of the first handshake message (initiator → responder). CME ciphertext (208) + ML-KEM-1024 ephemeral pk (1568) + MAC (16).
KK_PQC_MSG2_LEN
Length of the second handshake message (responder → initiator). ML-KEM-1024 ciphertext (1568) + CME ciphertext to initiator (208) + MAC (16).