(2)算法复杂性较高,也加大了破译的难度,确保了数据的安全;

(3)DES算法的安全性不依赖于算法的保密,而是由密钥来决定;

(4)DES算法实现较为经济,在不同的应用种都能适用。

DES算法的参数包括了Key、Data、Mode。Key是算法的密钥,Data是加密与解密的数据,Mode就代表了加密或者解密。

当进行加密时,Key对加密的数据进行加密,以密码的形式输出;若为解密时,则还原加密数据输出。当进行通信时,通信的双方约定相同的Key值,以Key对数据进行加密,并以密文的形式传输,数据达到接收方之后,接收方以相同的Key对密文进行解密,还原成明文。DES加密算法确保了数据的传输安全。

1.2 DES加密算法分类

DES加密算法经过了三十多年的发展,在不同的领域都有了重要的应用。虽然DES加密算法的抗破译能力较强,但是在枚举方法面前,还是存在着一定的风险。因此,为了提升DES加密算法的安全性,专家们以扩展密钥位数的基本思想,对DES加密算法进行了不断的改进,比较典型的有以下的下几种[3]:

(1)三重 DES 算法,利用了两个密钥,两个密钥长度为112比特,提升了密钥破解的难度;在加密的过程中,利用了加密-解密-加密的过程;三重 DES 算法的安全性较高,至今仍未被破解。

(2)改变S盒的设计与顺序的算法。

(3)随机化数据加密标准(RDES)算法。

(4)基于 Logistic 映射的分组密码算法和“一组一密”密码系统模型等具有独立密钥的 DES 算法。

1.3 DES加密算法应用

在DES加密算法不断发展的过程中,基于DES算法的加密系统也在不断的发展,主要是在软件加密以及硬件加密上的应用。

(1)软件加密。通过加密软件的运行实现加密,软件加密运行简单。由于密钥经常是明文的形式存储,或者是密文的形态存储但会在某些时段变为明文的形式,进而降低了加密的安全性,加大了软件性能的消耗,使得软件的运行效率降低,系统运行变得缓慢[4]。

(2)硬件加密。硬件加密是利用硬件系统进行的数据加密,对于数据的存储是在硬件中实现。其优点是在主机外部进行加密,提升了数据的安全性与稳定性。另外,数据的兼容性以及系统的运行速度都良好。自从上世纪末,开始使用硬件实现DES算法之后,硬件的加密方法就迅速发展。Wong等人设计了DES芯片;Kaps等人基于FPGA实现了DES算法;Xilinx公司也是基于FPGA实现了DES算法。使得基于硬件的DES算法实现成为了主流趋势。目前,基于硬件的DES加密算法的实现已经在卫星通信、视频传输等方面得到了应用,对社会产生了深远的影响[5]。

2.DES算法实现

2.1 DES算法过程

算法将64位的明文加密成密文,DES对明文进行分组操作。首先进行初始置换,将需要加密的数据分为了相同的两部分,各32位。然后进行16轮计算,计算的函数为f,计算结束之后经过置换,即可完成算法过程。

(1)初始置换

将64位数据按位组合,分成数量相等的32位,置换的规则如表1所示:

输出的第58位置换到第1位,第50位置换到第2位,以此类推。分为了左右各32位的两部分,置换之前的64位数据经过置换后变成了: 。

上一篇:JAVA企业信息管理系统设计与实现
下一篇:asp.net+sqlserver学院毕业生就业管理系统设计+数据流图+ER图

基于Apriori算法的电影推荐

基于PageRank算法的网络数据分析

基于神经网络的验证码识别算法

python基于决策树算法的球赛预测

加密与解密算法的研究【1931字】

详解加密技术概念加密方...

浅析机器學习的通信网络...

国内外图像分割技术研究现状

公寓空调设计任务书

C#学校科研管理系统的设计

承德市事业单位档案管理...

AT89C52单片机的超声波测距...

医院财务风险因素分析及管理措施【2367字】

神经外科重症监护病房患...

志愿者活动的调查问卷表

中国学术生态细节考察《...

10万元能开儿童乐园吗,我...