ML-DSA Certificate-Chain Byte Budget
估算 ML-DSA 密钥和签名对 certificate chain 的原始字节贡献,再加上用户测量的 DER/TLS 开销并与字节预算比较。这是字节算术工具,不是证书编码器或 TLS 握手模拟器。
结果
预计链字节数
ML-DSA 密钥与签名原始字节数
预算余量(负数表示超出预算)
预算使用比例
每个公钥的大小
每个签名的大小
使用方法 工具
- 选择所计数密钥和签名使用的 ML-DSA 参数集。
- 输入传输链中 ML-DSA 公钥及证书签名的数量。
- 输入其他证书和 DER/TLS 封装的字节数,并设置要满足的链预算。
- 比较预计链字节数和预算余量;要获得精确结果,请测量编码后的链。
假设条件
- FIPS 204 原始大小为:ML-DSA-44 公钥 1,312 字节/签名 2,420 字节;ML-DSA-65 为 1,952/3,309 字节;ML-DSA-87 为 2,592/4,627 字节。
- 不会自动添加 DER 标签和长度、算法标识符、证书名称/扩展、其他算法或 TLS 封装;请计入 otherChainBytes 或测量实际编码链。
- 不假设混合链中的每张证书或签名都使用 ML-DSA;只输入适用的数量。
来源与参考数据
技术细节:字段含义
- ML-DSA 参数集
parameterSet - FIPS 204 ML-DSA 参数集;公钥和签名大小按标准集合中的对应值选取。
- ML-DSA public keys in certificate chain
publicKeyCount - 传输链中携带 ML-DSA 公钥的证书数量。
- ML-DSA signatures in certificate chain
signatureCount - 传输链中使用 ML-DSA 的证书签名数量。
- 其他 certificate chain 字节数(DER/TLS 开销)
otherChainBytes - 证书字段、DER 标签/长度、算法、名称、扩展及 TLS 封装的实测或估算字节数;不包括上方计入的 ML-DSA 原始密钥/签名字节。
- Certificate chain 字节预算
chainBudgetBytes - 用于比较的字节上限,例如本地握手、代理或协议预算。
方法说明
ML-DSA 原始字节数 = 公钥数 × 公钥大小 + 签名数 × 签名大小。预计链字节数 = ML-DSA 原始字节数 + 其他证书链字节数。预算余量 = 预算 − 预计字节数;预算使用比例 = 预计字节数 ÷ 预算 × 100。
计算示例
链中有三个 ML-DSA-65 公钥和签名
输入项: ML-DSA 参数集: ML-DSA-65, ML-DSA public keys in certificate chain: 3 keys, ML-DSA signatures in certificate chain: 3 signatures, 其他 certificate chain 字节数(DER/TLS 开销): 8000 bytes, Certificate chain 字节预算: 16384 bytes
结果: ML-DSA 原始材料为 15,783 字节;预计链大小为 23,783 字节。余量为 -7,399 字节,因此该估算占所填预算的 145.2%。
实用指南
- 选择准确的 ML-DSA 参数集,并统计实际传输链中的公钥和签名;并非所有对端都会发送根证书。
- 生产预算应测量 DER 编码证书及捕获的 TLS Certificate 消息;原始密码学元素大小只是线上数据的一部分。
常见错误
- 只统计签名,遗漏证书携带的公钥。
- 把 FIPS 204 原始密钥/签名大小当成完整 DER 证书链或 TLS 握手大小。
常见问题
它会计算完整的 TLS Certificate 消息吗?
不会。它将原始 ML-DSA 密钥/签名大小与用户提供的开销相加,不编码证书或 TLS 封装。
为什么公钥和签名要分开计数?
链可能由不同算法组成:有些证书使用 ML-DSA 密钥,另一些使用其他算法。请按待估算链的实际情况输入数量。
上次审核: 2026-10-18
这是基于固定 FIPS 204 元素大小和用户输入开销的估算;不会解析 X.509、执行 DER 证书编码、模拟 TLS 协商或预测特定服务器的链行为。
此工具 根据上述假设提供参考估算值。
主题和工具偏好设置,以及已保存和最近使用的列表仅存储在此浏览器中。