记录下椭圆曲线密码学的几个概念;
一、名字由来
二、定义
三、求解椭圆曲线上的点集
四、椭圆曲线的加法法则
形象的来说(存疑?):
任意取椭圆曲线上两点P、Q(若P、Q两点重合,则作P点的切线),作直线交于椭圆曲线的另一点R’,过R’做y轴的平行线交于R,定义P+Q=R。
五、椭圆曲线离散对数问题
椭圆曲线上的两个点P和Q,k为整数,Q=kP;
- 点P称为基点(base point)
- k为私有**(private key)
- Q为公开**(public key)
六、椭圆曲线加解密
1、用户A选定一条椭圆曲线Ep(a,b),并取椭圆曲线上一点,作为基点G。
2、用户A选择一个私有**k,并生成公开**K=kG。
3、用户A将Ep(a,b)和点K,G传给用户B。
4、用户B接到信息后 ,将待传输的明文编码到Ep(a,b)上一点M(编码方法很多,这里不作讨论),并产生一个随机整数r(r<n)。
5、用户B计算点C1=M+rK;C2=rG。
6、用户B将C1、C2传给用户A。
7、用户A接到信息后,计算C1-kC2,结果就是点M。因为 C1-kC2=M+rK-k(rG)=M+rK-r(kG)=M;再对点M进行解码就可以得到明文。