Signal协议中IK、SPK等各类密钥对应的比特/字节长度是多少
Signal协议指定密钥长度说明
以下长度均为Signal官方标准实现(基于Curve25519系列加密算法)的默认值:
- 身份密钥(IK):为X25519密钥对,公钥、私钥长度均为32字节(256比特);若采用Ed25519作为身份签名密钥的实现方案,公私钥长度同样为32字节。
- 签名预密钥(SPK):与IK算法一致,为X25519密钥对,公钥、私钥长度均为32字节(256比特)。
- 预密钥签名
Sig(IK, Encode(SPK)):采用Ed25519签名算法生成,固定长度为64字节(512比特)。 - 一次性预密钥(OPK):为X25519密钥对,单把OPK的公钥、私钥长度均为32字节(256比特)。
补充说明:若你使用P-256椭圆曲线做兼容实现,对应非压缩公钥长度为64字节、压缩公钥长度为33字节,私钥长度为32字节,ECDSA签名长度为64字节,该方案不属于Signal官方推荐的默认实现。
内容的提问来源于stack exchange,提问作者chatzo-app
相关产品推荐
相关产品推荐

