第6章其它公钥密码体制1课件.ppt

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

四. 椭圆曲线密码体制的优点 与基于有限域上离散对数问题的公钥体制相比较,椭圆曲线密码体制有如下优点。 例6.10 p=11,a=1,b=6,4a3+27b2(mod 11)≠0 ,方程为y2≡x3+x+6。设Ep(a,b)表示方程(2)所定义的椭圆曲线上的点集{(x,y)|0≤xp,0≤yp,且x,y均为整数}并上无穷远点O。本例中E11(1,6)由表6-1给出,表中未给出O。(见169页表6-1) 一般来说, Ep(a,b)由以下方式产生: ① 对每一x(0≤xp且x为整数),计算x3+ax+b(mod p)。 ② 决定①中求得的值在模p下是否有平方根,如果没有,则曲线上没有与这一x相对应的点;如果有,则求出两个平方根(y=0 时只有一个平方根)。 在E上定义‘+’运算,P + Q = R,R是过P、Q的直线与曲线的另一交点关于x轴的对称点(如图6-1所示),当P = Q时R是P点的切线与曲线的另一交点关于x轴的对称点(如图6-1所示)。这样,( E, + )构成可换群( Abel群), O是加法单位元(零元)。 由椭圆曲线的方程可知,椭圆曲线关于x轴对称。 进一步可如下定义椭圆曲线上的加法律(加法法则): ① O为加法单位元,即对椭圆曲线上任一点P,有P+O=P。 ② 设P1=(x,y)是椭圆曲线上的一点,它的加法逆元定义为P2=-P1=(x, -y)。 这是因为P1、P2的连线延长到无穷远点时,得到椭圆曲线上的另一点O. 以上定义的加法具有加法运算的一般性质,如交换律、结合律等,我们下面可以推出这样定义的加法的代数计算公式. 设P=(x1,y1),Q=(x2,y2),P≠-Q,则通过代数方法可具体算出P+Q=(x3,y3),由以下规则确定: x3≡λ2-x1-x2(mod p) y3≡λ(x1-x3)-y1(mod p) 其中 例6.10 仍以E11(1,6)为例,设P=(2,7),Q=(5,2),则 所以P+Q=(8,3),仍为E11(1,6)中的点。 若求2P则 所以2P=(5,2)。 倍点运算仍定义为重复加法,如4P=P+P+P+P。 从例6.10看出,加法运算在E11(1,6)中是封闭的,且能验证还满足交换律。对一般的Ep(a,b),可证其上的加法运算是封闭的、满足交换律,同样还能证明其上的加法逆元运算也是封闭的,所以Ep(a,b)是一个Abel群。 设P=(x1,y1),Q=(x2,y2),P≠-Q= =(x2, y2 +a3), ,则通过代数方法可具体算出P+Q=(x3,y3),由以下规则确定: 采用这种加法定义,也可证明它为一个阿贝尔群. E(Fq)上的离散对数问题 为使用椭圆曲线构造密码体制,需要找出椭圆曲线上的数学困难问题。 在椭圆曲线构成的Abel群Ep(a,b)上考虑方程Q=kP,其中P,Q∈Ep(a,b),kp,则由k和P易求Q,但由P、Q求k则是困难的,这就是椭圆曲线上的离散对数问题,可应用于公钥密码体制。Massey-Omura体制和ElGamal密码体制是基于有限域上离散对数问题的公钥体制,下面考虑如何用椭圆曲线来实现这两种密码体制。 6.7E(Fq)中密码体制与明文嵌入方法 一. ElGamal密码体制 (1) ElGamal密码体制的原理 密钥产生过程: 首先选择一素数p以及两个小于p的随机数g和x,且g为模p的原根,计算y≡gx mod p。以(y, g, p)作为公开密钥,x作为秘密密钥。 加密过程: 设欲加密明文消息M,随机选一与p-1互素的整数k,计算C1≡gk mod p,C2≡ykM mod p,密文为C=(C1,C2)。 解密过程: 这是因为 (2) 利用椭圆曲线实现ElGamal密码体制 首先选取一条椭圆曲线,并得Ep(a,b),将明文消息m通过编码嵌入到曲线上得点Pm,再对点Pm做加密变换。后面对具体的编码方法做进一步介绍。 取Ep(a,b)的一个循环子群A的一个生成元G,Ep(a,b)和G作为公开参数。 用户A选nA作为秘密钥,并以PA=nAG作为公开钥。任一用户B若想向A发送消息Pm,可选取一随机正整数k,产生以下点对作为密文: Cm={kG,Pm+kPA} A解密时,以密文点对中的第二个点减去用自己的秘密钥与第一个点的倍乘,即 Pm+kPA-nAkG=Pm+k(nAG)-nAkG=Pm 攻击者若想由Cm得到Pm,就必须知道nA。而要得到nA,只有通过椭圆曲线上的两个已知点G和nAG,这意味着必须求椭圆曲线上的离散对数,因此不可行。 例 取p=751,Ep(-1,188),即椭圆曲线为y2≡x3-x+188,Ep(-1,188)的一个生成元是G=(0,376),A的公开钥为PA=(201,5)

文档评论(0)

开心农场 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档