一、椭圆曲线密码算法浅见
椭圆曲线:是一类二元多项式方程,它的解构成一个椭圆曲线。
有限域上的椭圆曲线:椭圆曲线上的解不是连续的,而是离散的,解的值满足有限域的限制。有限域有两种,Fp和F2m(不解释,想要了解的看客请阅读相关标准)。
Fp :一个素整数的集合,最大值为P-1,集合中的值都是素数,里面元素满足以下模运算: a+b=(a+b) mod p 和 a*b=(a*b) mod p。
椭圆曲线参数:定义一条唯一的椭圆曲线。介绍其中两个参数G(基点)和n(阶)。G点(xG, yG)是椭圆曲线上的基点, 有限域椭圆曲线上所有其他的点都可以通过G点的倍乘运算计算得到,即P=[d]G, d也是属于有限域,d的最大值为素数n。
SM2:有限域Fp上的一条椭圆曲线,其椭圆曲线参数是固定值。
加密的依据:P=[d]G,G是已知的,通过d计算P点很容易,但是通过P点倒推d是计算上难以实现的,因此,以d为私钥,P点(XP, YP)为公钥。
二、SM2加密算法