DES加密算法介绍(含例子) 您所在的位置:网站首页 0010a7f1 DES加密算法介绍(含例子)

DES加密算法介绍(含例子)

2023-12-06 18:37| 来源: 网络整理| 查看: 265

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 实验室设备网 版权所有