菜单
  

    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
  1. 上一篇:现代电网在节能环保新形势下的问题研究
  2. 下一篇:基于Matlab的汽车ABS模糊控制系统设计
  1. 基于中频信号的家用治疗...

  2. 基于嵌入式技术的智能家...

  3. 基于FPGA竞赛系统设计+程序

  4. Matlab基于前馈控制的加热炉温度控制系统设计

  5. MEMS基于SHARC型DSP的组合导航算法实现

  6. 基于LabVIEW的车牌图像识别技术研究

  7. 基于LabVIEW和MATLAB混合编程...

  8. 酸性水汽提装置总汽提塔设计+CAD图纸

  9. 河岸冲刷和泥沙淤积的监测国内外研究现状

  10. java+mysql车辆管理系统的设计+源代码

  11. 当代大学生慈善意识研究+文献综述

  12. 中考体育项目与体育教学合理结合的研究

  13. 大众媒体对公共政策制定的影响

  14. 乳业同业并购式全产业链...

  15. 杂拟谷盗体内共生菌沃尔...

  16. 十二层带中心支撑钢结构...

  17. 电站锅炉暖风器设计任务书

  

About

751论文网手机版...

主页:http://www.751com.cn

关闭返回