2021SC@SDUSC
一、相关数学基础
SM2是椭圆曲线算法,所以要先学习相关基础数学知识
N.Koblitz和V.Miller在1985年各自独立地提出将椭圆曲线应用于公钥密码系统。椭圆曲线公钥密码 所基于的曲线性质如下:
──有限域上椭圆曲线在点加运算下构成有限交换群,且其阶与基域规模相近;
──类似于有限域乘法群中的乘幂运算,椭圆曲线多倍点运算构成一个单向函数。
1.参数
p:大于3的素数。
q:有限域Fq中元素的数目。
m:二元扩域F2 m关于F2的扩张次数。
2.基础概念
由于
1.实数域上的椭圆曲线是连续的,有无限个点,密码学要求有限点。
2.实数域上的椭圆曲线的运算有误差,不精确。密码学要求精确。
所以需要引入有限域内的圆锥曲线
有限域:Fq的描述及其元素的表示,q是一个奇素数或者是2的方幂。当q是奇素数p时,要 求p > 2 191;当q是2的方幂2 m时,要求m > 192且为素数。
素域Fp: 当q是奇素数p时,素域Fp中的元素用整数0,1,2,··· , p−1表示。
a) 加法单位元是整数0;
b) 乘法单位元是整数1;
c) 域元素的加法是整数的模p加法,即若,则
;
d) 域元素的乘法是整数的模p乘法,即若,则
。
二元扩域: