RSA和DES加密算法详解.ppt

上传人:小飞机 文档编号:5446946 上传时间:2023-07-08 格式:PPT 页数:25 大小:1.42MB
返回 下载 相关 举报
RSA和DES加密算法详解.ppt_第1页
第1页 / 共25页
RSA和DES加密算法详解.ppt_第2页
第2页 / 共25页
RSA和DES加密算法详解.ppt_第3页
第3页 / 共25页
RSA和DES加密算法详解.ppt_第4页
第4页 / 共25页
RSA和DES加密算法详解.ppt_第5页
第5页 / 共25页
点击查看更多>>
资源描述

《RSA和DES加密算法详解.ppt》由会员分享,可在线阅读,更多相关《RSA和DES加密算法详解.ppt(25页珍藏版)》请在三一办公上搜索。

1、,RSA算法原理及其编程实现,RSA算法的产生,Part 1,RSA公钥加密算法,RSA是目前最有影响力的公钥加密算法,它能够抵抗到目前为止已知的绝大多数密码攻击,已被ISO推荐为公钥数据加密标准。RSA算法基于一个十分简单的数论事实:将两个大素数相乘十分容易,但是想要对其乘积进行因式分解却极其困难,因此可以将乘积公开作为加密密钥。,1随机选择两个秘密的质数p、q2计算公开的模数,n=p*q3计算秘密的(n)=(p-1)*(q-1)4选择一个与(n)互质的量e 5求K的乘法逆元素,用扩展欧几里得算法,模为(n)6明文X的值应在0至n-1之间,计算Xe(mod n)产生密文Y,完成加密操作7计算

2、Yd(mod n)产生明文X,完成解密操作,RSA算法描述,Part 2,1、随机选择两个秘密的质数p,q(89,97)2计算公开的模数np*q(8633)3计算秘密的欧拉函数(n)=(p-1)*(q-1)(8448),/*判定一个数是否为素数*/bool test_prime(Elemtype m)bool pd;int i;for(i=2;i m;i+)if(m%i=0)break;if(m=i)pd=1;else pd=0;return pd;,RSA编程实现(C语言),Part 3,4、选择一个与(n)互质的量e,/*求最大公约数*/Elemtype gcd(Elemtype a,El

3、emtype b)order(a,b);int r;if(b=0)return a;else,RSA编程实现(C语言),Part 3,while(true)r=a%b;a=b;b=r;if(b=0)return a;break;,5用扩展欧几里得算法求K的乘法逆元素d,模为(n),Elemtype extend_euclid(Elemtype m,Elemtype bin)order(m,bin);Elemtype a3,b3,t3;a0=1,a1=0,a2=m;b0=0,b1=1,b2=bin;if(b2=0)return a2=gcd(m,bin);if(b2=1)return b2=gc

4、d(m,bin);,RSA编程实现(C语言),Part 3,while(true)if(b2=1)return b1;break;int q=a2/b2;for(int i=0;i3;i+)ti=ai-q*bi;ai=bi;bi=ti;,6明文X的值应在0至n-1之间,计算Xe(mod n)产生密文Y,完成加密操作,void encrypt()if(flag=0)coutm;c=modular_multiplication(m,pu.e,pu.n);cout密文 is:cendl;cout请输入下一步操作;,RSA编程实现(C语言),Part 3,7.计算Yd(mod n)产生明文X,完成解密

5、操作,void decrypt()if(flag=0)coutc;m=modular_multiplication(c,pr.d,pr.n);cout明文 is:mendl;cout请输入下一步操作;,RSA编程实现(C语言),Part 3,DES算法原理及其编程实现,DES算法简介,Part 1,DES=Data Encryption Standard=数据加密标准,DES是一种典型的块密码,即一种将固定长度的明文通过一系列复杂的操作变成同样长度的密文的算法明文长度为64位。同时,DES使用密钥来自定义变换过程,因此算法认为只有持有加密所用的密钥的用户才能解密密文。密钥长度为64位。然而只有

6、其中的56位被实际用于算法,其余8位可以被用于奇偶校验,并在算法中被丢弃。因此,DES的有效密钥长度为56位,因为密钥太短,现已被攻破。改为使用三重DES算法,即3DES。经过16轮迭代和置换,得到密文长度为64位。,DES算法原理,Part 2,明文64 bits,密钥64 bits,密文64 bits,F函数32 bits,子密钥48 bits,DES算法原理初始置换和逆置换,Part 2,DES算法中所有的置换表都是给定的,DES编程实现初始置换和逆置换,Part 3,DES算法原理第一轮迭代,Part 2,64bits明文进行IP置换64bits明文分为左右两部分,分别为32bits右

7、边32bits直接放入下一轮的左边32bits左边32bits与F函数异或之后放入下一轮的右边32bits,DES算法原理子密钥生成,Part 2,56bits密钥分成左右两边,经过置换、左移、选位得到48bits的子密钥,DES算法原理F函数生成,Part 2,左边32bitsE盒置换得到48bits,异或,得到48bits,17,DES编程实现E置换表,Part 3,DES算法原理F函数生成,Part 2,左边32bitsE盒置换得到48bits,异或,得到48bits,19,DES算法原理S盒置换,Part 2,6 bits*8组 S盒 4 bits*8组 48 bits S盒 32 bits,DES编程实现S盒置换,Part 3,DES算法原理F函数生成,Part 2,经过P置换表得到32bits,即F函数,异或,得到48bits,22,DES编程实现P置换表,Part 3,DES算法原理F函数生成,Part 2,经过P置换表得到32bits,即F函数,异或,得到48bits,DES算法原理十六轮迭代,Part 2,右边32bits直接放入下一轮的左边32bits左边32bits与F函数异或之后放入下一轮的右边32bits迭代16次之后再进行逆置换FP,得到64bits密文,25,DES算法原理解密过程,Part 2,DES的解密过程就是加密的逆过程。,

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

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


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号