




免费预览已结束,剩余30页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1,第四章公开密钥密码体制,一.基本要求与基本知识点(1)掌握公钥密码体制的基本概念;(2)掌握RSA的密钥产生、加密及解密过程;(3)理解ELGamal体制的密钥产生、加密及解密过程;(4)理解背包体制的密钥产生、加密及解密过程。二.教学重点与难点(1)公钥密码体制的基本概念;(2)RSA体制;(3)ELGamal体制;(4)背包体制。,2,4.1公钥密码体制的基本概念,公钥密码体制是为了解决对称密码体制中最难解决的两个问题而提出的。一是对称密码技术的密钥分配问题。在对称密码体制中,加密密钥和解密密钥是相同的,任何人只要获得加密密钥,才能对密文进行解密,获得明文。利用对称密码体制进行保密通信时,密钥不能公开,要通过安全信道传送给合法的接收者。若网络中有n个人要互相进行保密通信的话,每一个人就须保存另外n-1的密钥,因而网络中就会有n(n-1)2个密钥,且为安全起见,密钥需要经常更换。因此当n较大时,大量密码的产生、分发和更换十分困难,即密钥管理变得十分复杂。二是对称密码不能实现数字签名,无法证实信息的真实性。,3,Diffie和Hellmna于1976年在密码学的新方向中首次提出了公钥密码的观点,即为每个用户分配两个相互匹配又相互独立的密钥,其中:一个密钥被公开,称为公开密钥(公钥),用于加密。另一个密钥被保密,称为私有密钥(私钥),用于解密。所有用户的公钥均登记在类似电话号码簿的密钥本上。当要给用户A发送加密信息时,需要在密码本上查找A用户的公钥,然后加密信息,并发给用户A。用户A接收到密文之后,用自己的私钥进行解密即可得到明文。,4,1977年由Rivest(李维斯特)、Shamir(沙米尔)和Adleman(埃德曼)共同提出了第一个公钥密码算法(即RSA密码体制),是公钥密码中最优秀的加密算法,被誉为密码学发展史上的里程碑之一。此后,人们基于不同的计算问题提出了大量的公钥密码算法。在公钥密码体制(Public-KeyCryptosystem)中,加密和解密使用两把不同的密钥,即公钥(PublicKey)和私钥(PrivateKey)。公钥可以被任何人知道,用于加密消息以及验证签名;私钥仅仅自己知道,用于解密消息和签名。因此又称其为非对称密码体制(AsymmetricCryptosystem)。如果能从公开的加密密钥推出解密密钥,那么这种密码体制就是不安全的。,5,与对称密码体制所采取的技术不同,公钥密码算法是基于数学函数,而不是基于代换和置换。因此要构造一个公钥密码体制时,必须寻找符合下列条件的函数f(x):(1)对于f(x)定义域中的每个x,使f(x)=y,均存在函数f-1(y),使f-1(f(x)=x;-相当于加密和解密变换均存在(2)f(x)和f-1(y)都容易计算;-相当于加密和解密过程都容易进行(3)已知f(x),求出f-1(y)非常困难。-相当于由密文推出明文困难。,6,4.1.2加密模型和认证模型,一个公钥密码体制由6个部分构成:明文,加密算法,公钥和私钥,密文,解密算法。可以构成两种基本的模型:加密模型和认证模型。1、加密模型-保密性在加密模型中,发送方用接收方的公钥作为加密密钥,接收方用自己的私钥作解密密钥。由于该私钥只有接收方拥有,因此只有接收者才能解密密文,得到明文。,7,如图4-1所示,假设用户A向用户B发送消息M。在发送方,用户A首先用用户B的公钥PUB加密消息M,得到密文:;在接收方,用户B用自己的私钥PRB解密密文C,得到明文:由于只有B知道PRB,所以其他人不能解密C。,8,图4-1公钥加密模型,9,4.1.2加密模型和认证模型,2、认证模型-认证性(完整性、真实性)在认证模型中,发送方用自己的私钥对消息进行变换,产生数字签名。接收者用发送者的公钥对数字签名进行验证以确定签名是否有效。只有拥有私钥的发送者才能对消息产生有效的数字签名,所以其他人不能伪造其签名。任何人都可以得到发送方的公钥,因此可以用签名人的公钥,来验证其数字签名的有效性。,10,如图4-2所示,用户A首先用自己的私钥PRA对消息M做解密变换,即数字签名:;在接收方,用户B用A的公钥PUA对C做加密变换,即验证A的数字签名:。,11,图4-2公钥认证模型,12,4.2RSA密码体制,RSA密码体制是1977年由Rivest、Shamir、Adleman提出的非常著名的公钥密码算法。RSA算法的安全性基于:求两个大素数的乘积是容易的,但分解两个大素数的乘积,求出其素因子则是困难的,它属于NP完全类问题,至今没有有效的算法。RSA算法是一种分组密码,明文和密文是0到n-1之间的整数,通常n的大小为1024位二进制数或309位十进制数。,13,1、密钥的产生(1)随机选择两个大素数(如100位十进制数)p和q,令n=pq;(2)计算欧拉函数(见定理2.1.1)(n)=n(1-1/p)(1-1/q)=(p-1)(q-1);(3)选择e使得1e(n),且gcd(e,(n)=1;(4)计算ded1mod(n),且0dn(5)公开公钥:PU=e,n;(6)保存私钥:PR=d,p,q。,14,2、加密过程(1)在公钥库中查得用户U的公钥:PU=e,n;(2)将明文分组m=m1m2mr,使得0min,i=1,2,r;(3)对明文分组mi作加密变换:ci=E(mi)miemodn,i=1,2,r(4)将密文c1c2cr传送给用户U。3、解密过程(1)先对每组密文做解密变换:mi=D(ci)cidmodn(2)合并分组得到明文m=m1m2mr。,15,图4-3RSA算法,16,【例4-1】选择素数:p=47和q=71,并选取e=79,求出RSA算法的公钥和私钥。,【解】:(1)计算:n=pq=4771=3337,(n)=(p-1)(q-1)=4670=3220。(2)选择e:使gcd(e,3220)=1,选取e=79;(3)求解d:de1mod3220,即79d1mod3220辗转除法:3220=4079+6079=160+1960=319+319=63+1,17,回代:1=19-63=19-6(60-319)=1919-660=19(79-160)-660=1979-2560=1979-25(3220-4079)=101979-253220两边同时对模3220进行求余运算得1019791mod3220于是d=1019(4)公开公钥PU=e,n=79,3337保存私钥PR=d,p,q=1019,47,71;,18,(5)假设消息为m=6882326879666683,进行分组,分组的位数比N要小,我们选取m1=688,m2=232,m3=687,m4=966,m5=668,m6=003。加密变换:ci=E(mi)miemodN,即m1的密文为c168879mod33371570mod3337,c1=1570,依次进行类似计算。可得到最终密文为:c=1570275620912276158解密变换:mi=D(ci)cidmodN,即c1的明文m115701019mod3337688mod3337,m1=688,依次可以求出其他明文。最后恢复明文为:m=6882326879666683,19,RSA密码体制的特点(1)运算速度慢由于进行的都是大数计算,使得RSA最快的情况也比DES慢上100倍,一般来说适用于少量数据的加密。(2)产生密钥烦琐产生密钥很麻烦,受到素数产生技术的限制。,20,4.2.2RSA算法的安全性,RSA体制的安全性是基于大数的因子分解问题,大数的因子分解在数学上是一个难解问题,即无法从公钥参数n中计算出素数因子(大于100个十进制位)p和q,于是无法计算出(n)=(p-1)(q-1),也就无法计算出私钥d,从而保证非法者不能对密文进行解密。,21,RSA的安全性依赖于大数分解困难,即从一个密钥和密文推断出明文的难度等同于分解两个大素数的积。显然,分解n是最常遇到的攻击方法。在算法中要求p和q均大于100位十进制数,这样的话n至少200位十进制数,目前人们已能分解140多位的十进制数的大素数。最新记录是129位十进制数的因数分解,在网络通过分布计算被成功分解。估计对200位十进制数的因数分解,在亿次计算机上也要进行55万年。,22,4.3EIGamal密码体制,该体制是1985年由EIGamal提出的一个著名的公钥密码算法。该算法既能用于数据加密也能用于数字签名,其安全性依赖于离散对数这一难题。【离散对数问题:设g,x,p是正整数。已知g,x和p,可以容易地求出y,使得:ygx(modp)反之,如果已知y,g和p,求x,这就是离散对数问题,属NP完全类问题,是难解的。】,23,1.密钥产生(1)任选一个大素数p(300位十进制数),使得p-1有大素因子,g是模p的一个本原根(即g是0,1,2,p-1中与p互素的数),公开p与g;(2)任选一私钥x,x0,p-1;(3)计算ygx(modp);(4)公开公钥:y;(5)保密私钥:x;,24,2.加密过程(1)在公钥库中查得用户U的公开密钥:y;(2)对于明文m,随机选取一个整数r,r0,p-1(3)计算c1gr(modp)c2myr(modp)(4)将(c1,c2)作为密文发给用户U.。3.解密过程(1)先计算w(c1x)-1(modp)(2)再计算出明文mc2w(modp)【因为w(c1x)-1(modp)-wc1x1(modp)-w(gr)x1(modp)-w(gx)r1(modp)-wyr1(modp)-wmyrm(modp)-wc2m(modp)-mc2w(modp)】,25,与RSA方法比较,ElGamal方法具有以下优点:(1)系统不需要保存秘密参数,所有的系统参数均可公开;(2)密文依赖于加密过程所选择的随机数r,加密相同的明文可能会产生不同的密文;(3)ElGamal方法的计算复杂度比RSA方法要大。,26,【例4-2】假设Alice想要加密消息m=1299后传送给Bob。,(1)密钥产生Alice任选一个大素数p为2579,g是模p的一个本原根,取g为2,公开参数p,g。任选私钥x为765,计算公钥ygx(modp)2765(mod2579)949(mod2579),公开:PU=949,保密:PR=765。,27,(2)加密Alice在0,p-1=0,2578内任选r为853,计算:c1gr(modp)2853(mod2579)435(mod2579)c2myr(modp)1299*949853(mod2579)2396(mod2579)Alice将(c1,c2)=(435,2396)作为密文发给Bob。(3)解密Bob计算:mc2w(modp)c2*(c1x)-1(modp)(c2*c1p-1-x)(modp)(2396*4352579-1-765)(mod2579)(2396*4351813)(mod2579)1299(mod2579),28,4.4背包密码体制,背包密码体制是1978年由Merkle(默克尔)和Hellman(赫尔曼)基于求解背包问题的困难性提出的一个公开密钥体制。我们第二章曾经讲过背包问题是一个NP完全类问题。但不是所有的背包问题都是难解的,超递增背包序列就很容易求解。定义4.3.1正整数序列a1,a2,an称为超递增的,若对于任意(1n-1),有例如(1,2,4,8,16)就是一个超递增序列。,29,定理4.3.1由超递增序列a1,a2,an及k确定的超递增背包问题是容易求解的。(即对于背包问题:其中已知超递增序列a1,a2,an及k,容易求出X=(x1,x2,xn)),30,1.密钥产生(1)随机选取一个超递增序列(e1,e2,en),作为用户的私钥加以保存,记为PR;(2)选取一对大的互素的数w和N,把序列(e1,e2,en)变换为:T(ei)wei(modN)即做MH变换,将一个超递增序列转换为一个普通序列后作为公钥,记为PU;(3)将公钥PU=(T(e1),T(e2),T(en))加以公布。,31,2.加密过程(1)在公钥库中查出用户U的公钥:PU=(T(e1),T(e2),T(en))(2)将明文表示成n位长的0/1字符序列,即m=m1m2mn,mi=0/1;(3)对明文做加密变换:c=E(m)=m1T(e1)+m2T(e2)+mnT(en)=(4)将密文c发给用户U。,32,3.解密过程(1)计算cw-1c(modN);(2)按超递增序列(e1,e2,en)从c中还原mi(相当于求解特殊的背包问题);(3)得到明文m=m1m2mn。,33,【以下说明如何按超递增序列(e1,e2,en)从c中还原mi?因为c=E(m)=m1T(e1)+m2T(e2)+nT(en)=,而T(ei)wei(modN)所以c,cw-1于是c由已知w和N互素,则有ww-11(modN),因此c其中,已知c和ei,求mi,即按超递增序列(e1,e2,en)从c中还原mi,就变成求解特殊的背包问题,是容易求解的,因此解密是容易进行的。】,34,关于背包密码体制的安全问题说明如下。由于,c=是个普通背包问题,由公开信息c和T(ei)求出明文是难解问题,所以破译是困难的。而解密时,是按超递增序列(e1
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025江西南昌市青山湖区招聘社区工作者(专职网格员)45人模拟试卷及一套答案详解
- 2025广东广州市公安局越秀区分局招聘辅警50人模拟试卷及答案详解(新)
- 2025届中铁一局高校毕业生春季招聘正式启动笔试题库历年考点版附带答案详解
- 2025江苏泰州市中西医结合医院招聘高层次卫生专业技术人才5人考前自测高频考点模拟试题附答案详解(考试直接用)
- 2025年山东省标准化研究院公开招聘人员考前自测高频考点模拟试题完整参考答案详解
- 2025湖北省通山县高层次紧缺专业人才引进60人模拟试卷有完整答案详解
- 2025昆明市五华人民医院招聘派遣制工作人员(1人)考前自测高频考点模拟试题附答案详解(典型题)
- 2025吉林四平市悦萍水利管理有限公司面向社会公开招聘3人笔试题库历年考点版附带答案详解
- 2025中国铁塔股份有限公司社招+校招开启笔试题库历年考点版附带答案详解
- 2025花卉种植专业户发展协议
- 河道疏浚外运施工方案
- 银行职业介绍课件
- 辽宁省盘锦市大洼区田家学校2024-2025学年九年级上学期第四次质量检测语文试卷
- 广东省惠州市联考2024-2025学年上学期12月教学质量阶段性诊断八年级数学试卷(无答案)
- 工程结算协议书
- 砖砌围墙施工方案
- 2024-2030年中国痘痘贴行业营销动态及消费需求预测研究报告
- 《人工智能导论》(第2版)高职全套教学课件
- 疑问句(课件)六年下册英语人教PEP版
- 视力残疾康复服务规范
- HG T 3690-2022 工业用钢骨架聚乙烯塑料复合管
评论
0/150
提交评论