SM2国密公钥格式开头04

公钥格式

公钥有两大种表示,通常是压缩或未压缩

1.未压缩公钥

通常以前缀04开头,后跟两个256位数字;一个用于点的x坐标,另一个用于点的y坐标。前缀04用于区分未压缩的公共密钥和以02或03开头的压缩公共密钥
即04||x||y

2.压缩公钥

y2 mod p =(x3 + 7)mod p
因为方程式的左侧是y2,所以y的解是平方根,它可以具有正值或负值。所得的y坐标可以在x轴之上或之下。因为该曲线是对称的,所以它在x轴上像镜子一样反射。因此,我们必须存储y的符号(正数或负数);因为每个选项代表一个不同的点和一个不同的公钥。在素数为p的有限域上用二进制算术计算椭圆曲线时,y坐标为偶数或奇数,对应于前面所述的正/负号。所以为了区分y的两个可能值,如果y为偶数,则存储压缩的公钥,前缀为02,如果奇数为03,则允许软件从x坐标正确推断出y坐标,然后解压缩指向该点的完整坐标的公钥。

参考资料:
比特币的加密算法原理

上一篇:c-在qt应用程序内部执行qt应用程序


下一篇:GMSSL :SM2椭圆曲线公钥密码算法-密钥交换协议