ml_dsa_verify
[pqc_signature] 使用 ML-DSA 公钥验证签名(FIPS 204)。 【双模式】sign_mode 支持 RAW(默认)和 EXTERNAL_MU 两种模式,必须与签名时使用的模式一致。
RAW 模式:直接验证原始消息签名(liboqs,最大 256 字节,空消息合法)
EXTERNAL_MU 模式:先计算 mu,再通过 OpenSSL 3.5+ mu 模式验签,可验证 AWS KMS EXTERNAL_MU 签名(最大 2048 字节,空消息合法) 【算法】algorithm 支持 ML-DSA-44 / ML-DSA-65(默认)/ ML-DSA-87。 【参数】
public_key_spki_in_hex:公钥 hex(SPKI DER 或裸公钥均可),并校验 OID/长度与 algorithm 一致
message_in_hex:原始消息 hex,空字符串表示空消息
signature_in_hex:签名 hex
context_in_hex:签名时使用的 context(必须一致)
sign_mode:RAW 或 EXTERNAL_MU(默认 RAW) 【输出】verified(bool,True=验签通过)、algorithm、message_bytes。
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| algorithm | No | 密码算法名称(具体可选值因工具而异,见工具描述) | ML-DSA-65 |
| sign_mode | No | ML-DSA 签名模式,可选值:RAW(默认,直接签名原文)/ EXTERNAL_MU(先计算 mu 再签名,与 AWS KMS 语义等价) | RAW |
| context_in_hex | No | ML-DSA 上下文的十六进制字符串(可选,最大 255 字节) | |
| message_in_hex | No | 消息的十六进制字符串(空字符串表示空消息) | |
| signature_in_hex | No | 签名的十六进制字符串 | |
| public_key_spki_in_hex | No | ML-DSA 公钥的十六进制字符串(SPKI DER 或裸公钥均可) |