《现代密码学原理与实践》课件第4章.ppt

《现代密码学原理与实践》课件第4章.ppt

  1. 1、本文档共149页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

【例13】在Z23上的椭圆曲线为y2=x3+12x+1,基点为P=(0,1),求循环阶。解:因为x2p=λ2-2x1=36mod23=13y2p=λ(x1-x2p)-y1=6(0-13)-1mod23=13所以2P=(13,13)。同样可以求得各个nP如表4.9所示。因为模23下15P=(0,22)=(0,-1),与P=(0,1)以横轴为对称,所以16P=15P⊕P=Φ(无穷远点),表明基点P=(0,1)的循环阶是n=16。表4.9Z23上的椭圆曲线y2=x3+12x+1的数乘循环数据4.7.6椭圆曲线上的密码系统1.ElGamal公钥体系1)系统参数设E是定义在Zp(p3的素数)上的椭圆曲线,令α∈E,由α生成的子群H满足离散对数计算复杂要求,计算β=aα,其中a可任选。则私有密钥为k2=a,公有密钥为k1=(α,β,p)。2)加密算法对于明文x,随机选取正整数k∈Zp-1,有Ek1(x,k)=(y1,y2)(4-73)其中:y1=kα,y2=x+kβ(4-74)3)解密算法解密算法为(y1,y2)=y2-ay1=x+kβ-akα=x+kaα-akα=x(4-75)这种思路与离散对数公钥系统十分相似。离散对数公钥系统是把一个数x与它的a次方y作为公钥,而把a作为私钥,利用的是计算离散对数的复杂性。此处是把椭圆上的一个点x与它的a倍的那个点y作为公钥,而把a作为私钥,利用的是计算椭圆除法的复杂性。根据这个相似性,人们也往往把椭圆曲线问题称为椭圆曲线离散对数。【例14】取椭圆曲线E为y2=x3+x+1mod23,试对明文x=(5,4)加密。并分析收到密文后如何解密。解:设α=(6,4),取a=3,有β=3α=(7,12)。若A想加密明文x=(5,4),则首先选取k=2,那么:y1=kα=(13,7)y2=x+kβ=(5,4)⊕2(7,12)=(5,4)⊕(17,3)=(5,19)所以密文为y=(y1,y2)=((13,7),(5,19))B收到密文后,解密如下:x=y2-ay1=(5,19)⊕[-3(13,7)]=(5,4)2.DiffieHellman椭圆公钥体系DiffieHellman最初以离散对数的方式实现了A与B的密钥交换问题。其实密钥交换问题也可以基于椭圆曲线实现,思路完全相同。A选椭圆曲线E上任意点P为公钥,再任选一个小于循环阶n的数值a,作为私钥秘密保管,计算aP,发给B;B选私钥b,计算bP,发给A。之后两人便有了公共的会话密钥abP:A通过计算a(bP)获得,B通过计算b(aP)获得。3.MasseyOmura椭圆公钥体系已知有限域GF(q),用户A选一加密密钥eA(0≤eA≤N),满足(eA,q-1),并求出模q-1的逆元dA,使eAdA=1mod(q-1)。同样,B选eB使(eB,q-1)=1,同时计算出逆元dB,使eBdB=1mod(q-1)。若A想给B发送消息m,应发送(相当于A给箱子上了一道锁)。B收到后,返还给A的是=c(相当于B给箱子再加上一道锁)。A收到c后,计算==(相当于A打开了自己的锁,但仍被B锁着)。之所以能这样做,是基于指数上的两个因子可以交换次序。B再收到后,计算=m,从而获得明文(相当于B打开了自己的锁)。这是基于RSA的算法。现将同样的思路在椭圆曲线上实现。设明文m嵌入E上的点Pm,E上的点数目N

文档评论(0)

酱酱 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档