发表于: 2017-04-17 22:09:53
2 1575
一、今天完成的事情:
今天看了一天的DES的算法,但是看得模模糊糊的,不是很懂。
大概理解的是:
DES需要三个参数:
key:8byte64位的工作秘钥
Data:需要转换的8个byte64位的数据(加密解密)
mode:DES的工作方式
大概理解过程为:
1、需要对data进行置换:分为前置和后置(L0/R0)
- 58,50,42,34,26,18,10,2,
- 60,52,44,36,28,20,12,4,
- 62,54,46,38,30,22,14,6,
- 64,56,48,40,32,24,16,8,
- 57,49,41,33,25,17, 9,1,
- 59,51,43,35,27,19,11,3,
- 61,53,45,37,29,21,13,5,
- 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和其他任务五的任务
四、收获:
其实自己对算法这个东西还是很感兴趣的,只不过这个过程的理解稍微有点模糊,就像要把妹,妹子态度模模糊糊就是不捅破纸窗那样,贼难受。
评论