最新13椭圆曲线密码体系

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

ECC上的密码

ECC上的离散对数问题
在ECC构成的交换群Ep(a,b)上考虑方程Q=kP,
P,Q∈Ep(a,b),k<p.由k和P求Q容易,由P,Q求k则 是困难的。

由ECC上离散对数问题可以构造DiffieHellman密钥交换和Elgamal密码体制
Diffie-Hellman密钥交换
椭圆曲线(ECC)密 码体制
Elliptic Curve Cryptography
概述
获得同样的安全性,密钥长度较RSA短得多 被IEEE公钥密码标准P1363采用

椭圆曲线
椭圆曲线的曲线方程是以下形式的三次方程 y2+axy+by=x3+cx2+dx+e a,b,c,d,e是满足某些简单条件的实数。定义中包含一个称为 无穷远点的元素,记为O.

有限域上的椭圆曲线点集产生方 法


对每一x(0≤x<p且x为整数),计算x3+ax+b
mod p 决定求出的值在模p下是否有平方根,如果没有则 椭圆曲线上没有与这一x对应的点;如果有,则求 出两个平方根。
Ep(a,b)上加法

如果P,Q∈ Ep(a,b)
P+O=P 如果P=(x,y),则(x,y)+(x,-y)=O
l
7 10 3 1 22 11 mod23 93 6 2 2 x3 112 3 9 109 17 mod23 y3 11(3 17) 10 164 20 mod23
P Q (17,20) E23 (1,1) 3 32 1 5 1 2P : l 6 mod23 2 10 20 4 x3 6 2 3 3 30 7 mod23 y3 6(3 7) 10 34 12 mod23 2 P (7,12)
P=(x1,y1),Q= (x2,y2),P≠-Q,P+Q= (x3,y3)
x3=l2-x1-x2(mod p) y3=l(x1-x3)-y1 (mod p)
y2 y1 x2 x1 l 2 3 x1 a 2 y1 PQ PQ
例:E23(1,1)

P=(3,10),Q(=9,7)

椭圆曲线加法的定义

如果其上的3个点位于同一直线上,那么它们 的和为O。
O为加法单位元,即对ECC上任一点P,有P+O=P 设P1=(x,y)是ECC上一点,加法逆元定义为P2=-
P1=(x,-y)
P1,P2连线延长到无穷远,得到ECC上另一点O,即
P1,P2,O三点共线,所以P1+P2+O=O, P1+P2=O, P2=P1 O+O=O,O=-O
椭圆曲线加法的定义
Q,R是ECC上x坐标不同的两点,Q+R定义为:画
一条通过Q,R的直线与ECC交于P1(交点是唯一的, 除非做的Q,R点的切线,此时分别取P1=Q或 P1=R)。由Q+R+P1=O,得Q+R=-P1 点Q的倍数定义如下:在Q点做ECC的一条切线, 设切线与ECC交于S,定义2Q=Q+Q=-S。类似可 定义3Q=Q+Q+Q,…, 上述加法满足加法的一般性质,如交换律、结合 律等

攻击者如想获得K,必须由PA和G求出nA或PB和G求 出nB
Elgamal密码体制

密钥产生过程


mod p, (y,g,p)为公钥,x为秘密钥 加密过程 M是发送明文组,选择随机数k,且(k,p-1)=1,计 算: C1=g k mod p (随机数k被加密) C2=Myk mod p(明文被随机数k和公钥加密) 密文由C1、C2级连构成,即密文C=C1||C2。 解密过程 M=C2/C1x=My k/gkx=Mgxk/gkx mod p
公钥ห้องสมุดไป่ตู้码
椭圆曲线(ECC)密码体制
回顾:RSA算法
RSA的安全性
|p-q|要大 p-1,q-1都应有大的素因子。 e<n且d<n1/4,则d能被容易的确定。

对RSA的攻击-共模攻击


每一用户有相同的模数n 设用户的公开密钥分别为e1,e2,且e1,e2互素,明 文消息为m,密文为 c1 m e1 mod n
有限域上的椭圆曲线

曲线方程中的所有系数都是某一有限域GF(p)中的元素 (p为一大素数),最为常用的曲线方程为 y2=x3+ax+b mod(p) (a,b∈GF(p),4a3+27b2≠0 mod p) 例:p=23,a=b=1, 4a3+27b2=8 ≠0 (mod23),方程为 y2=x3+x+1 mod(p),图形为连续图形。我们感兴趣的 是在第一象限的整数点。设Ep(a,b)表示ECC上点集 {(x,y)|0≤x<p,0 ≤y<p,且x,y均为整数}并上O.

c2 m e2 mod n 因为(e1,e2)=1,用欧几里德算法可求 r e1+s e2=1 假定r为负数,从而可知由Euclidean算法可计算 (c1-1)r c2s=m mod n
对RSA的攻击-低指数攻击
令网中三用户的加密钥 e 均选 3 ,而有不同的模 n1, n2, n3,若有一用户将消息x传给三个用户的密文 分别为 y1=x 3 mod n1 x< n1
y2=x 3 mod n2 x< n2 y3=x 3 mod n3 x< n3 一般选n1, n2, n3互素(否则,可求出公因子,而 降低安全性),利用中国余定理,可从y1, y2, y3 求出 y=x 3 mod (n1 3ny n3x )。 由x<n1, x<n2, 2 x<n3,可得x3< n1 n2, n3,故有

取一素数p≈2180,两个参数a,b,得到Ep(a,b). 取Ep(a,b)的一个生成元G(x1,y1),要求G的阶是一个非 常大的素数。(阶是满足nG=O的最小正整数n). Ep(a,b)和G公开,A和B密钥交换过程如下
A选小于n的整数nA作为秘密钥,并有PA=nAG作为公钥 B类似选取自己的秘密钥nB和公开钥PB A和B分别由K=nAPB和K=nBPA产生共享的秘密钥
相关文档
最新文档