椭圆曲线--给自己看

结合:http://8btc.com/article-138-1.htmlhttp://www.8btc.com/introductionhttps://www.cnblogs.com/Kalafinaian/p/7392505.html

关于椭圆曲线公式
公式

已知P,Q两点
R=P+Q,求R
这里写图片描述

1.若P=Q
这里写图片描述

2.若P!=Q
这里写图片描述

直线斜率
这里写图片描述
那么根据带入椭圆曲线中求点R坐标(xR’,yR’)(R点经过对称坐标为(xR’,-yR’))
根据三元方程中,当三次项系数为1时(有x1.x2.x3 三个解),常数项系数为 -x1x2x3,一次项系数为 x1x2+x2x3+x3x1,二次项系数为-(x1+x2+x3)。
于是得出:这里写图片描述


密码学的应用

椭圆曲线是连续的,并不适合用于加密;所以,我们必须把椭圆曲线变成离散的点,我们要把椭圆曲线定义在有限域上。
我们给出一个有限域Fp

Fp中有p(p为质数)个元素0,1,2,…, p-2,p-1

Fp的加法是a+b≡c(mod p)

Fp的乘法是a×b≡c(mod p)

Fp的除法是a÷b≡c(mod p),即 a×b^(-1)≡c (mod p),b-1也是一个0到p-1之间的整数,但满足b×b-1≡1 (mod p)

Fp的单位元是1,零元是 0

Fp域内运算满足交换律、结合律、分配律
例题:椭圆曲线已知E23(1,1)上两点P(3,10),Q(9,7),求(1)-P,(2)P+Q,(3) 2P
这里写图片描述
考虑K=kG ,其中K、G为椭圆曲线Ep(a,b)上的点,n为G的阶(nG=O∞ ),k为小于n的整数。则给定k和G,根据加法法则,计算K很容易但反过来,给定K和G,求k就非常困难。因为实际使用中的ECC原则上把p取得相当大,n也相当大,要把n个解点逐一算出来列成上表是不可能的。这就是椭圆曲线加密算法的数学依据
点G称为基点(base point)k(k 小于n)为私有密钥(privte key)K为公开密钥(public key)
ECC保密通信算法
1.Alice选定一条椭圆曲线E,并取椭圆曲线上一点作为基点G 假设选定E29(4,20),基点G(13,23) , 基点G的阶数n=37

2.Alice选择一个私有密钥k(k小于n),并生成公开密钥K=kG 比如25, K= kG = 25G = (14,6)

3.Alice将E和点K、G传给Bob

4.Bob收到信息后,将待传输的明文编码到上的一点M(编码方法略),并产生一个随机整数r(r小于n,n为G的阶数) 假设r=6 要加密的信息为3,因为M也要在E29(4,20) 所以M=(3,28)

5.Bob计算点C1=M+rK和C2=rG C1= M+6K= M+6*25*G=M+2G=(3,28)+(27,27)=(6,12) C2=6G=(5,7)

6.Bob将C1、C2传给Alice

7.Alice收到信息后,计算C1-kC2,结果就应该是点M C1-kC2 =(6,12)-25C2 =(6,12)-25*6G =(6,12)-2G =(6,12)-(27,27) =(6,12)+(27,2) =(3,28)

数学原来上能解密是因为:C1-kC2=M+rK-krG=M+rkG-krG-M

ECC技术要求
通常将Fp上的一条椭圆曲线描述为T=(p,a,b,G,n,h)p、a、b确定一条椭圆曲线(p为质数,(mod p)运算)G为基点,n为点G的阶,h是椭圆曲线上所有点的个数m与n相除的商的整数部分

参量选择要求:

p越大安全性越好,但会导致计算速度变慢
200-bit左右可满足一般安全要求
n应为质数
h≤4;p≠n×h ;pt≠1(mod n) (1≤t<20)
4a3+27b2≠0 (mod p)
ECC vs. RSA - 优缺点
优点

安全性能更高

160位ECC与1024位RSA、DSA有相同的安全强度

处理速度更快

在私钥的处理速度上,ECC远 比RSA、DSA快得多

带宽要求更低

存储空间更小

ECC的密钥尺寸和系统参数与RSA、DSA相比要小得多

缺点

设计困难,实现复杂

如果序列号设计过短,那么安全性并没有想象中的完善

  • 4
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值