des算法加密解密的实现设计一个具有交互功能的加密、解密算法,要求具有美观的界面,良好的性能,开发工具不限,开发方式不限(WEB方式或者本地应用程序都行)但是要有图形界面,程序能够

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/10 13:29:17
des算法加密解密的实现设计一个具有交互功能的加密、解密算法,要求具有美观的界面,良好的性能,开发工具不限,开发方式不限(WEB方式或者本地应用程序都行)但是要有图形界面,程序能够

des算法加密解密的实现设计一个具有交互功能的加密、解密算法,要求具有美观的界面,良好的性能,开发工具不限,开发方式不限(WEB方式或者本地应用程序都行)但是要有图形界面,程序能够
des算法加密解密的实现
设计一个具有交互功能的加密、解密算法,要求具有美观的界面,良好的性能,开发工具不限,开发方式不限(WEB方式或者本地应用程序都行)但是要有图形界面,程序能够运行:
1.DES算法的实现;明文和密钥用字母或者数字表示(64位二进制用8个字母或者数字,56位二进制用7个字母或者数字)

des算法加密解密的实现设计一个具有交互功能的加密、解密算法,要求具有美观的界面,良好的性能,开发工具不限,开发方式不限(WEB方式或者本地应用程序都行)但是要有图形界面,程序能够
一.加密
DES算法处理的数据对象是一组64比特的明文串.设该明文串为m=m1m2…m64 (mi=0或1).明文串经过64比特的密钥K来加密,最后生成长度为64比特的密文E.其加密过程图示如下:
DES算法加密过程
对DES算法加密过程图示的说明如下:待加密的64比特明文串m,经过IP置换后,得到的比特串的下标列表如下:
IP 58 50 42 34 26 18 10 2
60 52 44 36 28 20 12 4
62 54 46 38 30 22 14 6
64 56 48 40 32 24 16 8
57 49 41 33 25 17 9 1
59 51 43 35 27 19 11 3
61 53 45 37 29 21 13 5
63 55 47 39 31 23 15 7
该比特串被分为32位的L0和32位的R0两部分.R0子密钥K1(子密钥的生成将在后面讲)经过变换f(R0,K1)(f变换将在下面讲)输出32位的比特串f1,f1与L0做不进位的二进制加法运算.运算规则为:
f1与L0做不进位的二进制加法运算后的结果赋给R1,R0则原封不动的赋给L1.L1与R0又做与以上完全相同的运算,生成L2,R2…… 一共经过16次运算.最后生成R16和L16.其中R16为L15与f(R15,K16)做不进位二进制加法运算的结果,L16是R15的直接赋值.
R16与L16合并成64位的比特串.值得注意的是R16一定要排在L16前面.R16与L16合并后成的比特串,经过置换IP-1后所得比特串的下标列表如下:
IP-1 40 8 48 16 56 24 64 32
39 7 47 15 55 23 63 31
38 6 46 14 54 22 62 30
37 5 45 13 53 21 61 29
36 4 44 12 52 20 60 28
35 3 43 11 51 19 59 27
34 2 42 10 50 18 58 26
33 1 41 9 49 17 57 25
经过置换IP-1后生成的比特串就是密文e..
下面再讲一下变换f(Ri-1,Ki).
它的功能是将32比特的输入再转化为32比特的输出.其过程如图所示:
对f变换说明如下:输入Ri-1(32比特)经过变换E后,膨胀为48比特.膨胀后的比特串的下标列表如下:
E:32 1 2 3 4 5
4 5 6 7 8 9
8 9 10 11 12 13
12 13 14 15 16 17
16 17 18 19 20 21
20 21 22 23 24 25
24 25 26 27 28 29
28 29 30 31 32 31
膨胀后的比特串分为8组,每组6比特.各组经过各自的S盒后,又变为4比特(具体过程见后),合并后又成为32比特.该32比特经过P变换后,其下标列表如下:
P:16 7 20 21
29 12 28 17
1 15 23 26
5 18 31 10
2 8 24 14
32 27 3 9
19 13 30 6
22 11 4 25
经过P变换后输出的比特串才是32比特的f (Ri-1,Ki).
下面再讲一下S盒的变换过程.任取一S盒.见图:
在其输入b1,b2,b3,b4,b5,b6中,计算出x=b1*2+b6,y=b5+b4*2+b3*4+b2*8,再从Si表中查出x 行,y 列的值Sxy.将Sxy化为二进制,即得Si盒的输出.(S表如图所示)
至此,DES算法加密原理讲完了.在VC++6.0下的程序源代码为:
for(i=1;i

des算法加密解密的实现设计一个具有交互功能的加密、解密算法,要求具有美观的界面,良好的性能,开发工具不限,开发方式不限(WEB方式或者本地应用程序都行)但是要有图形界面,程序能够 DES加密算法C语言实现用C语言实现DES加密与解密 DES算法加密的算法步骤是 DES加密过程和解密过程的区别 简述RSA体制密钥的生成及其加密、解密算法. 请举例解密密钥和加密密钥相同的密码算法(给出算法名称即可)? 某加解密算法使用两个密钥,该算法可能是:A.双密钥加密,B双重DES,C单密钥加密,D.三重DES此题目是多选题,请附上解释,为什么选这个,不选这个的理由. 编写程序,实现对任意字符串的加密和解密操作.其中,对大小写英文字母的加密规则 给出p、q、e、M,求公钥,私钥,并且利用RSA算法加密和解密?有人知道怎么做这样的一道题目吗,可以的话最好举例子说明,麻烦详细点,给出p、q、e、M,设计一个RSA算法,求公钥,私钥,并且利用RSA算法 密码学几道题混合密码体制的特点?证明小m序列为什么不能直接加密证明DES加密和解密的相似性 怎样改进DES和RSA算法?主要针对加密技术中的对称加密和非对称加密...对称加密以DES算法为代表,非对称加密以RSA算法为代表...怎样在这两种算法的基础上进行算法的改进?从而解决DES保密性不 RSA加密解密AB的过程 DES是使用最广泛的___________算法,现在DES作为数据加密标准已被________所替代. 对称加密算法中,des算法的密钥长度是多少,采用什么进行加密 求RSA加密解密算法,c++源代码知道公钥e和密钥d,如何进行加密解密编码 请问DES加密算法中的这3个函数(获取密钥函数,加密函数与解密函数)的含义是什么(附函数算法)哪位高手可以帮我解释每句代码的含义吗?十分感谢! // 创建Key public string GenerateKey() C++程序中,对一个三位数每位数字加6后除以10取余数(加密),如何解密,输入加密后的,输出原数. 假设需要加密的明文信息为m=14,选择:e=3,p=5,q=11,试说明使用RSA算法的加密和解密过程及结果?