




已阅读5页,还剩19页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
椭圆曲线密码(ECC)体制,一般椭圆曲线 有限域上的椭圆曲线 椭圆曲线密码算法 椭圆曲线密码体制的安全性,ELGamal密码体制能够在任何离散对数难处理的有限群中实现。我们已经使用了乘法群Zp*,但其他群也是合适的候选者,如椭圆曲线群。 椭圆曲线在代数学和几何学上已广泛研究了150多年之久,有丰富而深厚的理论积累。椭圆曲线密码体制(Ellipse Curve Cryptosystem,ECC)在l 985年由Koblitz和Miller提出,不过一直没有像RSA等密码系统一样受到重视。纵观目前的发展趋势,椭圆曲线已经逐渐被采用,很可能是一个重要的发展方向。,椭圆曲线并非椭圆,这么命名是因为它们是由三次方程描述的,而这些三次方程类似于计算椭圆周长的方程。一般的,描述椭圆曲线方程的形式是 y2 + axy + by = x3 + cx2 + dx + e 其中a、b、c、d和e是满足一些简单条件的实数 一般来说,椭圆曲线还包含了一个特殊的点,即称为无穷远点(Point at Infinity)或零点(Zero Point)的O。,4.4.1 一般椭圆曲线,对于椭圆曲线上的点可以定义一种形式的加法:如果一个椭圆曲线上的三个点处于一条直线上,那么它们的和为O。从这个定义可以导出椭圆曲线上点的加法法则。 (1) O是加法的单位元,因而OO;对于椭圆曲线上的任何一点P,有P+OP。 (2) 一条与x轴垂直的线和曲线相交于两个x坐标相同的点P1=(x,y)和P2(x,y),同时它也和曲线相交于无穷远点,因此P1+P2+OO。因而一个点的负值是与其有着相同x坐标和相反的y坐标的点,如图4.1(a)所示。,(3)要对具有不同x坐标的两个点Q与R进行相加,先在它们之间画一条直线并求出第三个交点P1。容易看出这种交点是惟一的。 注意到Q+R+P1O,有Q+RP。 特别地,当Q=R时,相当于对一个点Q加倍,只需画出一条切线并求出另一个交点S,那么Q+Q=2Q=S。 显然,根据定义,此类加法满足交换率和结合率.而一个点的倍乘定义为 nPP+P+P+P,4.4.2 有限域上的椭圆曲线,密码学中关心的是有限域F上的椭园曲线。讨论比较多的是素域Fp上的椭圆曲线,这里P是一个素数。选择两个小于P的非负整数a和b满足 4a3 + 27b2 (mod p) 0 用Ep(a,b)表示如下模p的椭圆群中的点(或如下有限域Fp上的椭圆曲线的点),再加上一个无穷远点O。 设(x,y)是Ep(a,b)中的点,x和y是小于p的非负整数,则有如下椭圆曲线方程: y2 x3 + ax + b (mod p),如取p23,a=b=l,有 4*13 + 27 * 12 (mod 23 ) 8 0, 则y2=x3 + x +1 是椭圆曲线。因此E23(1,1)是一个模23的椭圆群。产生E23 (1,1)是中点的过程如下: (1) 对x=0,1,2,p-1, 计算x3 + x +1 (mod p); (2)对于上一步骤得到的每个结果确定它是否有一个模P的平方根,如果没有,则E23 (1,1)中没有具有与该结果相应的x坐标的点。如果有,就有两个平方根y和py,从而点(x,y)和(x,py)是E23 (1,1)中的点(特别情况下,如果结果是0,只有一个点(x,0)。,椭圆曲线E23(1,1)上的点,Ep(a,b)上的加法规则,P十OP; 如果P(x , y),则P + ( x , y) =O,点(x,y)是P的加法逆元,记为 P; 如果P(x1,y1),Q(x2,y2),并且PQ,则P + Q = (x3,y3)由下列规则确定: x32 x1 x2 ( mod p ) y3 ( x1 x3) y1 (mod p ) 其中: (y2-y1)/(x2x1) 如果PQ = (3x12a)/2y1 如果 P=Q,例子:,考虑P=(3,10) , Q=(9,7) 则: =(710)/(93)=3/6=1/2=11 mod 23 x3=11239=109 17 mod 23 y3=11(3(6)10=89 =20 mod 23 因而P+Q=(17,20). 计算2P: =(3(32)+1)/(2*10)=5/20=1/4=6 mod 23 x3=6233=30=7 mod 23 y3=6(37)10=34= 12 mod 23 因此 2P=(7,12),椭圆曲线群中的离散对数也属于难解问题。与通常理解的对数概念不同,由于椭圆曲线群中的运算是加法,加法的倍数对应于原来乘法的指数,因而椭圆曲线群中的离散对数问题是指已知群中的Q和R,求解方程: RkQ 中k值的问题。,对基于F23的椭圆群y2x3 + 9x + 17,求R=(4,5)对于Q=(16,5)的离散对数,最直接的方法就是计算Q的倍数,直到找到R。 Q(16,5),2Q=(20,20),3Q(14,14), 4Q=(19,20),5Q(13,10), 6Q(7,3), 7Q(8,7),8Q(12,17),9Q(4,5) 因此k关于Q的离散对数是9,对于大素数构成的群Fp,这样计算离散对数是不现实的,事实上现在也没有更好的(非指数级的)算法来解离散对数问题。,4.4.3 椭圆曲线密码算法,基于上面讲的椭圆群上的离散对数问题,可以用椭圆曲线密码(ECC)算法加密,具体方法如下: 首先选择个点G和一个椭圆群Ep(a,b)作为参数,用户A选择一个私有密钥nA并产生一个公开密钥PA=nAG。 发送者要加密并发送一个报义Pm给A,可选择一个随机整数k,并产生由如下点对组成的密文 Cm(kG,Pm+kPA)。 注意这里使用了A的公开密钥PA。要解密这个报文,A用这个点对的第一个点乘以A的私有密钥,再从第二个点中减去这个值 Pm + kPA nA (kG) =Pm + k(nAG) nA (kG) =Pm,发送者通过对Pm加上kPA来保护Pm。除了发送者之外没有人知道k的值,因此即便PA是公开密钥也没有人能去掉kPA,当然只有知道nA的人才可以去掉kPA。攻击者在不知道nA的情况下要想得到报文只能在知道G和kG的情况下计算出k,这归结为求解椭圆曲线离散对数问题,是非常困难的。,1、用户A选定一条椭圆曲线Ep(a,b),并取椭圆曲线上一点,作为基点G。 2、用户A选择一个私有密钥nA,并生成公开密钥PA=nAG。 3、用户A将Ep(a,b)和点PA,G传给用户B。 4、用户B接到信息后 ,将待传输的明文编码到Ep(a,b)上一点Pm ,并产生一个随机整数k(kn, n为基点G的阶)。 5、用户B计算点C1= Pm +kPA;C2=kG。 6、用户B将C1、C2传给用户A。 7、用户A接到信息后,计算C1-nAC2,结果就是点Pm 。因为 Pm + kPA nA (kG) =Pm + k(nAG) nA (kG) =Pm 再对点Pm进行解码就可以得到明文。,利用椭圆曲线进行加密通信的过程:,这个加密通信中,如果有一个偷窥者H ,他只能看到Ep(a,b)、 PA 、G、C1、C2 而通过K、G 求nA 或通过C2、G求k 都是相对困难的。因此,H无法得到A、B间传送的明文信息。,注意到以上的过程并没有说明怎样将作为字符串(当然可以看成分段的整数)的消息编码嵌入到椭圆群的点中(将明文嵌入椭圆曲线),实际中的转化方式多种多样,关键的步骤与其正确性证明都涉及到复杂的数学推导,可以参看相关文献。,4.4.4 椭圆曲线密码体制的安全性,椭圆曲线密码体制的安全性依赖于求解椭圆曲线离散对数问题的困难性,即已知椭圆曲线上的点P和kP计算k的困难程度。 下图比较了目前计算椭圆曲线对数和分解大数因子的难度。可以看出,与RSA相比,ECC可以用小得多的密钥取得与RSA相同的安全性。另外,在密钥大小相等时,ECC与RSA所需要的计算量相当。 因此,在安全性相当的情况下,使用ECC比使用RSA具有计算上的优势。两者都可以用于加解密、密钥交换和数字签名。,椭圆曲线和RSA安全性的比较,MIPS:,T=(p,a,b,G,n,h)。 (p 、a 、b 用来确定一条椭圆曲线,G为基点,n为点G的阶, h 是椭圆曲线上所有点的个数m与n相除的整数部分) 这几个参量取值的选择,直接影响了加密的安全性。参量值一般要求满足以下几个条件: 1、p 当然越大越安全,但越大,计算速度会变慢,200位左右可以满足一般安全要求; 2、pnh; 3、pt1 (mod n),1t20; 4、4a3+27b20 (mod p); 5、n 为素数; 6、h4。,密码学描述一条Fp上的椭圆曲线用到六个参量:,椭圆曲线在软件注册保护的应用,将公开密钥算法作为软件注册算法的好处是Cracker很难通过跟踪验证算法得到注册机。 软件作者按如下方法制作注册机(也称为签名过程) 1、选择一条椭圆曲线Ep(a,b),和基点G; 2、选择私有密钥nA(nAn,n为G的阶),利用基点G计算公开密钥PA=nAG; 3、产生一个随机整数k(kn),计算点R=kG; 4、将用户名和点R的坐标值x,y作为参数,计算SHA(Secure Hash Algorithm 安全散列算法,类似于MD5)值,即Hash=SHA(username,x,y); 5、计算snk Hash *nA (mod n) 6、将sn和Hash作为用户名username的序列号,软件验证过程如下: (软件中存有椭圆曲线Ep(a,b),和基点G,公开密钥PA) 1、从用户输入的序列号中,提取sn以及Hash; 2、计算点Rsn*G+Hash*PA ( mod p ),如果sn、Hash正确,其值等于软件作者签名过程中点R(x,y)的坐标,因为 snk-Hash*nA (mod n) 所以 sn*G + Hash*PA =(k-Hash*nA)*G+Hash*PA =kG-Hash*nAG+Hash*PA =kG- Hash*PA+ Hash*PA =kG=R ; 3、将用户名和点R的坐标值x,y作为参数,计算 H=SHA(username,x,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《自动化生产线的安装与调试》自测试题及答案
- 浙江省2025初级档案职称考试(档案工作实务)自测试题及答案
- 2025年基孔肯雅热培训考试题及答案
- 冬季安全教育考试试题及答案
- 2025年武汉信息传播职业技术学院招聘辅导员试题及答案
- 2025年生态园林景观修复及绿化养护服务合同
- 2025年水路运输企业船员及管理人员培训服务合同样本
- 2025年智能家居建材品牌代理销售合同范本
- 2025年素质教育特色课程开发与教师培训一体化服务协议
- 2025年度高端住宅区地下车库设施更新与全效维护服务合同
- 抗菌药物处方医师培训考核试题及答案
- 新时代班主任角色转型与实践案例
- 统编版二年级《语文》上册新教材解读课件
- 公务用车管理制度与车辆维护
- 专科医院介绍
- 医院二甲设备管理PDCA应用
- 江苏省苏州市2025年中考语文试卷(含答案解析)
- 电商直播模式下消费者农产品购买意愿影响因素研究-以赣南脐橙为例
- 开封产城融合投资集团有限公司招聘笔试题库2025
- 河南大学河南戏剧学院招聘考试真题2024
- 《无人机结构与系统(第2版)》全套教学课件
评论
0/150
提交评论