2.1.1  子密钥产生器
子密钥产生器的具体结构在图2中没有画出,但可以看到,每次迭代使用的密钥长度均为48bit,且16次迭代中使用的48bit密钥均不同。下面说明如何从64bit的初始密钥得到16个互不相同的48bit子密钥。[11]
DES算法中输入的密钥长度为64bit,其中8bit用于奇偶校验,实际有效的密钥长度为56位。而16次迭代是在16个子密钥(48 bit)的控制下进行的。子密钥k(i),(i=1~16)的产生框图如图2-3所示。
 
64bit的初始密钥经过PCI置换选择后分为28bit的两组数据,分别存储于寄存器C和D中。PCI表如图4所示。其中,第8,16,32和64位在置换过程中被删除了,因而不出现在图2-4中。
 
各次迭代中,寄存器C和D分别将所存储的数据进行左循环移位置换,各次迭代的移位次数如表2-1所示。
表2-1   循环移位次数
第i次迭代    1    2    3    4    5    6    7    8    9    10    11    12    13    14    15    16
循环左移位数    1    1    2    2    2    2    2    2    1    2    2    2    2    2    2    1
每次移位后,将寄存器C和D中所存储的数据合并为56bit,并进行置换选择II,通过置换后,56bit的数据将变为48bit。置换选择II表如表2-2所示。
至此,16个48bit的子密钥k(1)~k(16)已经生成,可应用于各次迭代运算中。下面,根据图2-2所示的DES算法流程图,分别介绍各步骤的运算规则。
表2-2   置换选择II表
14    17    11    24    1    5    3    28
15    6    21    10    23    19    12    4
26    8    16    7    27    20    13    2
41    52    31    37    47    55    30    40
51    45    33    48    44    49    39    56
34    53    46    42    50    36    29    32
2.1.2  初始置换IP
初始置换将64bit的明文按照表2-3 的顺序进行置换,得到一个乱序的64bit明文组,再将它分为左右两组各32bit的数据。初始置换将64bit明文置换为64bit数据,并分为左右两组,如表2-3所示。
表2-3   初始置换表
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
上一篇:现代电网在节能环保新形势下的问题研究
下一篇:基于Matlab的汽车ABS模糊控制系统设计

基于Kinect手势识别的遥操...

基于51单片机自动门智能控制系统设计

基于TI-DSP平台的电力电子测控平台设计

基于传感器网络的分布式集员滤波问题的研究

基于飞思卡尔芯片LED色彩控制器的设计

基于磁共振技术的家用无...

基于simulink的三相桥式全控...

浅谈新形势下妇产科护理...

《醉青春》导演作品阐述

高校网球场馆运营管理初探【1805字】

中国古代秘书擅权的发展和恶变

浅谈传统人文精神茬大學...

拉力采集上位机软件开发任务书

多元化刑事简易程序构建探讨【9365字】

谷度酒庄消费者回访调查问卷表

辩护律师的作证义务和保...

国内外无刷直流电动机研究现状