码迷,mamicode.com
首页 > 其他好文 > 详细

数据加密标准DES原理

时间:2015-01-15 01:51:51      阅读:154      评论:0      收藏:0      [点我收藏+]

标签:国家标准   世纪   

    数据加密标准(DES)是在20世纪70年代中期由美国IBM公司发展出来的,并被美国国家标准局公布为数据加密标准的一种分组加密算法。

    DES算法的分组大小为64位,所使用的加密或解密密钥也是64位。因为其中有8个位是用来做奇偶校验,所以64位中真正起密钥作用的只有56位。DES加密与解密所用的算法除了子密钥的顺序不同之外,其他部分则是完全相同。

    1)Feistel网络

    DES密码结构基于一个称为Feistel网络的结构。Feistel网络是由Horst Feistel在设计Lucifer分组密码时发明的,并被DES、FEAL、Twofish、RC5等算法使用。

    Feistel定义了一个迭代的分组密码算法,其本质是利用乘积密码顺序地执行多个基本密码系统,使得最后结果的密码强度高于每个基本密码系统产生的结果。

    对一个分组长度为2n位的r轮Feistel型密码,每轮迭代执行的运算相同,而每轮的输入取决于前一轮的输出。以第i轮为例,描述每轮迭代的运算过程如下:

    ①将第i-1轮的输出结果m作为本轮的输入,并将输入划分为左右长度相等的两部分,记作m=L R ,L 和 R 分别为m的左右 n 位。

    ②将左右两部分交换位置,并将右半部分R直接作为本轮输出m的左半部分L。同时,将右半部分R和轮密钥K 作为论函数F的输入,将论函数F的输出与左半部分L进行逐位的异或运算,得到的结果作为输出m的右半部分R。

    Feistel网络的解密过程与加密过程完全一致,只是以相反的次数使用每轮的子密钥,这个特点使得基于Feistel网络设计的分组密码易于用硬件实现。

    未完待续、、、、、

数据加密标准DES原理

标签:国家标准   世纪   

原文地址:http://necde.blog.51cto.com/9839599/1604088

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!