Keep on going, never give up.

DES加解密介绍

DES算法是对称密码算法中最常用的一个,加解密非常方便,几乎每个平台都有现成的加密解密库可供使用,由于DES算法的自身特点及目前的硬件水平,决定DES的应用场景受限,目前,作为替代DES的高人气之选AES也已经使用较为普遍。本博客关于DES、AES基础阅读:

Java DES加密解密实现

Java AES加密解密实现

AES CBC和CTR加解密实例

AES CFB/OFB/ECB/CBC/CTR优缺点

一、DES算法介绍

DES由美国IBM公司1972年研制,加密原理:把明文按64位进行分组,密钥长64位(事实上,只使用了其中的56位,剩余8位用作奇偶校验),分组后的明文块和56位的密钥按位替代或交换的方法形成密文块的加密方法。最终DES算法把64位的明文块变为64位的密文块。输入相同的明文,输出相同的密文,定长明文、定长密文。

DES密钥只是使用了其中的56位(有效位),剩下的第8、16、24、32、40、48、56、64位是校验位,用作奇偶校验。

二、DES工作模式改进

标准的加密模式会导致相同的输入明文输出相同密文,这将为破解和分析造成便利,所以,后来就出现改进的DES工作模式,包括:CBC、ECB、CFB、OFB等模式。工作模式的改进提高了DES的安全性(比如迭代)和便利性(比如流加密、块加密),但终究只是把DES应用在更合适的场合,且部分的提高了安全性。

于是就有了DES算法改进,算法改进可大大提高算法的安全性。

三、DES算法改进

1、3DES介绍

后来为了扩展DES安全性,又出现了Triple DES(3DES)、DES-X、GDES,其中,3DES也就是把当前明文块连续加密三次,所以,使用的密钥也是原来的三倍长。

加密过程:密文 = EK3(DK2(EK1(明文)))

解密过程:明文 = DK1(EK2(DK3(密文)))

加密过程为K1加密 > K2解密 > 再K3加密,解密过程为K3解密 > 加K2密 > 再K1解密。

四、DES的安全性

截至发文为止,DES的破解可能在十多个小时内即可完成,根据WIKI记录,估计是那种简单的DES加密,如果使用IV或是类似3DES等加密方式(模式),对应破解时间会适当延长,但已经说明DES是不太安全的,仅限用于非机密型资料加密。

参考资料:

http://en.wikipedia.org/wiki/Block_cipher_mode_of_operation

http://en.wikipedia.org/wiki/Data_Encryption_Standard

http://zh.wikipedia.org/wiki/DES

http://zh.wikipedia.org/zh/3DES

相关评论(0):  

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

订阅博客

最新文章

本站采用创作共用版权协议, 要求署名、非商业用途和保持一致. 转载也必须遵循“署名-非商业用途-保持一致”的创作共用协议. 返回顶部
Copyright@2005-2016 Metsky.com, All rights Reserved.