DES与RSA加密解密算法

上传人:小*** 文档编号:240547663 上传时间:2024-04-15 格式:PPT 页数:33 大小:77.50KB
收藏 版权申诉 举报 下载
DES与RSA加密解密算法_第1页
第1页 / 共33页
DES与RSA加密解密算法_第2页
第2页 / 共33页
DES与RSA加密解密算法_第3页
第3页 / 共33页
资源描述:

《DES与RSA加密解密算法》由会员分享,可在线阅读,更多相关《DES与RSA加密解密算法(33页珍藏版)》请在装配图网上搜索。

1、DES 与与 RSA 加解密算法加解密算法两种加密算法两种加密算法l对称加解密算法:通信双方(通信主体)同时掌握一个钥匙,加解密都由这一个钥匙完成。l公私钥加解密算法:通信双方(通信主体)彼此掌握不同的钥匙,不同方向的加解密由不同钥匙完成。对称加解密算法对称加解密算法l通信双方通信前共同拟定一个密钥,不对第三方公开。l消息发送前都通过该密钥加密,到达后也通过该密钥解密。l不具有个体原子性,一个密钥被共享,泄露机率加大。对称加解密过程对称加解密过程1.通信双方甲、乙共同拟定一个密钥,共享。2.任何一方发信时都以该共享密钥加密再发送。3.收信方同样以该密钥解密。4.复信同上。公钥与私钥公钥与私钥l

2、权威数字认证机构(CA)给所有通信主体(个人或组织)颁发公钥和私钥,彼此配对,分别唯一。l私钥好比数字指纹,同时具有解密和加密功能。个人保管,不公开。l公钥好比安全性极高的挂号信箱地址,公开。公私钥加解密举例公私钥加解密举例l设若甲有一份需保密的数字商业合同发给乙签署。经过如下步骤:1.甲用乙的公钥对合同加密。2.密文从甲发送到乙。3.乙收到密文,并用自己的私钥对其解密。4.解密正确,经阅读,乙用自己的私钥对合同进行签署。5.乙用甲的公钥对已经签署的合同进行加密。6.乙将密文发给甲。7.甲用自己的私钥将已签署合同解密。8.解密正确,确认签署。公私钥加解密说明公私钥加解密说明l从以上步骤,我们知

3、道:1.用公钥加密的密文能且只能用与其唯一配对的私钥才能解开。2.如果某份密文被解开,那么肯定是密文的目标信息主体解开的。3.私钥因其唯一标识所有者的属性,被用于数字签名,具有法律效力。DES 与与 RSA 加解密算法加解密算法lDES 是一种单一密钥加解密算法。通信主体之间只有一个密钥,该密钥不对第三方公开。lRSA 则是公钥/私钥系统。该系统比 DES 系统更原子化,具有普遍应用意义。DES 加解密算法加解密算法lDES(Data Encryption Standard),是IBM在上个世纪70年代开发的单密钥对称加解密算法。l该算法利用一个56+8奇偶校验位(第8,16,24,32,40

4、,48,56,64位)=64位的密钥对以64位为单位的块数据进行加解密。DES 加解密算法:加解密算法:In Actionl有明文M(64位)=0123456789ABCDEF,即M(64位)=0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111lL(32位)=0000 0001 0010 0011 0100 0101 0110 0111R(32位)=1000 1001 1010 1011 1100 1101 1110 1111DES 加解密算法:加解密算法:In Actionl有密钥K(

5、64位)=133457799BBCDFF1,即K(64位)=00010011 00110100 01010111 01111001 10011011 10111100 11011111 11110001 l其中红色标注为奇偶校验位,即实际密钥为56位。第一步:生成第一步:生成16个子钥个子钥(48位位)l对对K使用使用PC-1(87)57 49 41 33 25 17 9 1 58 50 42 34 26 18 10 2 59 51 43 35 27 19 11 3 60 52 44 36 63 55 47 39 31 23 15 7 62 54 46 38 30 22 14 6 61 53

6、45 37 29 21 13 5 28 20 12 4 第一步:生成第一步:生成16个子钥个子钥(48位位)l从而,由从而,由K(64位位)=00010011 00110100 01010111 01111001 10011011 10111100 11011111 11110001 l得到得到K+(56位)=1111000 0110011 0010101 0101111 0101010 1011001 1001111 0001111 l进而,C0(28位)=1111000 0110011 0010101 0101111 D0(28位)=0101010 1011001 1001111 0001

7、111 第一步:生成第一步:生成16个子钥个子钥(48位位)C1和D1分别为C0和D0左移1位。C3和D3分别为C2和D2左移2位 第一步:生成第一步:生成16个子钥个子钥(48位位)l从而得到从而得到C1D1 C16D16:lC1=1110000110011001010101011111D1=1010101011001100111100011110 lC2=1100001100110010101010111111D2=0101010110011001111000111101 lC3=0000110011001010101011111111D3=010101100110011110001111

8、0101 lC4=0011001100101010101111111100D4=0101100110011110001111010101 llC15=1111100001100110010101010111D15=1010101010110011001111000111 lC16=1111000011001100101010101111D16=0101010101100110011110001111 第一步:生成第一步:生成16个子钥个子钥(48位位)lKn(48位位)=PC-2(CnDn(56位位)lPC-2(86)l14 17 11 24 1 5l3 28 15 6 21 10l 23 1

9、9 12 4 26 8l 16 7 27 20 13 2l 41 52 31 37 47 55l 30 40 51 45 33 48l 44 49 39 56 34 53l 46 42 50 36 29 32 第一步:生成第一步:生成16个子钥个子钥(48位位)l最终得到所有16个子钥,每个48位:K1=000110 110000 001011 101111 111111 000111 000001 110010 K2=011110 011010 111011 011001 110110 111100 100111 100101K3=010101 011111 110010 001010 01

10、0000 101100 111110 011001K4=011100 101010 110111 010110 110110 110011 010100 011101K5=011111 001110 110000 000111 111010 110101 001110 101000K6=011000 111010 010100 111110 010100 000111 101100 101111K7=111011 001000 010010 110111 111101 100001 100010 111100K8=111101 111000 101000 111010 110000 01001

11、1 101111 111011K9=111000 001101 101111 101011 111011 011110 011110 000001K10=101100 011111 001101 000111 101110 100100 011001 001111K11=001000 010101 111111 010011 110111 101101 001110 000110K12=011101 010111 000111 110101 100101 000110 011111 101001K13=100101 111100 010111 010001 111110 101011 1010

12、01 000001K14=010111 110100 001110 110111 111100 101110 011100 111010K15=101111 111001 000110 001101 001111 010011 111100 001010K16=110010 110011 110110 001011 000011 100001 011111 110101第二步:用子钥对第二步:用子钥对64位数据加密位数据加密l对明文对明文M使用使用IP(88)l58 50 42 34 26 18 10 2l 60 52 44 36 28 20 12 4l 62 54 46 38 30 22 1

13、4 6l 64 56 48 40 32 24 16 8l 57 49 41 33 25 17 9 1l 59 51 43 35 27 19 11 3l 61 53 45 37 29 21 13 5l 63 55 47 39 31 23 15 7 第二步:用子钥对第二步:用子钥对64位数据加密位数据加密l由于M(64位)=0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111l对M运用IP,故有IP(64位)=1100 1100 0000 0000 1100 1100 1111 1111 11

14、11 0000 1010 1010 1111 0000 1010 1010 第二步:用子钥对第二步:用子钥对64位数据加密位数据加密lIP(64位)=L0(32位)+R0(32位)l故lL0(32位)=1100 1100 0000 0000 1100 1100 1111 1111 R0(32位)=1111 0000 1010 1010 1111 0000 1010 1010 第二步:用子钥对第二步:用子钥对64位数据加密位数据加密l从L0和R0开始,循环16次,得出L1R1到L16R16,依据递推公式:lLn=R(n-1)Rn=L(n-1)+f(R(n-1),Kn)l其中除了Kn为48位,其他

15、变量及函数均为32位。l其中+号表示异或XOR运算,函数f 从一个32位的数据块R(n-1)和一个48位子钥Kn得到一个新的32位数据块。(算法从略)第二步:用子钥对第二步:用子钥对64位数据加密位数据加密l到此为止,我们得到了16对32位的数据块,即L1R1,L2R2,L3R3,L16R16l最后一对L16R16就是我们需要的。第二步:用子钥对第二步:用子钥对64位数据加密位数据加密l继续对R16L16(64位)运用一次重排列:IP-1(88)l40 8 48 16 56 24 64 32l39 7 47 15 55 23 63 31l 38 6 46 14 54 22 62 30l 37

16、5 45 13 53 21 61 29l 36 4 44 12 52 20 60 28l 35 3 43 11 51 19 59 27l 34 2 42 10 50 18 58 26l 33 1 41 9 49 17 57 25 第二步:用子钥对第二步:用子钥对64位数据加密位数据加密l即在L16(32位)=0100 0011 0100 0010 0011 0010 0011 0100 R16(32位)=0000 1010 0100 1100 1101 1001 1001 0101 R16L16(64位)=00001010 01001100 11011001 10010101 01000011

17、 01000010 00110010 00110100 l时,对R16L16运用IP-1,得IP-1(64位)=10000101 11101000 00010011 01010100 00001111 00001010 10110100 00000101=85E813540F0AB405l从而,经过以上步骤,最终从明文M=0123456789ABCDEF得到密文C=IP-1=85E813540F0AB405 l以上为加密过程,要解密,依次反向计算即可。多层多层 DESlDES 算法可能是运用最广的对称加解密算法,但由于密钥长度较短,导致安全性不高。l故在安全性占首要地位的应用场合如金融业等,采

18、用多个不同密钥(K1,K2,K3)的多层DES加解密。l这些多层DES系统被广泛应用,由此衍生出Triple DES,G-DES,DES-X,LOKI89和ICE等对称加解密系统。多层多层 DES 加解密过程加解密过程l以Triple DES为例说明。l加密过程:1.以 K1 加密2.以 K2 解密3.以 K3 加密l解密过程(密钥顺序及应用方向与加密过程相反):1.以 K3 解密2.以 K2 加密3.以 K1 解密多层多层 DES 衍生衍生l如果令K1=K3,则实际进行了双密钥加解密,即Triple DES加解密。l如果令K1=K2=k3,则实际进行了普通单密钥加解密。RSA 加解密算法加解

19、密算法l与DES不同,RSA算法中,每个通信主体都有两个钥匙,一个公钥一个私钥。l一般应用过程为:RSA 一般应用过程一般应用过程乙方乙方甲方甲方明文乙方公钥解密甲方私钥解密甲方私钥加密乙方公钥加密明文甲方公钥解密乙方私钥解密乙方私钥加密甲方公钥加密加密解密密文密文明文密文签名加解密发送加解密RSA 具体算法:公私钥生成具体算法:公私钥生成1.随机选定两个大素数p,q.2.计算公钥和私钥的公共模数 n=pq.3.计算模数n的欧拉函数(n).4.选定一个正整数e,使1 e (n),且e与(n)互质.5.计算d,满足 de 1 (mod(n),(k为某个正整数).6.n与e决定公钥,n与d决定私钥.RSA 具体算法:加解密具体算法:加解密1.小张欲给小李发一个消息M,他先把M转换为一个大数m n,然后用小李的公钥(n&e)把m加密为另一个大数:c=me mod n2.小李收到小张发来的大数c,着手解密.通过自己的私钥(n&d),得到原来的大数m:m=cd mod n3.再把m转换为M,小李即得到小张的原始消息.该过程为小张给小李发消息,公钥为小李的公钥(n&e),私钥为小李的私钥(n&d).RSA 具体算法原理具体算法原理这个过程之所以能通过,是因为有如下等式:cd(me)d med (mod n)THE END

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!