Skip to main content

Module kx

Module kx 

Source
Expand description

密钥交换组:SupportedKxGroup / ActiveKeyExchange 适配。

X25519 = 非批准;secp256r1/secp384r1 = 批准(但认证前 fips()false,见 lib.rs“fips() 语义”)。

私钥由 ferritls-core 的 OS 熵直读生成(批准模式的 DRBG 路径由 CryptoProvider::secure_random 与密钥生成入口的自检守卫覆盖; ECDH 私钥生成熵需求为曲线阶长,风险敞口极小)。

Structs§

Mlkem512
MLKEM512(draft-ietf-tls-mlkem-key-agreement,codepoint 0x0200)纯 ML-KEM 密钥交换组(M8.4):Cat 1 参数集(k = 2,η₁ = 3)。
Mlkem768
MLKEM768(draft-ietf-tls-mlkem-key-agreement,codepoint 0x0201)纯 ML-KEM 密钥交换组(M8.4):Cat 3 参数集(k = 3)。
Mlkem1024
MLKEM1024(draft-ietf-tls-mlkem-key-agreement,codepoint 0x0202)纯 ML-KEM 密钥交换组(M8.4):Cat 5 参数集(k = 4,du = 11)。
SecP256R1
secp256r1(NIST P-256)密钥交换组。
SecP384R1
secp384r1(NIST P-384)密钥交换组。
X25519
X25519(RFC 7748)密钥交换组。
X25519Mlkem768
X25519MLKEM768(draft-ietf-tls-ecdhe-mlkem,codepoint 0x11EC)混合 密钥交换组(M8.3)。

Statics§

ALL_KX_GROUPS
默认(非批准模式)密钥交换组清单;顺序即偏好——X25519MLKEM768 混合优先,其后纯 ML-KEM(768/1024/512)与经典组。注意 rustls 会 为清单内每个组在 ClientHello 里发 key share:全清单 share 约 4.8 KB(1216 + 1184 + 1568 + 800 + 32 B),只需子集的用户可自行 装配 provider(CryptoProvider 字段公开)。
FIPS_KX_GROUPS
批准模式密钥交换组清单:ML-KEM 全部三个参数集(FIPS 203 批准; 纯组与 X25519MLKEM768 混合——X25519 进批准模式的通道)+ 经典 P-256/P-384;无独立 X25519(SP 800-52r2 口径)。
MLKEM512_GROUP
Mlkem512 组单例。
MLKEM768_GROUP
Mlkem768 组单例。
MLKEM1024_GROUP
Mlkem1024 组单例。
SECP256R1_GROUP
P-256 组单例。
SECP384R1_GROUP
P-384 组单例。
X25519MLKEM768_GROUP
X25519MLKEM768 混合组单例(默认列表首项:PQ 优先,同主流 provider/浏览器实践;1216 B ClientHello share)。
X25519_GROUP
X25519 组单例。