DES算法及其在VC++6.0下的实现(上)

445600qk

445600qk

2016-01-29 12:13

DES算法及其在VC++6.0下的实现(上),DES算法及其在VC++6.0下的实现(上)

DES算法及其在VC++6.0下的实现(上)
作者:航天医学工程研究所四室 朱彦军

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/cyuyanjiaocheng/)

下载本文示例源代码

摘要:
本文介绍了一种国际上通用的加密算法—DES算法的原理,并给出了在VC++6.0语言环境下实现的源代码。最后给出一个示例,以供参考。
关键字:DES算法、明文、密文、密钥、VC;

本文程序运行效果图如下:


正文:
当今社会是信息化的社会。为了适应社会对计算机数据安全保密越来越高的要求,美国国家标准局(NBS)于1997年公布了一个由IBM公司研制的一种加密算法,并且确定为非机要部门使用的数据加密标准,简称DES(Data Encrypton Standard)。自公布之日起,DES算法作为国际上商用保密通信和计算机通信的最常用算法,一直活跃在国际保密通信的舞台上,扮演了十分突出的角色。现将DES算法简单介绍一下,并给出实现DES算法的VC源代码。
DES算法由加密、解密和子密钥的生成三部分组成。

一.加密

DES算法处理的数据对象是一组64比特的明文串。设该明文串为m=m1m2…m64 (mi=0或1)。明文串经过64比特的密钥K来加密,最后生成长度为64比特的密文E。其加密过程图示如下:



DES算法加密过程
对DES算法加密过程图示的说明如下:待加密的64比特明文串m,经过IP置换后,得到的比特串的下标列表如下:

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/cyuyanjiaocheng/) 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做不进位的二进制加法运算。运算规则为:

展开更多 50%)
分享

猜你喜欢

DES算法及其在VC++6.0下的实现(上)

C语言教程 C语言函数
DES算法及其在VC++6.0下的实现(上)

DES算法及其在VC++6.0下的实现(下)

C语言教程 C语言函数
DES算法及其在VC++6.0下的实现(下)

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

VC++6.0写的等待提示

编程语言 网络编程
VC++6.0写的等待提示

simulink与vc++6.0接口

编程语言 网络编程
simulink与vc++6.0接口

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

VC++6.0实现视频数据实时获取的探讨

编程语言 网络编程
VC++6.0实现视频数据实时获取的探讨

利用JAVA实现DES加密算法

编程语言 网络编程
利用JAVA实现DES加密算法

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

Servlet、Jsp中的多国语言显示

Servlet、Jsp中的多国语言显示

困扰JSP的一些问题与解决方法

困扰JSP的一些问题与解决方法
下拉加载更多内容 ↓