- 1、本文档共10页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
网络与信息安全作业
题目:DES加密与解密过程原理解析
姓名:
学号:
班级:
日期:2016年3月30日
DES简介:
DES (Data Encryption Standard) 是对称加解密算法的一种,由IBM公司W.Tuchman和C.Meyer在上个世纪70年代开发,该算法使用64位密钥(其中包含8位奇偶校验,实际密钥长度为56位)对以64为单位的块数据加密,产生64位密文数据,然后使用相同的密钥进行解密。密钥只有通信双方知晓,不对第三方公开。
DES算法过程:
DES的加密过程:
第一阶段:初始置换IP。在第一轮迭代之前,需要加密的64位明文首先通过初始置换IP 的作用,对输入分组实施置换。最后,按照置换顺序,DES将64位的置换结果分为左右两部分,第1位到第32位记为L0,第33位到第64位记为R0。
表1:置换IP表
上表为置换IP表,将输入64位的第58位换到第一位,第50位换到第二位,依此类推,最后一位是原来的第7位。L0是输出的前32位,R0是后32位。比如:置换前的输入值为D1D2D3…D64,则经过初始置换后的结果为:L0=D58D50...D8,R0=D57D49...D7。
第二阶段:获取函数f和子密钥。函数f有两个输入:32位的Ri-1和48位Ki,f函数的处理流程如下图所示。
E变换的算法是从Ri-1的32位中选取某些位,构成48位。即E将32比特扩展变换为48位,变换规则根据E位选择表,如表2所示。
表2:E位选择表
Ki是由密钥产生的48位比特串,具体的算法下面介绍。将E的选位结果与Ki作异或操作,得到一个48位输出。分成8组,每组6位,作为8个S盒的输入。每个S盒输出4位,共32位(如下图)。
S盒的输出作为P变换的输入,P的功能是对输入进行置换,P换位表如表3所示。
表3:P换位表
子密钥Ki:假设密钥为K,长度为64位,但是其中第8、16、24、32、40、48、64用作奇偶校验位,实际上密钥长度为56位。K的下标i的取值范围是1到16,用16轮来构造。构造过程如下图所示。
首先,对于给定的密钥K,应用PC1变换进行选位,选定后的结果。是56位,设其前28位为C0,后28位为D0。PC1选位如表4所示。
表4:PC1选位表
第一轮:对C0作左移LS1得到C1,对D0作左移LS1得到D1,对C1D1应用PC2进行选位,得到K1。其中LS1是左移的位数,如表5所示。
表5
表5中的第??列是LS1,第二列是LS2,以此类推。左移的原理是所有二进位向左移动,原来最右边的位移动到最左边。其中PC2如表6所示。
表6:PC2表
第二轮:对C1,D1作左移LS2得到C2和D2,进一步对C2D2应用PC2进行选位,得到K2。如此继续,分别得到K3,K4…K16。
S盒的工作原理:S盒以6位作为输入,而以4位作为输出,现在以S1为例说明其过程。假设输入为A=a1a2a3a4a5a6,则a2a3a4a5所代表的数是0到15之间的一个数,记为:k=a2a3a4a5;由a1a6所代表的数是0到3间的一个数,记为h=a1a6。在S1的h行,k列找到一个数B,B在0到15之间,它可以用4位二进制表示,为B=b1b2b3b4,这就是S1的输出。
表7-1:选择(替代)函数S
表7-2:选择(替代)函数S
表7-3:选择(替代)函数S
第三阶段:16次迭代运算。初始置换确定后,经过16次迭代运算,每一次迭代运算都以前一次迭代运算的结果和用户密钥扩展得到的子密钥Ki作为输入;每一次迭代运算只变换了一半数据,它们将输入数据的右半部分经过函数f后将其输出,与输入数据的左半部分进行异或运算,并将得到的结果作为新的右半部分,原来的右半部分变成了新的左半部分,用下面的规则来表示这一过程(假设第i次迭代所得到的结果为LiRi): Li = Ri-1; Ri = Li-1⊕f(Ri-1,Ki);在最后一轮左与??半部分并未变换,而是直接将R16 L16并在一起作为未置换的输入。
第四阶段:逆置换。 逆置换是初始置换IP的逆运算,记为IP-1。例如,第1位经过初始置换后,处于第40位,而通过逆置换IP-1,又将第40位换回到第1位。其逆置换IP-1规则如表8所示。
表8:逆置换IP-1规则
在对16次迭代的结果(R16 L16)再使用逆置换IP-1后,即得到密文输出。其执行过程如下图:
DES解密过程:
DES的解密算法与其加密算法使用的算法过程相同。两者的不同之处在于解密时子密钥Ki的使用顺序与加密时相反,如果子密钥为K1K2…K16,那么解密时子密钥的使用顺序为K16K15…K1,即使用DES解密算法进行解密时,将以64位密文作为输入,第1次迭代运算使用子密钥K16,第2次迭代运算使用子密钥K15,……,
文档评论(0)