
Se han identificado problemas en la verificación de firmas ECDSA y EDDSA en el proyecto Wycheproof. Las comprobaciones ausentes durante la etapa de decodificación de firmas permiten agregar o eliminar bytes cero, lo que afecta la capacidad de envío de correos.
在 Wycheproof 项目中发现了 ECDSA 和 EDDSA 签名验证的问题。签名解码阶段缺少检查,允许添加或删除零字节,这影响了邮件的发送能力。本次对 signature.js 文件的更新通过验证签名长度解决了这些问题。
git clone https://github.com/tu_usuario/tu_repositorio.git
// EDDSA 签名验证 var msg = '54657374'; var sig = '7c38e026f29e14aabd059a0f2db8b0cd783040609a8be684db12f82a27774ab07a9155711ecfaf7f99f277bad0c6ae7e39d4eef676573336a5c51eb6f946b30d00'; console.log(key.verify(msg, sig));
// ECDSA 签名验证 var hash = require('hash.js'); var toArray = elliptic.utils.toArray; var hashMsg = hash.sha256().update(toArray(msg, 'hex')).digest(); var pubKey = ec.keyFromPublic('04b838ff44e5bc177bf21189d0766082fc9d843226887fc9760371100b7ee20a6ff0c9d75bfba7b31a6bca1974496eeb56de357071955d83c4b1badaa0b21832e9', 'hex'); console.log('Valid signature: ' + pubKey.verify(hashMsg, sig));