hybrid_kex
[pqc_kem] 执行 X25519 + ML-KEM-768 混合密钥交换全流程演示。 【标准参考】IETF X-Wing 草案(draft-connolly-cfrg-xwing-kem)。 【参数】所有密钥参数均可选:
alice_x25519_private_key_pem / bob_x25519_private_key_pem:X25519 PEM 私钥
alice_ml_kem_public_key_base64 / bob_ml_kem_public_key_base64:ML-KEM-768 公钥,支持 raw 或 SPKI DER Base64
alice_ml_kem_secret_key_base64 / bob_ml_kem_secret_key_base64:ML-KEM-768 私钥,支持 raw 或 PKCS#8 DER Base64
ML-KEM 公钥和私钥必须同时提供;留空则服务端使用 CSPRNG 随机生成 raw keypair 【流程】
Alice 和 Bob 各持有 X25519 + ML-KEM-768 密钥对
Alice 用 Bob 公钥做 X25519 ECDH + ML-KEM Encap
Bob 用自己私钥做 X25519 ECDH + ML-KEM Decap
双方将 ecdh_ss || ml_kem_ss 通过 HKDF-SHA256 派生 32 字节最终密钥 【输出】双方中间值 + 最终密钥 + keys_match(bool)验证一致性。 【安全等级】组合后达到 NIST Level 3(ML-KEM-768)+ Level 1(X25519),抵抗经典和量子攻击。
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| bob_x25519_public_key_pem | No | ||
| bob_x25519_private_key_pem | No | Bob 侧 X25519 私钥的 PEM 文本 | |
| alice_x25519_public_key_pem | No | ||
| alice_x25519_private_key_pem | No | Alice 侧 X25519 私钥的 PEM 文本 | |
| bob_ml_kem_public_key_base64 | No | Bob 侧 ML-KEM 公钥的 Base64 字符串(raw 或 SPKI DER) | |
| bob_ml_kem_secret_key_base64 | No | Bob 侧 ML-KEM 私钥的 Base64 字符串(raw 或 PKCS#8 DER) | |
| alice_ml_kem_public_key_base64 | No | Alice 侧 ML-KEM 公钥的 Base64 字符串(raw 或 SPKI DER) | |
| alice_ml_kem_secret_key_base64 | No | Alice 侧 ML-KEM 私钥的 Base64 字符串(raw 或 PKCS#8 DER) |