椭圆曲线密码ppt课件.ppt

上传人:牧羊曲112 文档编号:2064195 上传时间:2023-01-06 格式:PPT 页数:48 大小:104KB
返回 下载 相关 举报
椭圆曲线密码ppt课件.ppt_第1页
第1页 / 共48页
椭圆曲线密码ppt课件.ppt_第2页
第2页 / 共48页
椭圆曲线密码ppt课件.ppt_第3页
第3页 / 共48页
椭圆曲线密码ppt课件.ppt_第4页
第4页 / 共48页
椭圆曲线密码ppt课件.ppt_第5页
第5页 / 共48页
点击查看更多>>
资源描述

《椭圆曲线密码ppt课件.ppt》由会员分享,可在线阅读,更多相关《椭圆曲线密码ppt课件.ppt(48页珍藏版)》请在三一办公上搜索。

1、密 码 学,(第九讲)公开密钥密码(2)张焕国武汉大学计算机学院,目 录,1、密码学的基本概念2、古典密码3、数据加密标准(DES)4、高级数据加密标准(AES)5、中国商用密码(SMS4)6、分组密码的应用技术7、序列密码8、习题课:复习对称密码9、公开密钥密码(1),目 录,10、公开密钥密码(2)11、数字签名(1)12、数字签名(2)13、HASH函数14、认证15、密钥管理16、PKI技术17、习题课:复习公钥密码18、总复习/检查:综合实验,一、ELGamal公钥密码的基本情况,1、基本情况:ELGamal密码是除了RSA密码之外最有代表性的公开密钥密码。RSA密码建立在大合数分解

2、的困难性之上。ELGamal密码建立在离散对数的困难性之上。,一、ELGamal公钥密码的基本情况,2、离散对数问题:设p为素数,则模p的剩余构成有限域:Fp=0,1,2,p-1Fp 的非零元构成循环群Fp*Fp*=1,2,p-1=,2,3,p-1,则称为Fp*的生成元或模 p 的本原元。求的摸幂运算为:y=x mod p,1xp-1,一、ELGamal公钥密码的基本情况,2、离散对数问题:求对数 X 的运算为 x=logy,1xp-1由于上述运算是定义在模p有限域上的,所以称为离散对数运算。从x计算y是容易的。可是从y计算x就困难得多,利用目前最好的算法,对于小心选择的p将至少需用O(p)次

3、以上的运算,只要p足够大,求解离散对数问题是相当困难的。,二、ELGamal公钥密码,准备:随机地选择一个大素数p,且要求p-1有大素数因子。再选择一个模p的本原元。将p和公开。密钥生成用户随机地选择一个整数d作为自己的秘密的解密钥,2dp-2。计算y=d mod p,取y为自己的公开的加密钥。由公开钥y 计算秘密钥d,必须求解离散对数,而这是极困难的。,二、ELGamal公钥密码,加密将明文消息M(0Mp-1)加密成密文的过程如下:随机地选取一个整数k,2kp-2。计算:U y k mod p;C1k mod p;C2UM mod p;取 C(C1,C2)作为的密文。,二、ELGamal公钥

4、密码,解密将密文(C1,C2)解密的过程如下:计算VC1 d mod p;计算MC2 V-1 mod p。,二、ELGamal公钥密码,解密的可还原性可证明如下:C2 V-1 mod p(UM)V-1 mod p UM(C1 d)-1 mod p UM(k)d)-1 mod p UM(d)k)-1 mod p UM(y)k)-1 mod p UM(U)-1 mod p M mod p,二、ELGamal公钥密码,安全性由于ELGamal密码的安全性建立在GF(p)离散对数的困难性之上,而目前尚无求解GF(p)离散对数的有效算法,所以在p足够大时ELGamal密码是安全的。为了安全p应为150位

5、以上的十进制数,而且p-1应有大素因子。为了安全加密和签名所使用的k必须是一次性的。d和k都不能太小。,二、ELGamal公钥密码,安全性如果 k不是一次性的,时间长了就可能被攻击着获得。又因y是公开密钥,攻击者自然知道。于是攻击者就可以根据Uy k mod p计算出U,进而利用Euclid算法求出U1。又因为攻击者可以获得密文C2,于是可根据式C2UM mod p通过计算U1C2得到明文M。设用同一个k加密两个不同的明文M和M,相应的密文为(C1,C2)和(C1,C2)。因为C2C2 MM,如果攻击者知道M,则很容易求出M。,二、ELGamal公钥密码,ELGamal密码的应用 由于ELGa

6、mal密码的安全性得到世界公认,所以得到广泛的应用。著名的美国数字签名标准DSS,采用了ELGamal密码的一种变形。为了适应不同的应用,人们在应用中总结出18种不同的ELGamal密码的变形。,二、ELGamal公钥密码,ELGamal密码的应用 加解密速度快由于实际应用时ELGamal密码运算的素数p比RSA要小,所以ELGamal密码的加解密速度比RSA稍快。随机数源由ELGamal密码的解密钥d和随机数k都应是高质量的随机数。因此,应用ELGamal密码需要一个好的随机数源,也就是说能够快速地产生高质量的随机数。大素数的选择为了ELGamal密码的安全,p应为150位(十进制数)以上的

7、大素数,而且p-1应有大素因子。,三、椭圆曲线密码,1、椭圆曲线密码的一般情况受ELGamal密码启发,在其它离散对数问题难解的群中,同样可以构成ELGamal密码。于是人们开始寻找其它离散问题难解的群。研究发现,有限域GF(p)上的椭圆曲线的解点构成交换群,而且离散对数问题是难解的。于是可在此群上建立ELGamal密码,并称为椭圆曲线密码。,三、椭圆曲线密码,1、椭圆曲线密码的一般情况椭圆曲线密码已成为除RSA密码之外呼声最高的公钥密码之一。它密钥短、签名短,软件实现规模小、硬件实现电路省电。普遍认为,160位长的椭圆曲线密码的安全性相当于1024位的RSA密码,而且运算速度也较快。,三、椭

8、圆曲线密码,1、椭圆曲线密码的一般情况一些国际标准化组织已把椭圆曲线密码作为新的信息安全标准。如,IEEE P1363/D4,ANSI F9.62,ANSI F9.63等标准,分别规范了椭圆曲线密码在Internet协议安全、电子商务、Web服务器、空间通信、移动通信、智能卡等方面的应用。,三、椭圆曲线密码,2、椭圆曲线设p是大于3的素数,且4a3+27b2 0 mod p,称 y2=x3+ax+b,a,bGF(p)为GF(p)上的椭圆曲线。由椭圆曲线可得到一个同余方程:y2=x3+ax+b mod p其解为一个二元组,x,yGF(p),将此二元组描画到椭圆曲线上便为一个点,于是又称其为解点。

9、,三、椭圆曲线密码,2、椭圆曲线 为了利用解点构成交换群,需要引进一个O元素,并定义如下的加法运算:定义单位元 引进一个无穷点O(,),简记为0,作为0元素。O(,)O(,)000。并定义对于所有的解点P(x,y),P(x,y)+OO+P(x,y)P(x,y)。,三、椭圆曲线密码,2、椭圆曲线定义逆元素 设P(x1,y1)和Q(x2,y2)是解点,如果x1=x2 且y1=-y2,则 P(x1,y1)Q(x2,y2)0。这说明任何解点R(x,y)的逆就是 R(x,-y)。注意:规定无穷远点的逆就是其自己。O(,)-O(,),三、椭圆曲线密码,2、椭圆曲线定义加法设P(x1,y1)Q(x2,y2)

10、,且P和Q不互逆,则 P(x1,y1)Q(x2,y2)R(x3,y3)。其中 x3=2-x1-x2,y3=(x1 x3)-y1,=(y2-y1)/(x2-x1)。,三、椭圆曲线密码,2、椭圆曲线定义加法当P(x1,y1)=Q(x2,y2)时 P(x1,y1)Q(x2,y2)2 P(x1,y1)R(x3,y3)。其中 x3=2-2x1,y3=(x1 x3)-y1,=(3x12+a)/(2 y1)。,三、椭圆曲线密码,2、椭圆曲线作集合E=全体解点,无穷点O。可以验证,如上定义的集合E和加法运算构成加法交换群。复习:群的定义 G是一个非空集,定义了一种运算,且运算是自封闭的;运算满足结合律;G中有

11、单位元;G中的元素都有逆元;,三、椭圆曲线密码,3、椭圆曲线解点加法运算的几何意义:设P(x1,y1)和Q(x2,y2)是椭圆曲线的两个点,则连接P(x1,y1)和Q(x2,y2)的直线与椭圆曲线的另一交点关于横轴的对称点即为P(x1,y1)+Q(x2,y2)点。,三、椭圆曲线密码,3、椭圆曲线解点加法运算的几何意义:,x,y,0,P,Q,P+Q,三、椭圆曲线密码,4、举例:取p=11,椭圆曲线y2=x3+x+6。由于p较小,使GF(p)也较小,故可以利用穷举的方法根据y2=x3+x+6 mod 11求出所有解点。复习:平方剩余 设p为素数,如果存在一个正整数x,使得 x2=a mod p,则

12、称 a是模p的平方剩余。,三、椭圆曲线密码,x x3+x+6 mod 11 是否模11平方剩余 y 0 6 No 1 8 No 2 5 Yes 4,7 3 3 Yes 5,6 4 8 No 5 4 Yes 2,9 6 8 No 7 4 Yes 2,9 8 9 Yes 3,8 9 7 No 10 4 Yes 2,9,三、椭圆曲线密码,根据表可知全部解点集为:(2,4),(2,7),(3,5),(3,6),(5,2),(5,9),(7,2),(7,9),(8,3),(8,8),(10,2),(10,9)。再加上无穷远点O,共13的点构成一个加法交换群。由于群的元素个数为13,而13为素数,所以此群

13、是循环群,而且任何一个非O元素都是生成元。,三、椭圆曲线密码,由于是加法群,n个元素G相加,G+G+.+G nG。我们取G(2,7)为生成元,具体计算加法表如下:2G=(2,7)+(2,7)=(5,2)因为=(322+1)(27)-1 mod 11=23-1 mod 11=24 mod 11=8。于是,x3=82-22 mod 11=5,y3=8(2-5)-7 mod 11=2。,三、椭圆曲线密码,G(2,7),2G(5,2),3G(8,3),4G(10,2),5G(3,6),6G(7,9),7G(7,2),8G(3,5),9G(10,9),10G(8,8),11G(5,9),12G(2,4)

14、,13G O(,)。,三、椭圆曲线密码,除了GF(p)上的椭圆曲线,外还有定义在GF(2m)上的椭圆曲线。这两种椭圆曲线都可以构成安全的椭圆曲线密码。在上例中,由于p较小,使GF(p)也较小,故可以利用穷举的方法求出所有解点。但是,对于一般情况要确切计算椭圆曲线解点数N的准确值比较困难。N满足以下不等式 P+1-2P 1/2NP+1+2P 1/2。,三、椭圆曲线密码,5、椭圆曲线密码 ELGamal密码建立在有限域GF(p)的乘法群的离散对数问题的困难性之上。而椭圆曲线密码建立在椭圆曲线群的离散对数问题的困难性之上。两者的主要区别是其离散对数问题所依赖的群不同。因此两者有许多相似之处。,三、椭

15、圆曲线密码,5、椭圆曲线密码 椭圆曲线群上的离散对数问题 在上例中椭圆曲线上的解点所构成的交换群恰好是循环群,但是一般并不一定。于是我们希望从中找出一个循环子群E1。可以证明当循环子群E1 的阶n是足够大的素数时,这个循环子群中的离散对数问题是困难的。,三、椭圆曲线密码,5、椭圆曲线密码 椭圆曲线群上的离散对数问题 设P和Q是椭圆曲线上的两个解点,t 为一正整数,且1tn。对于给定的P和t,计算tPQ是容易的。但若已知P和Q点,要计算出t则是极困难的。这便是椭圆曲线群上的离散对数问题,简记为ECDLP(Elliptic Curve Discrete Logarithm Problem)。,三、

16、椭圆曲线密码,5、椭圆曲线密码 椭圆曲线群上的离散对数问题 除了几类特殊的椭圆曲线外,对于一般ECDLP目前尚没有找到有效的求解方法。于是可以在这个循环子群E1中建立任何基于离散对数困难性的密码,并称这个密码为椭圆曲线密码。,三、椭圆曲线密码,椭圆曲线密码 T=p为大于3素数,p确定了有限域GF(p);元素a,bGF(p),a和b确定了椭圆曲线;G为循环子群E1的生成元点,n为素数且为生成元G的阶,G和n确定了循环子群E1;h=|E|/n,并称为余因子,h将交换群E和循环子群联系起来。,三、椭圆曲线密码,椭圆曲线密码 密钥:用户的私钥定义为一个随机数d,d1,2,n-1。用户的公开钥定义为Q点

17、,Q=dG。,三、椭圆曲线密码,椭圆曲线密码设d为用户私钥,Q为公钥,将Q存入PKDB。设要加密的明文数据为M,将M划分为一些较小的数据块,M=m1,m2,mt,其中0mi n。,三、椭圆曲线密码,椭圆曲线密码 加密过程:A把M加密发给BA查PKDB,查到B的公开密钥QB。A选择一个随机数k,且k1,2,n-1。A计算点X1(x1,y1)=kG。A计算点X2(x2,y2)=kQB,如果分量x2=O,则转。A计算密文 C=mi x2 mod n。A发送加密数据(X1,C)给B。,三、椭圆曲线密码,椭圆曲线密码解密过程:用户B用自己的私钥dB 求出点X2:dBX1=dB(kG)=k(dB G)=k

18、 QB=X2(x2,y2)对C解密,得到明文mi=C x2 1 mod n。,三、椭圆曲线密码,椭圆曲线密码椭圆曲线密码的实现由于椭圆曲线密码所依据的数学基础比较复杂,从而使得其具体实现也比较困难。难点:安全椭圆曲线的产生;倍点运算。,四、公钥密码的理论模型,1、单向函数 设函数 y=f(x),如果满足以下两个条件,则称为单向函数:如果对于给定的 x,要计算出 y很容易;而对于给定的 y,要计算出 x很难。2、单向函数的应用安全HASH函数操作系统口令,四、公钥密码的理论模型,3、利用单向函数构造密码用正变换作加密,加密效率高;用逆变换作解密,安全,敌手不可破译;但是加密后不能还原。,四、公钥

19、密码的理论模型,4、单向陷门函数 设函数 y=f(x),且 f 具有陷门,如果满足以下两个条件,则称为单向陷门函数:如果对于给定的 x,要计算出 y很容易;而对于给定的 y,如果不掌握陷门要计算出 x很难,而如果掌握陷门要计算出 x就很容易。,四、公钥密码的理论模型,5、单向陷门函数的应用用正变换作加密,加密效率高;用逆变换作解密,安全;把陷门信息作为密钥,且只分配给合法用户。确保合法用户能够方便地解密,而非法用户不能破译。,四、公钥密码的理论模型,6、单向函数的研究现状理论上:不能证明单向函数一定存在;实际上:只要函数的单向性足够工程应用就行;实际上已找到的单向性足够的函数有:合数的因子分解问题 大素数的乘积容易计算(pq n),而大合数的因子分解困难(n pq)。有限域上的离散对数问题 有限域上大素数的幂乘容易计算(ab c),而对数计算困难(log a c b)。,证明椭圆曲线密码的可逆性。为令p=5,求出椭圆曲线 y2=x3+4x+2的全部解点 以教材例5-5为例,分别以G=(2,7)和G=(5,2)构造椭圆曲线密码,并设m=3,分别进行加密和解密。,习 题,谢 谢!,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号