第4章 节 公钥密码 现代密码学教案.ppt

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

密码中普遍采用的是有限域上的椭圆曲线,有限域上的椭圆曲线是指曲线方程定义式(4.1)中,所有系数都是某一有限域GF(p)中的元素(其中p为一大素数)。其中最为常用的是由方程 y2≡x3+ax+b(mod p) (a,b∈GF(p),4a3+27b2(mod p)≠0) (4.2) 定义的曲线。 4.6.2 有限域上的椭圆曲线 例4.12 p=23,a=b=1,4a3+27b2(mod 23)≡8≠0 ,方程(4.2)为y2≡x3+x+1,其图形是连续曲线,由图4.4(b)所示。然而我们感兴趣的是曲线在第一象限中的整数点。设Ep(a,b)表示方程(4.2)所定义的椭圆曲线上的点集{(x,y)|0≤xp,0≤yp,且x,y均为整数}并上无穷远点O。本例中E23(1,1)由表4.6给出,表中未给出O。(见106页表4.6) 一般来说,Ep(a,b)由以下方式产生: ① 对每一x(0≤xp且x为整数),计算x3+ax+b(mod p)。 ② 决定①中求得的值在模p下是否有平方根,如果没有,则曲线上没有与这一x相对应的点;如果有,则求出两个平方根(y=0 时只有一个平方根)。 Ep(a,b)上的加法定义如下: 设P,Q∈Ep(a,b),则 ① P+O=P。 ② 如果P=(x,y),那么(x, y)+(x, -y)=O,即 (x, -y)是P的加法逆元,表示为-P。 由Ep(a,b)的产生方式知,-P也是Ep(a,b)中的点,如上例,P=(13,7)∈E23(1,1),-P=(13, -7),而-7 mod 23≡16,所以-P=(13, 16),也在E23(1,1)中。 ③ 设P=(x1,y1),Q=(x2,y2),P≠-Q,则P+Q=(x3,y3)由以下规则确定: x3≡λ2-x1-x2(mod p) y3≡λ(x1-x3)-y1(mod p) 其中 例4.13 仍以E23(1,1)为例,设P=(3,10),Q=(9,7),则 所以P+Q=(17,20),仍为E23(1,1)中的点。 若求2P则 所以2P=(7,12)。 倍点运算仍定义为重复加法,如4P=P+P+P+P。 从例4.13看出,加法运算在E23(1,1)中是封闭的,且能验证还满足交换律。对一般的Ep(a,b),可证其上的加法运算是封闭的、满足交换律,同样还能证明其上的加法逆元运算也是封闭的,所以Ep(a,b)是一个Abel群。 为使用椭圆曲线构造密码体制,需要找出椭圆曲线上的数学困难问题。 在椭圆曲线构成的Abel群Ep(a,b)上考虑方程Q=kP,其中P,Q∈Ep(a,b),kp,则由k和P易求Q,但由P、Q求k则是困难的,这就是椭圆曲线上的离散对数问题,可应用于公钥密码体制。Diffie-Hellman密钥交换和ElGamal密码体制是基于有限域上离散对数问题的公钥体制,下面考虑如何用椭圆曲线来实现这两种密码体制。 4.6.3 椭圆曲线上的密码 1. DiffieHellman密钥交换 首先取一素数p≈2180和两个参数a、b,则得方程(4.2)表达的椭圆曲线及其上面的点构成的Abel群Ep(a,b)。第2步,取Ep(a,b)的一个生成元G(x1,y1),要求G的阶是一个非常大的素数,G的阶是满足nG=O的最小正整数n。Ep(a,b)和G作为公开参数。 两用户A和B之间的密钥交换如下进行: ① A选一小于n的整数nA,作为秘密钥,并由PA=nAG产生Ep(a,b)上的一点作为公开钥。 ② B类似地选取自己的秘密钥nB和公开钥PB。 ③ A、B分别由K=nAPB和K=nBPA产生出双方共享的秘密钥。 这是因为K=nAPB=nA(nBG)=nB(nAG)=nBPA。 攻击者若想获取K,则必须由PA和G求出nA,或由PB和G求出nB,即需要求椭圆曲线上的离散对数,因此是不可行的。 例4.14 p=211,Ep(0,-4),即椭圆曲线为y2≡x3-4,G=(2,2)是E211(0,-4)的阶为241的一个生成元,即241G=O。A的秘密钥取为nA=121,公开钥为PA=121(2,2)=(115,48)。B的秘密钥取为nB=203,公开钥为PB=203(2,2)=(130,203)。由此得到的共享密钥为121(130,203)=203(115,48)=(161,169),即共享密钥是一对数。如果将这一密钥用作单钥加密的会话密钥,则可简单地取其中的一个,如取x坐标,或取x坐标的某一简单函数。 2. ElGamal密码体制 (1) ElGamal密码体制的原理 密钥产生过程: 首先选择一素数p以及两个小于p的随机数g和x,计算y≡gx mod p。以(y, g, p)作为公开密钥,x作为秘密密钥。 加密过程: 设欲加密明文消息M,随

文档评论(0)

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

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

1亿VIP精品文档

相关文档