当您在openSSL中使用像P-256这样的命名曲线时,ECDH私钥有任何标准密钥大小吗?
如果您查看ec_key.c源代码中的openSSL文件,您会看到以下内容:
BN_rand_range(priv_key, order)这里产生一个密码强的随机数,它比顺序小。
发布于 2013-10-28 13:21:16
是的,P-256生成256位私钥(给定或接受一位).
这里的混乱之处在于,这个键是256位有效的(提供了128位的安全性),即使它从零位开始。因此,私钥是256位,即使表示为大整数可以小于请求的大小。这仅仅意味着正在使用完整的密钥空间。因此,整数的大端编码小一个字节的可能性相对较大(约为1/256)。但是,大多数库都需要使用整数到八进制字符串原语(I2OS或I2OSP)。这表示静态比特数中的私钥,例如上面的256位。
顺便说一句,RSA也是如此。总是期望数字以零比特的随机数开始,除非这是明确不可能的。当然,也要被警告不要签署/没有签名的陈述。
https://crypto.stackexchange.com/questions/11347
复制相似问题