永发信息网

des算法加密解密的实现

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

最佳答案

一.加密
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


我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
一个安装系统光盘可以安装多台电脑么?
为什么70、80、90出生的家庭或思想都差别那么
一篇关于莲花的文言文
琅口镇地址在哪,我要去那里办事
耶稣基督爱世人,为什么有些人还是不信?
谁可以送我个龙腾博海的问道号?级高点的?谢
我不知道他怎么想的!对我不上心,不是很喜欢
为什么我的手机不能上网只能上QQ,索爱U100A
贵阳市有制作道路灯杆的吗?
小说有什么常识?
星座查看推荐答案
求DNF双剑刺客加点
酒后可以染头发吗?
问道如何领养黑豹〔御灵〕
谁有手机可以下载很纯很暧昧TXT的网址
推荐资讯
在炫舞里怎么回应私密
女生这样说什么意思?
QQ炫舞答题为什么不+积分
杨子浩的旁边那个女是谁?
删除了DNF的MUSIC文件DNF还能正常运行吗
死灵术士的加点及其PK的连击方法
我电脑出现这个问题了 谁帮帮忙啊?高分
数字电视怎么调出频道,怎么把数字机顶盒的电
怀孕31周胎盘1级正常吗?
拉黑 偷菜
笔记本电脑显卡真假辨别
廊大路/廊泊大道(路口)这个地址在什么地方,
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?