第6章-椭圆曲线密码体制ppt课件

上传人:pu****.1 文档编号:591370100 上传时间:2024-09-17 格式:PPT 页数:44 大小:531KB
返回 下载 相关 举报
第6章-椭圆曲线密码体制ppt课件_第1页
第1页 / 共44页
第6章-椭圆曲线密码体制ppt课件_第2页
第2页 / 共44页
第6章-椭圆曲线密码体制ppt课件_第3页
第3页 / 共44页
第6章-椭圆曲线密码体制ppt课件_第4页
第4页 / 共44页
第6章-椭圆曲线密码体制ppt课件_第5页
第5页 / 共44页
点击查看更多>>
资源描述

《第6章-椭圆曲线密码体制ppt课件》由会员分享,可在线阅读,更多相关《第6章-椭圆曲线密码体制ppt课件(44页珍藏版)》请在金锄头文库上搜索。

1、从使用情况来看,闭胸式的使用比较广泛。敞开式盾构之中有挤压式盾构、全部敞开式盾构,但在近些年的城市地下工程施工中已很少使用,在此不再说明。 公钥密码公钥密码一、一、椭圆曲线公钥密码椭圆曲线公钥密码ECC(Elliptic Curve Cryptography)二二、McEliece公钥密码公钥密码从使用情况来看,闭胸式的使用比较广泛。敞开式盾构之中有挤压式盾构、全部敞开式盾构,但在近些年的城市地下工程施工中已很少使用,在此不再说明。 椭圆曲线公钥密码ECC1. 1. 简要历史简要历史简要历史简要历史n n椭圆曲线椭圆曲线椭圆曲线椭圆曲线( (Elliptic curve)Elliptic cu

2、rve)作为代数几何中的重要问题已有作为代数几何中的重要问题已有作为代数几何中的重要问题已有作为代数几何中的重要问题已有100100多年的研究历史多年的研究历史多年的研究历史多年的研究历史n n19851985年,年,年,年,N. KoblitzN. Koblitz和和和和V. MillerV. Miller独立将其引入密码学中,成独立将其引入密码学中,成独立将其引入密码学中,成独立将其引入密码学中,成为构造双钥密码体制的一个有力工具为构造双钥密码体制的一个有力工具为构造双钥密码体制的一个有力工具为构造双钥密码体制的一个有力工具。n n利用有限域利用有限域利用有限域利用有限域GFGF(2(2n

3、 n ) )上的椭圆曲线上点集所构成的群上定义上的椭圆曲线上点集所构成的群上定义上的椭圆曲线上点集所构成的群上定义上的椭圆曲线上点集所构成的群上定义的离散对数系统,可以构造出基于有限域上离散对数的一的离散对数系统,可以构造出基于有限域上离散对数的一的离散对数系统,可以构造出基于有限域上离散对数的一的离散对数系统,可以构造出基于有限域上离散对数的一些双钥体制些双钥体制些双钥体制些双钥体制- -椭圆曲线离散对数密码体制椭圆曲线离散对数密码体制椭圆曲线离散对数密码体制椭圆曲线离散对数密码体制( (ECDLCECDLC ) ),如,如,如,如Diffie-HellmanDiffie-Hellman,E

4、lGamalElGamal,SchnorrSchnorr,DSADSA等。等。等。等。n n1010余年的研究,尚未发现明显的弱点。余年的研究,尚未发现明显的弱点。余年的研究,尚未发现明显的弱点。余年的研究,尚未发现明显的弱点。从使用情况来看,闭胸式的使用比较广泛。敞开式盾构之中有挤压式盾构、全部敞开式盾构,但在近些年的城市地下工程施工中已很少使用,在此不再说明。 研究现状研究现状n n椭圆曲线密码是除椭圆曲线密码是除椭圆曲线密码是除椭圆曲线密码是除RSARSA算法以外最重要的公算法以外最重要的公算法以外最重要的公算法以外最重要的公钥密码之一。与钥密码之一。与钥密码之一。与钥密码之一。与RSA

5、RSA算法相比它也有很多独算法相比它也有很多独算法相比它也有很多独算法相比它也有很多独特的优点。出于国家安全战略考虑,国内学特的优点。出于国家安全战略考虑,国内学特的优点。出于国家安全战略考虑,国内学特的优点。出于国家安全战略考虑,国内学术界和管理部门一直希望能够在国内一些应术界和管理部门一直希望能够在国内一些应术界和管理部门一直希望能够在国内一些应术界和管理部门一直希望能够在国内一些应用场合使用椭圆曲线密码。在推广和使用椭用场合使用椭圆曲线密码。在推广和使用椭用场合使用椭圆曲线密码。在推广和使用椭用场合使用椭圆曲线密码。在推广和使用椭圆曲线密码的过程中,相应的芯片是必不可圆曲线密码的过程中,

6、相应的芯片是必不可圆曲线密码的过程中,相应的芯片是必不可圆曲线密码的过程中,相应的芯片是必不可少的。然而,由于椭圆曲线密码算法是一种少的。然而,由于椭圆曲线密码算法是一种少的。然而,由于椭圆曲线密码算法是一种少的。然而,由于椭圆曲线密码算法是一种很复杂的数学算法,如何将椭圆曲线密码算很复杂的数学算法,如何将椭圆曲线密码算很复杂的数学算法,如何将椭圆曲线密码算很复杂的数学算法,如何将椭圆曲线密码算法芯片化,国内外没有成熟技术。法芯片化,国内外没有成熟技术。法芯片化,国内外没有成熟技术。法芯片化,国内外没有成熟技术。 从使用情况来看,闭胸式的使用比较广泛。敞开式盾构之中有挤压式盾构、全部敞开式盾构

7、,但在近些年的城市地下工程施工中已很少使用,在此不再说明。 椭圆曲线加密算法椭圆曲线加密算法n n背景背景背景背景RSARSA中用到了因子分解的困难性,而为了增加困难得中用到了因子分解的困难性,而为了增加困难得中用到了因子分解的困难性,而为了增加困难得中用到了因子分解的困难性,而为了增加困难得加大数的位数,从而导致计算速度变慢。加大数的位数,从而导致计算速度变慢。加大数的位数,从而导致计算速度变慢。加大数的位数,从而导致计算速度变慢。ECCECC可以用较小的密钥长度达到较高的计算难度可以用较小的密钥长度达到较高的计算难度可以用较小的密钥长度达到较高的计算难度可以用较小的密钥长度达到较高的计算难

8、度n n获得同样的安全性,密钥长度较获得同样的安全性,密钥长度较RSARSA短得多短得多n n被被IEEEIEEE公钥密码标准公钥密码标准P1363P1363采用采用从使用情况来看,闭胸式的使用比较广泛。敞开式盾构之中有挤压式盾构、全部敞开式盾构,但在近些年的城市地下工程施工中已很少使用,在此不再说明。 椭圆曲线公钥密码ECCn n椭圆曲线上一个点椭圆曲线上一个点椭圆曲线上一个点椭圆曲线上一个点P P的的的的k k倍表示表示倍表示表示倍表示表示倍表示表示P P+ +P P+(k k个点个点个点个点P P “ “相加相加相加相加” ”),记为),记为),记为),记为kPkP。n n椭圆曲线上一个

9、点椭圆曲线上一个点椭圆曲线上一个点椭圆曲线上一个点P P的所有倍数点组成了椭圆曲线的子的所有倍数点组成了椭圆曲线的子的所有倍数点组成了椭圆曲线的子的所有倍数点组成了椭圆曲线的子集,该子集是该椭圆曲线关于该集,该子集是该椭圆曲线关于该集,该子集是该椭圆曲线关于该集,该子集是该椭圆曲线关于该“ “加法加法加法加法” ”的循环子群。的循环子群。的循环子群。的循环子群。n n给定给定给定给定“ “椭圆曲线椭圆曲线椭圆曲线椭圆曲线” ”上的点上的点上的点上的点P P,给定整数,给定整数,给定整数,给定整数k k,计算,计算,计算,计算“ “kPkP= =?” ”是容易的。(折半相加)是容易的。(折半相加

10、)是容易的。(折半相加)是容易的。(折半相加)n n给定给定给定给定“ “椭圆曲线椭圆曲线椭圆曲线椭圆曲线” ”上的两个点上的两个点上的两个点上的两个点P P和和和和Q Q,求整数,求整数,求整数,求整数“ “?P P= =Q Q” ”是困难的。这个问题称为是困难的。这个问题称为是困难的。这个问题称为是困难的。这个问题称为椭圆曲线上的离散对数椭圆曲线上的离散对数椭圆曲线上的离散对数椭圆曲线上的离散对数问题问题问题问题。从使用情况来看,闭胸式的使用比较广泛。敞开式盾构之中有挤压式盾构、全部敞开式盾构,但在近些年的城市地下工程施工中已很少使用,在此不再说明。 椭圆曲线方程椭圆曲线方程n nElli

11、pticCurveEllipticCurvey2axybyx3cx2dxe其中其中其中其中a a、b b、c c、d d、e e是满足某个简单条件的实是满足某个简单条件的实是满足某个简单条件的实是满足某个简单条件的实数数数数另有另有另有另有OO点被定义为无穷点点被定义为无穷点点被定义为无穷点点被定义为无穷点/ /零点零点零点零点 从使用情况来看,闭胸式的使用比较广泛。敞开式盾构之中有挤压式盾构、全部敞开式盾构,但在近些年的城市地下工程施工中已很少使用,在此不再说明。 椭圆曲线的定义椭圆曲线的定义n n1.11.1椭圆曲线的定义椭圆曲线的定义椭圆曲线的定义椭圆曲线的定义设设设设F F是域,是域,

12、是域,是域,F-F-是是是是F F的代数闭包。椭圆曲线的一般定义为的代数闭包。椭圆曲线的一般定义为的代数闭包。椭圆曲线的一般定义为的代数闭包。椭圆曲线的一般定义为F-F-上亏格为上亏格为上亏格为上亏格为1 1的光滑的代数曲线。这个定义涉及很多代数几何中的光滑的代数曲线。这个定义涉及很多代数几何中的光滑的代数曲线。这个定义涉及很多代数几何中的光滑的代数曲线。这个定义涉及很多代数几何中的概念。实际上,定义在的概念。实际上,定义在的概念。实际上,定义在的概念。实际上,定义在F F上的椭圆曲线可等价地看作由方程上的椭圆曲线可等价地看作由方程上的椭圆曲线可等价地看作由方程上的椭圆曲线可等价地看作由方程y

13、 y2 2+a+a1 1xy+axy+a3 3xy=xxy=x3 3+a+a2 2x x2 2+a+a4 4x+ax+a6 6(1)(1)n n刻划的刻划的刻划的刻划的F-F-上曲线再添加上一点上曲线再添加上一点上曲线再添加上一点上曲线再添加上一点OO,其中,其中,其中,其中aiai F F且满足判别式不且满足判别式不且满足判别式不且满足判别式不为零。椭圆曲线的有理点即为点为零。椭圆曲线的有理点即为点为零。椭圆曲线的有理点即为点为零。椭圆曲线的有理点即为点OO及坐标在及坐标在及坐标在及坐标在F F中的点中的点中的点中的点(x(x,y)y)。方程方程方程方程(1)(1)称为该椭圆曲线的称为该椭圆

14、曲线的称为该椭圆曲线的称为该椭圆曲线的WeierstrassWeierstrass方程。当方程。当方程。当方程。当F F的特征不的特征不的特征不的特征不是是是是2 2或或或或3 3时,这个方程可化为特别简单的形式时,这个方程可化为特别简单的形式时,这个方程可化为特别简单的形式时,这个方程可化为特别简单的形式y y2 2=x=x3 3+ax+b+ax+b并要求判别式并要求判别式并要求判别式并要求判别式=4a=4a3 3+27b+27b2 200从使用情况来看,闭胸式的使用比较广泛。敞开式盾构之中有挤压式盾构、全部敞开式盾构,但在近些年的城市地下工程施工中已很少使用,在此不再说明。 椭圆曲线密码示

15、意图椭圆曲线密码示意图从使用情况来看,闭胸式的使用比较广泛。敞开式盾构之中有挤压式盾构、全部敞开式盾构,但在近些年的城市地下工程施工中已很少使用,在此不再说明。 椭圆曲线密码介绍椭圆曲线密码介绍n n运算定义:运算定义:若曲线三点在一条直线上若曲线三点在一条直线上若曲线三点在一条直线上若曲线三点在一条直线上, ,则其和为则其和为则其和为则其和为OOOO用作加法的单位:用作加法的单位:用作加法的单位:用作加法的单位:O=-O;P+O=PO=-O;P+O=P一条竖直线交一条竖直线交一条竖直线交一条竖直线交X X轴两点轴两点轴两点轴两点P P1 1、P P2 2,则,则,则,则P1+P2+O=OP1

16、+P2+O=O,于是,于是,于是,于是P P1 1=-P=-P2 2如果两个点如果两个点如果两个点如果两个点QQ和和和和R R的的的的X X轴不同,则画一连线,得到轴不同,则画一连线,得到轴不同,则画一连线,得到轴不同,则画一连线,得到第三点第三点第三点第三点P P1 1,则,则,则,则Q+R+PQ+R+P1 1=O=O,即,即,即,即Q+R=-PQ+R=-P1 12 2倍,一个点倍,一个点倍,一个点倍,一个点QQ的两倍是,找到它的切线与曲线的的两倍是,找到它的切线与曲线的的两倍是,找到它的切线与曲线的的两倍是,找到它的切线与曲线的另一个交点另一个交点另一个交点另一个交点S S,于是,于是,于

17、是,于是Q+Q=2Q=-SQ+Q=2Q=-S从使用情况来看,闭胸式的使用比较广泛。敞开式盾构之中有挤压式盾构、全部敞开式盾构,但在近些年的城市地下工程施工中已很少使用,在此不再说明。 椭圆曲线加法的定义椭圆曲线加法的定义Q,RQ,RQ,RQ,R是是是是ECCECCECCECC上上上上x x x x坐标不同的两点,坐标不同的两点,坐标不同的两点,坐标不同的两点,Q+RQ+RQ+RQ+R定义为:定义为:定义为:定义为:画一条通过画一条通过画一条通过画一条通过Q,RQ,RQ,RQ,R的直线与的直线与的直线与的直线与ECCECCECCECC交于交于交于交于P P P P1 1 1 1( ( ( (交点

18、是交点是交点是交点是唯一的,除非做的唯一的,除非做的唯一的,除非做的唯一的,除非做的Q,RQ,RQ,RQ,R点的切线,此时分别点的切线,此时分别点的切线,此时分别点的切线,此时分别取取取取P P P P1 1 1 1=Q=Q=Q=Q或或或或P P P P1 1 1 1=R)=R)=R)=R)。由。由。由。由Q+R+PQ+R+PQ+R+PQ+R+P1 1 1 1=O,=O,=O,=O,得得得得Q+R=-PQ+R=-PQ+R=-PQ+R=-P1 1 1 1点点点点Q Q Q Q的倍数定义如下:在的倍数定义如下:在的倍数定义如下:在的倍数定义如下:在Q Q Q Q点做点做点做点做ECCECCECCE

19、CC的一条切的一条切的一条切的一条切线,设切线与线,设切线与线,设切线与线,设切线与ECCECCECCECC交于交于交于交于S,S,S,S,定义定义定义定义2Q=Q+Q=-S2Q=Q+Q=-S2Q=Q+Q=-S2Q=Q+Q=-S。类。类。类。类似可定义似可定义似可定义似可定义3Q=Q+Q+Q,3Q=Q+Q+Q,3Q=Q+Q+Q,3Q=Q+Q+Q,上述加法满足加法的一般性质,如交换律、上述加法满足加法的一般性质,如交换律、上述加法满足加法的一般性质,如交换律、上述加法满足加法的一般性质,如交换律、结合律等结合律等结合律等结合律等从使用情况来看,闭胸式的使用比较广泛。敞开式盾构之中有挤压式盾构、全

20、部敞开式盾构,但在近些年的城市地下工程施工中已很少使用,在此不再说明。 椭圆曲线上不同坐标点相加从使用情况来看,闭胸式的使用比较广泛。敞开式盾构之中有挤压式盾构、全部敞开式盾构,但在近些年的城市地下工程施工中已很少使用,在此不再说明。 椭圆曲线上相同坐标点相加从使用情况来看,闭胸式的使用比较广泛。敞开式盾构之中有挤压式盾构、全部敞开式盾构,但在近些年的城市地下工程施工中已很少使用,在此不再说明。 椭圆曲线上一坐标点与无穷远点相加从使用情况来看,闭胸式的使用比较广泛。敞开式盾构之中有挤压式盾构、全部敞开式盾构,但在近些年的城市地下工程施工中已很少使用,在此不再说明。 椭圆曲线上两对称点相加AB=

21、A+(-A)=O BEC:PQR从使用情况来看,闭胸式的使用比较广泛。敞开式盾构之中有挤压式盾构、全部敞开式盾构,但在近些年的城市地下工程施工中已很少使用,在此不再说明。 素域上的素域上的ECn n在有限域Zp上的简化ECy2x3axb mod p 其中其中4a4a3 327b27b2 2 mod p mod p 0 0(这是一个离散点的集合)(这是一个离散点的集合)n n举例y2x318x15 mod 23 y2x317x15 mod 23http:/ 有限域上的椭圆曲线n n曲线方程中的所有系数都是某一有限域曲线方程中的所有系数都是某一有限域曲线方程中的所有系数都是某一有限域曲线方程中的所

22、有系数都是某一有限域GF(p)GF(p)GF(p)GF(p)中的元素中的元素中的元素中的元素(p(p(p(p为一大素数为一大素数为一大素数为一大素数) ) ) ),最为常用的曲线方程为,最为常用的曲线方程为,最为常用的曲线方程为,最为常用的曲线方程为y y2 2=x=x3 3+ax+b mod(p) (a,b+ax+b mod(p) (a,b GF(p),4aGF(p),4a3 3+27b+27b2 20 mod p)0 mod p)n n例:例:例:例:p=23,a=b=1,p=23,a=b=1,4a4a4a4a3 3 3 3+27b+27b+27b+27b2 2 2 2=8 =8 =8 =

23、8 0 (mod23),0 (mod23),方程为方程为方程为方程为y y2 2=x=x3 3+x+1 mod(p)+x+1 mod(p),图形为连续图形。我们感兴趣的图形为连续图形。我们感兴趣的图形为连续图形。我们感兴趣的图形为连续图形。我们感兴趣的是在第一象限的整数点。设是在第一象限的整数点。设是在第一象限的整数点。设是在第一象限的整数点。设E Ep p(a,b)(a,b)表示表示表示表示ECCECC上点集上点集上点集上点集(x,y)|0xp,0 yp,x,y)|0xp,0 yp,x,y)|0xp,0 yp,x,y)|0xp,0 yp,且且且且x,yx,yx,yx,y均为整数均为整数均为整

24、数均为整数 并上并上并上并上O.O. 从使用情况来看,闭胸式的使用比较广泛。敞开式盾构之中有挤压式盾构、全部敞开式盾构,但在近些年的城市地下工程施工中已很少使用,在此不再说明。 有限域上的椭圆曲线点集产生方法有限域上的椭圆曲线点集产生方法n n对每一x(0xp0xp且且x x为整数),计算为整数),计算x x3 3+ax+b +ax+b mod pmod pn n决定求出的值在模决定求出的值在模p p下是否有平方根,如果没下是否有平方根,如果没有则椭圆曲线上没有与这一有则椭圆曲线上没有与这一x x对应的点;如果对应的点;如果有,则求出两个平方根。有,则求出两个平方根。从使用情况来看,闭胸式的使

25、用比较广泛。敞开式盾构之中有挤压式盾构、全部敞开式盾构,但在近些年的城市地下工程施工中已很少使用,在此不再说明。 Ep(a,b)上加法n n如果如果如果如果P,Q EP,Q EP,Q EP,Q Ep p p p(a,b)(a,b)(a,b)(a,b)P+O=PP+O=PP+O=PP+O=P如果如果如果如果P P P P(x,y),(x,y),(x,y),(x,y),则则则则(x,y)+(x,-y)(x,y)+(x,-y)(x,y)+(x,-y)(x,y)+(x,-y)O O O OP P P P(x(x(x(x1 1 1 1,y,y,y,y1 1 1 1),Q= (x),Q= (x),Q= (

26、x),Q= (x2 2 2 2,y,y,y,y2 2 2 2),P),P),P),P-Q,P+Q=-Q,P+Q=(x(x(x(x3 3 3 3,y,y,y,y3 3 3 3) ) ) )x x x x3 3 3 3= = = =l l l l2 2 2 2-x-x-x-x1 1 1 1-x-x-x-x2 2 2 2(mod pmod pmod pmod p)y y y y3 3 3 3= = = =l l l l(x(x(x(x1 1 1 1-x-x-x-x3 3 3 3)-y)-y)-y)-y1 1 1 1 (mod p) (mod p) (mod p) (mod p)从使用情况来看,闭胸式

27、的使用比较广泛。敞开式盾构之中有挤压式盾构、全部敞开式盾构,但在近些年的城市地下工程施工中已很少使用,在此不再说明。 例:例:E23(1,1)n nP=(3,10),Q(=9,7)P=(3,10),Q(=9,7)从使用情况来看,闭胸式的使用比较广泛。敞开式盾构之中有挤压式盾构、全部敞开式盾构,但在近些年的城市地下工程施工中已很少使用,在此不再说明。 EC上的离散对数问题上的离散对数问题n nQkP中的中的k计算也是极其困难的计算也是极其困难的kP表示表示k个个P相加:相加:P+P+Pn n在在DH密钥交换中密钥交换中使用了使用了ygxmodp中中x的计算困难性的计算困难性同样在同样在ECC中中

28、将使用将使用QkP中计算中计算k的困难性的困难性n n有两个应用有两个应用密钥交换密钥交换加密解密加密解密从使用情况来看,闭胸式的使用比较广泛。敞开式盾构之中有挤压式盾构、全部敞开式盾构,但在近些年的城市地下工程施工中已很少使用,在此不再说明。 在有限域上的椭圆曲线运算 在此椭圆曲线上可以能出现的点有(0,1)、(0,4)、(2,1)、(2,4)、(3,1)、(3,4)、(4,2)、(4,3)、(, )任取椭圆曲线上两点,无论作加法、減法或乘法,其結果永远为上述坐标点中的一点.椭圆曲线中的离散对数难题:给定一参数K及一点A,要求得另一点B,使得B=KA是很容易的。例如:5A=A+A+A+A+A

29、但若給定A及B要求得K則很困難从使用情况来看,闭胸式的使用比较广泛。敞开式盾构之中有挤压式盾构、全部敞开式盾构,但在近些年的城市地下工程施工中已很少使用,在此不再说明。 ECC上的密码n nECCECC上的离散对数问题上的离散对数问题在在在在ECCECCECCECC构成的交换群构成的交换群构成的交换群构成的交换群E E E Ep p p p(a,b)(a,b)(a,b)(a,b)上考虑方程上考虑方程上考虑方程上考虑方程Q Q Q QkPkPkPkP,P,QEP,QEP,QEP,QEp p p p(a,b),kp.(a,b),kp.(a,b),kp.(a,b),kp.由由由由k k k k和和和

30、和P P P P求求求求Q Q Q Q容易,由容易,由容易,由容易,由P,QP,QP,QP,Q求求求求k k k k则是困难的。则是困难的。则是困难的。则是困难的。n n由由ECCECC上离散对数问题可以构造上离散对数问题可以构造Diffie-Diffie-HellmanHellman密钥交换和密钥交换和ElGamalElGamal密码体制密码体制从使用情况来看,闭胸式的使用比较广泛。敞开式盾构之中有挤压式盾构、全部敞开式盾构,但在近些年的城市地下工程施工中已很少使用,在此不再说明。 椭圆曲线用于加密椭圆曲线用于加密n n找到一个难题:找到一个难题:找到一个难题:找到一个难题:考虑等式考虑等式

31、考虑等式考虑等式Q=kPQ=kP,其中,其中,其中,其中QQ、P P属于属于属于属于E Ep p(a,b)(a,b),kpkp已知已知已知已知k k和和和和P P,计算,计算,计算,计算QQ,是容易的,是容易的,是容易的,是容易的已知已知已知已知QQ和和和和P P,计算计算计算计算k k,是困难的,是困难的,是困难的,是困难的n n选择选择选择选择E Ep p(a,b)(a,b)的元素的元素的元素的元素G,G,使得使得使得使得G G的阶的阶的阶的阶n n是一个大素数是一个大素数是一个大素数是一个大素数G G的阶是指满足的阶是指满足的阶是指满足的阶是指满足nG=OnG=O的最小的最小的最小的最小

32、n n值值值值n n秘密选择整数秘密选择整数秘密选择整数秘密选择整数r r,计算,计算,计算,计算P=kP=kG G,然后,然后,然后,然后公开公开公开公开(p,a,b,G,P)(p,a,b,G,P),P P为公钥为公钥为公钥为公钥保密保密保密保密k k从使用情况来看,闭胸式的使用比较广泛。敞开式盾构之中有挤压式盾构、全部敞开式盾构,但在近些年的城市地下工程施工中已很少使用,在此不再说明。 用用EC的加解密的加解密n n准备准备曲线参数曲线参数曲线参数曲线参数p p、a a、b b、G G,y2x3axbmodpA A有自己的私钥有自己的私钥有自己的私钥有自己的私钥NNa a,并产生公钥,并产

33、生公钥,并产生公钥,并产生公钥P Pa aNNa aGGB B有自己的私钥有自己的私钥有自己的私钥有自己的私钥NNb b,并产生公钥,并产生公钥,并产生公钥,并产生公钥P Pb bNNb bGGn n加密加密(A要给要给B发送消息)发送消息)对明文对明文对明文对明文mm的编码点的编码点的编码点的编码点P Pmm,选择随机数,选择随机数,选择随机数,选择随机数k k,密文,密文,密文,密文C CCC1 1,C C2 2 kGkG,P PmmkPkPb b n n解密:解密:编码点编码点编码点编码点P PmmC C2 2NNb bCC1 1,因为,因为,因为,因为(P(PmmkPkPb b) )N

34、Nb bkGkGP PmmkNkNb bGGNNb bkGkG P Pmm类ElGamal从使用情况来看,闭胸式的使用比较广泛。敞开式盾构之中有挤压式盾构、全部敞开式盾构,但在近些年的城市地下工程施工中已很少使用,在此不再说明。 用用EC的加解密的加解密n n原理原理先是通过先是通过先是通过先是通过kPkPb b掩盖掩盖掩盖掩盖P Pmm( (即即即即m)m),又通过,又通过,又通过,又通过kGkG掩盖掩盖掩盖掩盖k k知道陷门知道陷门知道陷门知道陷门NNb b则可以轻松恢复之则可以轻松恢复之则可以轻松恢复之则可以轻松恢复之n n分析分析攻击者解攻击者解攻击者解攻击者解C C1 1kGkG中的

35、中的中的中的k k困难性困难性困难性困难性从使用情况来看,闭胸式的使用比较广泛。敞开式盾构之中有挤压式盾构、全部敞开式盾构,但在近些年的城市地下工程施工中已很少使用,在此不再说明。 橢圓曲線的公開金鑰加密機制从使用情况来看,闭胸式的使用比较广泛。敞开式盾构之中有挤压式盾构、全部敞开式盾构,但在近些年的城市地下工程施工中已很少使用,在此不再说明。 椭圆曲线的数字签名从使用情况来看,闭胸式的使用比较广泛。敞开式盾构之中有挤压式盾构、全部敞开式盾构,但在近些年的城市地下工程施工中已很少使用,在此不再说明。 Diffie-Hellman密钥交换n n取一素数取一素数取一素数取一素数p2p2p2p218

36、0180180180, , , ,两个参数两个参数两个参数两个参数a,b,a,b,a,b,a,b,得到得到得到得到E E E Ep p p p(a,b).(a,b).(a,b).(a,b).n n取取取取E E E Ep p p p(a,b)(a,b)(a,b)(a,b)的一个生成元的一个生成元的一个生成元的一个生成元G(xG(xG(xG(x1 1 1 1,y,y,y,y1 1 1 1),),),),要求要求要求要求G G G G的阶是一的阶是一的阶是一的阶是一个非常大的素数。个非常大的素数。个非常大的素数。个非常大的素数。( ( ( (阶是满足阶是满足阶是满足阶是满足nG=OnG=OnG=O

37、nG=O的最小正整数的最小正整数的最小正整数的最小正整数n). En). En). En). Ep p p p(a,b)(a,b)(a,b)(a,b)和和和和G G G G公开,公开,公开,公开,A A A A和和和和B B B B密钥交换过程如下密钥交换过程如下密钥交换过程如下密钥交换过程如下A A A A选小于选小于选小于选小于n n n n的整数的整数的整数的整数n n n nA A A A作为秘密钥,并有作为秘密钥,并有作为秘密钥,并有作为秘密钥,并有P P P PA A A A=n=n=n=nA A A AG G G G作为公钥作为公钥作为公钥作为公钥B B B B类似选取自己的秘密

38、钥类似选取自己的秘密钥类似选取自己的秘密钥类似选取自己的秘密钥n n n nB B B B和公开钥和公开钥和公开钥和公开钥P P P PB B B BA A A A和和和和B B B B分别由分别由分别由分别由K=nK=nK=nK=nA A A AP P P PB B B B和和和和K K K Kn n n nB B B BP P P PA A A A产生共享的秘密钥产生共享的秘密钥产生共享的秘密钥产生共享的秘密钥n n攻击者如想获得攻击者如想获得攻击者如想获得攻击者如想获得K K K K,必须由,必须由,必须由,必须由P P P PA A A A和和和和G G G G求出求出求出求出n n

39、n nA A A A或或或或P P P PB B B B和和和和G G G G求求求求出出出出n n n nB B B B从使用情况来看,闭胸式的使用比较广泛。敞开式盾构之中有挤压式盾构、全部敞开式盾构,但在近些年的城市地下工程施工中已很少使用,在此不再说明。 ElGamal密码体制n n密钥产生过程密钥产生过程选择一个素数选择一个素数选择一个素数选择一个素数p p p p,以及,以及,以及,以及g g g g( ( ( (g g g g p p p p), ), ), ), x x x x p p p p, , , ,计算公钥计算公钥计算公钥计算公钥 y y y y g g g gx x x

40、 x mod mod mod mod p p p p, (, (, (, (y,g,py,g,py,g,py,g,p) ) ) )为公钥,为公钥,为公钥,为公钥,x x x x为秘密钥为秘密钥为秘密钥为秘密钥n n加密过程加密过程加密过程加密过程M M M M是发送明文组,选择随机数是发送明文组,选择随机数是发送明文组,选择随机数是发送明文组,选择随机数k k k k,且,且,且,且( ( ( (k,pk,pk,pk,p1)=11)=11)=11)=1,计算:,计算:,计算:,计算: C C C C1 1 1 1= = = =g g g g k k k k mod mod mod mod p

41、p p p ( ( ( (随机数随机数随机数随机数k k k k被加密被加密被加密被加密) ) ) ) C C C C2 2 2 2= = = =MyMyMyMyk k k k mod mod mod mod p p p p( ( ( (明文被随机数明文被随机数明文被随机数明文被随机数k k k k和公钥和公钥和公钥和公钥 加密加密加密加密) ) ) )密文由密文由密文由密文由C C C C1 1 1 1、C C C C2 2 2 2级连构成,即密文级连构成,即密文级连构成,即密文级连构成,即密文C C C C=C=C=C=C1 1 1 1|C|C|C|C2 2 2 2。n n解密过程解密过程

42、解密过程解密过程M M M M=C=C=C=C2 2 2 2/C/C/C/C1 1 1 1x x x x= = = =MyMyMyMy k k k k/ / / /g g g gk k k kx x x x= = = =MgMgMgMgx x x xk k k k/g/g/g/gk k k kx x x x mod mod mod mod p p p p 从使用情况来看,闭胸式的使用比较广泛。敞开式盾构之中有挤压式盾构、全部敞开式盾构,但在近些年的城市地下工程施工中已很少使用,在此不再说明。 ECC实现ElGamal密码体制n n选取一条椭圆曲线,得到选取一条椭圆曲线,得到选取一条椭圆曲线,得

43、到选取一条椭圆曲线,得到E E E Ep p p p(a,b)(a,b)(a,b)(a,b)。将明文消息。将明文消息。将明文消息。将明文消息通过编码嵌入曲线上得到点通过编码嵌入曲线上得到点通过编码嵌入曲线上得到点通过编码嵌入曲线上得到点p p p pm m m mn n取取取取E E E Ep p p p(a,b)(a,b)(a,b)(a,b)的生成元的生成元的生成元的生成元G G G G, E E E Ep p p p(a,b)(a,b)(a,b)(a,b)和和和和G G G G为公开参数为公开参数为公开参数为公开参数n n用户选取用户选取用户选取用户选取n n n nA A A A为秘密钥

44、,为秘密钥,为秘密钥,为秘密钥,P P P PA A A A=n=n=n=nA A A AG G G G为公开钥。为公开钥。为公开钥。为公开钥。n n加密:选随机正整数加密:选随机正整数加密:选随机正整数加密:选随机正整数k k k k,密文为,密文为,密文为,密文为C C C Cm m m m=(kG,P=(kG,P=(kG,P=(kG,Pm m m m+kP+kP+kP+kPA A A A) ) ) )n n解密:解密:解密:解密:P P P Pm m m m+kP+kP+kP+kPA A A A-n-n-n-nA A A AkG=PkG=PkG=PkG=Pm m m m从使用情况来看,闭

45、胸式的使用比较广泛。敞开式盾构之中有挤压式盾构、全部敞开式盾构,但在近些年的城市地下工程施工中已很少使用,在此不再说明。 椭圆曲线公钥密码椭圆曲线公钥密码ECC根据这个数学难题,可以构造丰富的公钥密码体制,根据这个数学难题,可以构造丰富的公钥密码体制,根据这个数学难题,可以构造丰富的公钥密码体制,根据这个数学难题,可以构造丰富的公钥密码体制,称为椭圆曲线公钥密码(称为椭圆曲线公钥密码(称为椭圆曲线公钥密码(称为椭圆曲线公钥密码(ECCECC,略)。,略)。,略)。,略)。 Certicom Certicom 公司对公司对公司对公司对ECCECC和和和和RSARSA进行了对比,在实现相进行了对比

46、,在实现相进行了对比,在实现相进行了对比,在实现相同的安全性下,同的安全性下,同的安全性下,同的安全性下,ECC ECC 所需的密钥量比所需的密钥量比所需的密钥量比所需的密钥量比RSARSA少得多,少得多,少得多,少得多,如下表所示。其中如下表所示。其中如下表所示。其中如下表所示。其中MIPSMIPS表示用每秒完成表示用每秒完成表示用每秒完成表示用每秒完成100100万条万条万条万条指令的计算机所需工作的年数,指令的计算机所需工作的年数,指令的计算机所需工作的年数,指令的计算机所需工作的年数,mm表示表示表示表示ECCECC的密的密的密的密钥由钥由钥由钥由2 2 mm点构成。以点构成。以点构成

47、。以点构成。以40 40 MHzMHz的钟频实现的钟频实现的钟频实现的钟频实现155 155 bitsbits的的的的ECCECC,每秒可完成每秒可完成每秒可完成每秒可完成40,00040,000次椭园曲线运算,其速次椭园曲线运算,其速次椭园曲线运算,其速次椭园曲线运算,其速度比度比度比度比1024 1024 bitsbits的的的的DSADSA和和和和RSARSA快快快快1010倍。倍。倍。倍。从使用情况来看,闭胸式的使用比较广泛。敞开式盾构之中有挤压式盾构、全部敞开式盾构,但在近些年的城市地下工程施工中已很少使用,在此不再说明。 关于速度关于速度n n速度速度在密钥长度相等的情况下,在密钥

48、长度相等的情况下,在密钥长度相等的情况下,在密钥长度相等的情况下,RSARSA和和和和ECCECC的速度的速度的速度的速度相当;相当;相当;相当;但是在相同的安全强度要求下,但是在相同的安全强度要求下,但是在相同的安全强度要求下,但是在相同的安全强度要求下,ECCECC可以使用可以使用可以使用可以使用较少的位数就可以;较少的位数就可以;较少的位数就可以;较少的位数就可以;n n故故ECCECC较好较好较好较好适合嵌入式设备中适合嵌入式设备中适合嵌入式设备中适合嵌入式设备中从使用情况来看,闭胸式的使用比较广泛。敞开式盾构之中有挤压式盾构、全部敞开式盾构,但在近些年的城市地下工程施工中已很少使用,

49、在此不再说明。 椭圆曲线公钥密码ECC因此因此ECCECC与与RSARSA相比,更加简洁快速。具体地说,相比,更加简洁快速。具体地说,实现具有相同安全性的同类体制,实现具有相同安全性的同类体制, ECCECC具有具有更小更小规模的软、硬件。规模的软、硬件。 ECC的密钥长度的密钥长度mRSA的密钥长度的密钥长度MIPS-年年160102410123205120 103660021000 1078120012000010168从使用情况来看,闭胸式的使用比较广泛。敞开式盾构之中有挤压式盾构、全部敞开式盾构,但在近些年的城市地下工程施工中已很少使用,在此不再说明。 椭圆曲线密码的安全性椭圆曲线密码

50、的安全性n n难点难点难点难点: :从从从从P P和和和和kPkP获得获得获得获得k kn n对椭圆曲线研究的时间短对椭圆曲线研究的时间短对椭圆曲线研究的时间短对椭圆曲线研究的时间短n n椭圆曲线要求密钥长度短椭圆曲线要求密钥长度短椭圆曲线要求密钥长度短椭圆曲线要求密钥长度短, ,速度快速度快速度快速度快n n对比对比对比对比:ECCRSA:ECCRSA* *Pollard rhoPollard rho分析方法分析方法KeyKeysizesizeMIPS-YrsMIPS-Yrs1501503.83.8 101010102052057.17.1 101018182342341.61.6 1010

51、28285125123 3 10104 47687682 2 10108 8102410243 3 10101111128012801 1 10101414153615363 3 10101616204820483 3 10102020从使用情况来看,闭胸式的使用比较广泛。敞开式盾构之中有挤压式盾构、全部敞开式盾构,但在近些年的城市地下工程施工中已很少使用,在此不再说明。 椭圆曲线算法与椭圆曲线算法与RSA算法的比较算法的比较n n椭圆曲线公钥系统是代替椭圆曲线公钥系统是代替椭圆曲线公钥系统是代替椭圆曲线公钥系统是代替RSARSA的强有力的竞争者。椭的强有力的竞争者。椭的强有力的竞争者。椭的强

52、有力的竞争者。椭圆曲线加密方法与圆曲线加密方法与圆曲线加密方法与圆曲线加密方法与RSARSA方法相比,有以下的优点:方法相比,有以下的优点:方法相比,有以下的优点:方法相比,有以下的优点:(1 1)安全性能更高)安全性能更高)安全性能更高)安全性能更高 如如如如160160位位位位ECCECC与与与与10241024位位位位RSARSA、DSADSA有相同的安全强度。有相同的安全强度。有相同的安全强度。有相同的安全强度。(2 2)计算量小,处理速度快)计算量小,处理速度快)计算量小,处理速度快)计算量小,处理速度快 在私钥的处理速度上在私钥的处理速度上在私钥的处理速度上在私钥的处理速度上(解密

53、和签名),(解密和签名),(解密和签名),(解密和签名),ECCECC远远远远比比比比RSARSA、DSADSA快得多。快得多。快得多。快得多。(3 3)存储空间占用小)存储空间占用小)存储空间占用小)存储空间占用小 ECCECC的密钥尺寸和系统参数与的密钥尺寸和系统参数与的密钥尺寸和系统参数与的密钥尺寸和系统参数与RSARSA、DSADSA相比要小得多,相比要小得多,相比要小得多,相比要小得多, 所以占用的存储空间小得所以占用的存储空间小得所以占用的存储空间小得所以占用的存储空间小得多。多。多。多。(4 4)带宽要求低使得)带宽要求低使得)带宽要求低使得)带宽要求低使得ECCECC具有广泛得

54、应用前景。具有广泛得应用前景。具有广泛得应用前景。具有广泛得应用前景。从使用情况来看,闭胸式的使用比较广泛。敞开式盾构之中有挤压式盾构、全部敞开式盾构,但在近些年的城市地下工程施工中已很少使用,在此不再说明。 椭圆曲线密码体制的优点椭圆曲线密码体制的优点n n密钥量小密钥量小实现相同安全性条件下,实现相同安全性条件下,实现相同安全性条件下,实现相同安全性条件下,ECCECC所需密钥量远下雨所需密钥量远下雨所需密钥量远下雨所需密钥量远下雨有限域上离散对数问题的公钥体制的密钥量有限域上离散对数问题的公钥体制的密钥量有限域上离散对数问题的公钥体制的密钥量有限域上离散对数问题的公钥体制的密钥量n n灵

55、活性好灵活性好通过改变参数可以获得不同的曲线,具有丰富的通过改变参数可以获得不同的曲线,具有丰富的通过改变参数可以获得不同的曲线,具有丰富的通过改变参数可以获得不同的曲线,具有丰富的群结构和多选择性群结构和多选择性群结构和多选择性群结构和多选择性ECC的这些特点使它必将取代的这些特点使它必将取代RSA,成为通用,成为通用的公钥加密算法。比如的公钥加密算法。比如SET协议的制定者已协议的制定者已把它作为下一代把它作为下一代SET协议中缺省的公钥密码协议中缺省的公钥密码算法。算法。从使用情况来看,闭胸式的使用比较广泛。敞开式盾构之中有挤压式盾构、全部敞开式盾构,但在近些年的城市地下工程施工中已很少

56、使用,在此不再说明。 椭圆曲线公钥密码ECC在安全性设计方面,在安全性设计方面,Menezes,Okamoto和和Vanstone 指出应避免选用超奇异曲线,否指出应避免选用超奇异曲线,否则椭圆曲线群上的离散对数问题退化为有则椭圆曲线群上的离散对数问题退化为有限域低次扩域上的离散对数问题,从而能限域低次扩域上的离散对数问题,从而能在在“多项式时间多项式时间”上可解。他们还指出,上可解。他们还指出,若所用循环子群的阶数达若所用循环子群的阶数达2160,则可提供足,则可提供足够的安全性。够的安全性。从使用情况来看,闭胸式的使用比较广泛。敞开式盾构之中有挤压式盾构、全部敞开式盾构,但在近些年的城市地

57、下工程施工中已很少使用,在此不再说明。 练习练习1n n椭圆曲线加密椭圆曲线加密椭圆曲线加密椭圆曲线加密/ /解密方案中,这个密码系统的解密方案中,这个密码系统的解密方案中,这个密码系统的解密方案中,这个密码系统的参数是参数是参数是参数是E11(1,6)E11(1,6)和和和和G=(2,7)G=(2,7)。B B的秘密密钥是的秘密密钥是的秘密密钥是的秘密密钥是nB=7nB=7。(要求有计算点的详细过程,(要求有计算点的详细过程,(要求有计算点的详细过程,(要求有计算点的详细过程,不能直接给答案,否则算错)不能直接给答案,否则算错)不能直接给答案,否则算错)不能直接给答案,否则算错)(1 1)求

58、)求)求)求B B的公开密钥的公开密钥的公开密钥的公开密钥PB;PB;(5 5分)分)分)分)(2 2)A A希望解密报文希望解密报文希望解密报文希望解密报文Pm=(10,9)Pm=(10,9),并选择随机,并选择随机,并选择随机,并选择随机数数数数k=3k=3,确定密文,确定密文,确定密文,确定密文Cm.Cm.(6 6分)分)分)分)(3 3)给出)给出)给出)给出B B用来从用来从用来从用来从CmCm中恢复中恢复中恢复中恢复PmPm的计算过程(即的计算过程(即的计算过程(即的计算过程(即证明是可逆的)。(证明是可逆的)。(证明是可逆的)。(证明是可逆的)。(4 4分)分)分)分)从使用情况

59、来看,闭胸式的使用比较广泛。敞开式盾构之中有挤压式盾构、全部敞开式盾构,但在近些年的城市地下工程施工中已很少使用,在此不再说明。 练习练习2n n考虑一个其共享素数考虑一个其共享素数q=71,而一个原根为,而一个原根为7的的ElGamal方案。方案。(1)如果)如果B有一个公开密钥为有一个公开密钥为3而而A选择了选择了随机整数随机整数2,M=30对应的密文是什么?对应的密文是什么?(2)如果现在)如果现在A选择一个不同的选择一个不同的k值以便将值以便将M=30加密为加密为C=(59,C2),整数,整数C2是什么是什么?从使用情况来看,闭胸式的使用比较广泛。敞开式盾构之中有挤压式盾构、全部敞开式

60、盾构,但在近些年的城市地下工程施工中已很少使用,在此不再说明。 练习练习3n n假定用户假定用户A和和B使用使用Diffie-Hellman密密钥交换协议来确定一个共同的密钥钥交换协议来确定一个共同的密钥k,他们使用的素数为他们使用的素数为p=11,Zp的生成元的生成元为为g=2,如果用户,如果用户A选择的秘密随机数选择的秘密随机数为为rA=5,用户,用户B选择的秘密随机数为选择的秘密随机数为rB=7,试问,试问k是多少?是多少?从使用情况来看,闭胸式的使用比较广泛。敞开式盾构之中有挤压式盾构、全部敞开式盾构,但在近些年的城市地下工程施工中已很少使用,在此不再说明。 练习练习4n n考虑下列考

61、虑下列考虑下列考虑下列B B用来加密发给用来加密发给用来加密发给用来加密发给A A的报文的方案。的报文的方案。的报文的方案。的报文的方案。AA选择两个素数选择两个素数选择两个素数选择两个素数P P和和和和QQ,它们与,它们与,它们与,它们与(P-1)(P-1)和和和和(Q-1)(Q-1)互素;互素;互素;互素;AA公布公布公布公布N=PQN=PQ作为它的公开密钥;作为它的公开密钥;作为它的公开密钥;作为它的公开密钥;AA计算计算计算计算PP与与与与QQ使得使得使得使得 PP1mod(Q-1),QQPP1mod(Q-1),QQ1mod(P-1)1mod(P-1)成立;成立;成立;成立;BB加密报文加密报文加密报文加密报文MM为为为为CMCMN N modNmodNAA通过解通过解通过解通过解M1C(P)modQM1C(P)modQ和和和和MM1(Q)modPMM1(Q)modP求出求出求出求出M.M.问:问:问:问:1 1)解释这个方案工作的原理;)解释这个方案工作的原理;)解释这个方案工作的原理;)解释这个方案工作的原理;22)它与)它与)它与)它与RSARSA有何不同。有何不同。有何不同。有何不同。

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 教学/培训

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号