[pqc_signature] 使用 ML-DSA 私钥对消息签名(FIPS 204)。
【双模式】sign_mode 支持 RAW(默认)和 EXTERNAL_MU 两种模式。
- RAW 模式:直接签名原始消息(liboqs,最大 256 字节)
- EXTERNAL_MU 模式:先计算 mu = SHAKE-256(tr||M', 64),再通过 OpenSSL 3.5+ mu 模式签名(最大 2048 字节),与 AWS KMS ML-DSA EXTERNAL_MU 语义等价
【消息长度策略】
- RAW:最大 256 字节,空消息合法
- EXTERNAL_MU:最大 2048 字节,空消息合法
- > 256 且 <= 2048 字节:使用 EXTERNAL_MU
- > 2048 字节:拒绝
【算法】algorithm 支持 ML-DSA-44 / ML-DSA-65(默认)/ ML-DSA-87。
【参数】
- private_key_in_hex:ml_dsa_keygen 返回的私钥 hex
- public_key_spki_in_hex:EXTERNAL_MU 模式必填,ml_dsa_keygen 返回的公钥 hex(SPKI DER)
- message_in_hex:待签消息 hex
- context_in_hex:可选上下文 hex(最大 255 字节)
- sign_mode:RAW 或 EXTERNAL_MU(默认 RAW)
【输出】signature_in_hex、signature_in_base64、algorithm、message_bytes、signature_bytes。
Connector