对于加密身份验证,我在曲线secp521r1上使用ECDSA签名。有一个哈希函数参数,由于曲线是521位,哈希输出长度应该是> 512位,这是标准SHA-2散列的最高输出。
但是,在SHA-3规范中,cSHAKE函数允许可变长度的输出,因此建议使用输出长度为521
发布于 2019-11-05 19:09:47
哈希输出长度不需要大于512位;ECDSA规范可以处理任意长度。曲线secp521r1通常被认为提供了256位的安全性(尽管它提供了更多的安全性),例如,请参见NIST SP 800-57的表2。因此,512位散列(即SHA-512 )应该是可以的(“所使用的散列函数的安全强度应满足或超过与n的比特长度相关的安全强度”,NIST FIPS 186-4)。
关于cSHAKE (您可能指的是握手;cSHAKE是它的可定制变量,用于定义KMAC和TupleHash),您可以使用任何等于或大于512位的输出。NIST FIPS 186-5草案命令SHAKE256输出512个比特。
https://crypto.stackexchange.com/questions/75544
复制相似问题