DES加密算法介绍(含例子) |
您所在的位置:网站首页 › des编码实验 › DES加密算法介绍(含例子) |
http://www.hankcs.com/security/des-algorithm-illustrated.html DES(Data Encryption Standard)算法是世界上最常用的加密算法。在很长时间内,许多人心目中“密码生成”与DES一直是个同义词。 DES是怎么工作的?本文通过一个简单的例子来一部一部展示DES的加密流程。自动DES诞生以来,许多加密算法都采用了类似DES的手段。一旦理解了DES中的变换,你一定能够更轻松的理解这些现代加密算法中的门道。
DES处理比特,或者说二进制数字,我们知道,没四个比特构成一个十六进制数。DES加密一组64位的信息,也就是16个16进制数。为了完成加密,DES
DES秘钥获取: 我们取16进制秘钥K为: K = 133457799BBCDFF1我们可以得到他的二进制形式(1为0001,3为0011,依次类推,并且将没8位写成一组。这样每组的最后一位都没有被用上。) K = 00010011 00110100 01010111 01111001 10011011 10111100 11011111 11110001创建16个子秘钥,每个长48比特 这个64位的秘钥首先根据表格PC-1进行变换。 表PC-1 PC-1 57 49 41 33 25 17 9 1 58 50 42 34 26 18 10 2 59 51 43 35 27 19 11 3 60 52 44 36 63 55 47 39 31 23 15 7 62 54 46 38 30 22 14 6 61 53 45 37 29 21 13 5 28 20 12 4由于上表中第一个元素为57,这将使元秘钥的第57位变换为新秘钥K+的第一位。同理,元秘钥的第49位变换为新秘钥的第2位,,,元秘钥的第4位变换为新秘钥的最后一位,注意元秘钥中只有56位会进入新秘钥,上表也只有56个元素。 比如,对于原秘钥: K = 00010011 00110100 01010111 01111001 10011011 10111100 11011111 11110001我们将得到56位新秘钥: K+ = 1111000 0110011 0010101 0101111 0101010 1011001 1001111 0001111然后,我们将这个密钥拆分为左右两个部分,C0和D0,每半边都有28位。 比如,对于新密钥,我们得到: C0 = 1111000 0110011 0010101 0101111 D0 = 0101010 1011001 1001111 0001111对于相同定义的C0和D0,我们现在创建16个块Cn和Dn 1 |
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |