DES算法分析及应用
- 格式:pdf
- 大小:142.86 KB
- 文档页数:2
第17卷 第12期 中 国 水 运 Vol.17 No.12 2017年 12月 China Water Transport December 2017
收稿日期:2017-09-20
作者简介:邓慧澜(2001-),女,武汉市洪山区高级中学。
钱 潇(1985-),男,常州国光数据通信有限公司 软件工程师,研究方向为计算机软件。
DES 算法分析及应用
邓慧澜1
,钱 潇
2
(1.武汉市洪山区高级中学,湖北 武汉 430079;2.常州国光数据通信有限公司,江苏 常州 213023)
摘 要:随着社会信息化程度的加深,信息加密的要求也越来越高,本文在分析DES 算法设计原理基础上,针对DES 算法的局限性进行了探讨,并根据3DES 方法实现了一种数据加/解密应用,该应用证明了3DES 在数据加密领域是高质、高效的。
关键词:DES;3DES;数据加密
中图分类号:TP309 文献标识码:A 文章编号:1006-7973(2017)12-0101-02
一、引言
DES(Data Encryption Standard)是计算机网络中一种常用的数据加密算法,于1977年被美国联邦政府的国家标准局授权在非密级政府通信中使用,并确定为联邦资料处理标准(FIPS),随后在国际上广泛流传。
DES 算法使用了Shannon 提出的混淆和扩散[1] 两个基本技术,综合运用了代数、代替、置换等多种密码技术。
其目的是为了解决传统服务的身份认证及数据加密问题,避免恶意攻击者对密码系统的分析与统计,并在网络中提供加密通道供客户端与服务端进行数据传输,避免了明文在网络上传输的不安全问题[2]。
二、DES 算法分析
在DES 算法中,输入的明文数据块与输出的密文数据块的长度一致,都是64位,将数据块按位组合实现数据加密,但在实际使用中只用到了56位,另外8位是校验位。
DES 算法可通过如下公式表示加密过程:
DES (h)=IP-1 K16 K15 K14 K13 K12 ...,K3 K2 K1 IP(H)
其中h 为64位明文,h=h1h2h3…h64,加密处理的流程如图1所示。
图1 加密处理流程图
从上图可知,DES 加密的主要步骤如下:
(1)将输入的64位明文数据块进行初始置换,置换后将数据块重新排列,将输出分为前32位和后32位两部分,分别用L 0和R 0表示;
(2)然后64位密钥经过异或,置换,代换,移位操作等固有运算,得到16个子密钥,用q 1,q 2,q 3,…,q 16表示;
(3)进行16轮迭代运算,得到L 16和R 16; (4)将得到的R 16,L 16进行初始置换的逆运算,从而获得密文输出,即IP -1L 16R 16。
从DES 的加密过程中,可以看出在实际应用时只有56位有效,第8、16、24、32、40、48、56、64为奇偶校验位。
如果采用穷举算法进行攻击,这56位长度的密钥在安全性上是远远不够的,仅需搜索其一半,通过DES 的互补性,攻击者只要掌握一半的明文和对应的密文进行逆运算,16个循环之后即能得到破译后的密钥[3]。
三、DES 算法缺陷
经过分析DES 加密过程,DES 的主要缺陷存在于以下三个方面:
(1)DES 采用的是分组加密算法,加密单位是64位的二进制数,由于每组只有8个字符,且部分二进制位还要作为校验位,这对于信息传递来说容量显得太小。
(2)DES 产生的密钥只有56位二进制数,密钥过短,16次迭代时使用的密钥K(i)通过递归产生,密钥数据间的关联性必然影响密钥的安全性。
所以,在当今的技术条件下,采用穷举法推导出正确密钥已经具有可行性。
(3)DES 的核心算法中使用了美国国家安全局提供的非线性变换的8个S 盒组件,而S 盒的设计原理至今尚未公开,具有一定的安全隐患。
当有人知道该秘密而加以利用时,容易导致文件泄密。
四、DES 改进方法
通过剖析DES 算法的主要缺陷,具体的改进方法如下: (1)增加DES 密钥的长度
DES 算法原始的密钥长度为64位,在过去DES 密钥被曝破解的几率很小,但是随着科技的进步,硬件的大幅度提升,当拥有足够的硬件资源进行穷解法去破解密钥是很有可能的,为了避免密钥被破解,可以增加密钥的长度,从而增加DES 算法的安全性。
但是随着DES 密钥长度的增加,DES 算法的运行效率会降低。
(2)多重DES
102 中 国 水 运 第17卷
所谓多重DES,即在DES 的基础上增加密钥长度。
通过多重DES 加密,对64位分组密码实现级联,在3条56位密钥的作用下,实现明文数据的三次加密。
该算法可以将密钥长度延伸到128位或192位,128位采用的是两个子密钥对DES 进行加密-解密,192位采用三个子密钥对DES 进行加密-解密,实际应用中,在密码安全性上比DES 有了较大提升。
(3)对于DES 每一轮迭代使用独立的子密钥 每次循环迭代时都使用独立的子密钥,而不是产生的单个56位密钥。
在16次循环迭代中都使用一个48位的子密钥,采用这种方式的密钥长度可以达到768位。
该方法能够增加穷举算法进行推演的难度,从而大幅增强了DES 的加密强度[4]。
五、3DES 算法应用
本文以DES /3DES 算法为核心,在VC 的环境下实现了一个以DES/3DES 算法为基础的加密/解密工具,并附有一些其他的辅助选项。
软件界面如图2所示。
图2 加密/解密工具界面
软件主要功能如下:
(1)输入/输出:加密后的输出文件总是以.des 为后缀,例如输入文件问hello.txt 加密后的输出文件为:hello.txt.des。
(2)DES:当密钥的长度小于等于8时,采用DES 算法;当密钥的长度大于8时,采用3DES 算法,在3DES 算法中该密钥被拆分成KEY1,KEY2。
(3)选项:该DES 加密解密小精灵设置了3个可选项:加密后删除原文件、解密后删除加密文件、和删除前提示。
(4)加密/解密:当输入文件是以.des 结尾的文件的话,该软件进行解密的工作;当输入文件不是.des 结尾的文件的话,该软件进行加密的工作。
六、结束语
随着互联网规模的不断扩大,其复杂程度越来越高,网络安全越来越受到人们重视,本文是就DES 数据加密算法的几个不足,提出了几种改进方法,并根据3DES 方法实现了一种数据加/解密应用,该应用较好的解决了DES 算法的安全性问题。
参考文献
[1] 陈莉雅,黄理灿,吴传娥.基于三重DES 的SaaS 数据安全
方案[J].工业控制计算机,2015,3.
[2] 冯建祝.利用DES 算法对会计数据进行加密处理研究[J].
长春大学学报,2016,12.
[3] 王全彬.基于混合加密算法的数据加密技术及其应用[J].
数字技术与应用,2016,3.
[4] 温泉,赵红敏,郝晓东等.一种高速高安全性的DES 算法
设计[J].微电子学与计算机,2014,12.
(上接第100页) 四尺岩水域海面被香港、澳门,大陆三方信号覆盖,经常出现各方信号相互干扰、移动通信信号不稳定、数据传输中断现象。
为改变这一现状,维护四尺岩水文站的日常稳定运行,针对四尺岩水文站位置特殊的现状,制定基于北斗卫星通信数据传输的设计方案:
以国家海洋中心技术开发的XZY3型自动海洋站为传感器数据采集器为例:
图1 XZY3型自动海洋站传感器数据采集器
五、结论
基于北斗卫星的报文通信为水文气象数据传输提供了一种科学、有效的传输方案,同时可以很好地解决偏远海区信号覆盖少、及各种复杂信号相互干扰的问题。
本文提出了北斗通信技术在水文观测遥报实现方案,并针对了四尺岩水文站通信的复杂情况,通过北斗卫星通信技术可有效解决存问题。
伴随着北斗卫星通信技术的的快速发展,它在水文气象观测、海域环境监测中的应用有更加广阔的发展前景。
参考文献
[1] 彭伟,徐俊臣,杜玉杰等.基于北斗系统的海洋环境监测
数据传输系统设计[J].海洋技术,2009,03.
[2] 孟宪伟,范晓东.北斗卫星通信在自动气象站数据传输中
的应用[J].卫星应用,2014,03.。