发表于: 2017-04-17 22:09:53

2 1575


一、今天完成的事情:

今天看了一天的DES的算法,但是看得模模糊糊的,不是很懂。

大概理解的是:

DES需要三个参数:

key:8byte64位的工作秘钥

Data:需要转换的8个byte64位的数据(加密解密)

mode:DES的工作方式


大概理解过程为:

1、需要对data进行置换:分为前置和后置(L0/R0)

  1. 58,50,42,34,26,18,10,2,  
  2. 60,52,44,36,28,20,12,4,  
  3. 62,54,46,38,30,22,14,6,  
  4. 64,56,48,40,32,24,16,8,  
  5. 57,49,41,33,25,17, 9,1,  
  6. 59,51,43,35,27,19,11,3,  
  7. 61,53,45,37,29,21,13,5,  
  8. 63,55,47,39,31,23,15,7,

其中的数字代表着数据原先的位置置换后所在的位置。

然后前32位为L0/后32位为R0,则1-8为奇偶校验位(除去)我的理解,还剩56位,

然后置换后需要使数据和密钥进行16次相同的运算

经过初始置换后,进行16轮完全相同的运算,在运算过程中数据与秘钥结合。

函数f的输出经过一个异或运算,和左半部分结合形成新的右半部分,原来的右半部分成为新的左半部分。每轮迭代的过程可以表示如下:

Ln = R(n - 1)

Rn = L(n - 1)⊕f(Rn-1,kn-1)

⊕:异或运算

Kn是向第N层输入的48位的秘钥,f是以Rn-1和Kn为变量的输出32位的函数

3.1函数f

函数f由四步运算构成:秘钥置换(Kn的生成,n=0~16);扩展置换;S-盒代替;P-盒置换。

这个过程没有太理解!!希望各位师兄和大佬们教教我

二、遇到的问题:

如上所示

三、明天计划的事情:

继续学习DES和其他任务五的任务

四、收获:

其实自己对算法这个东西还是很感兴趣的,只不过这个过程的理解稍微有点模糊,就像要把妹,妹子态度模模糊糊就是不捅破纸窗那样,贼难受。


返回列表 返回列表
评论

    分享到