菜单
  

    33    1    41    9    49    17    57    25
    2.2  DES解密方法
    DES算法的解密与加密大致相似,区别仅仅在于第一次迭代时使用子密钥k(16)、第二次k(15)、••••••最后一次使用k(1),算法本身并没有任何变化。
    3  DES算法的VHDL实现
    3.1  总体设计
       DES算法的原理比较复杂,因而用VHDL实现也具有一定的难度。幸运的是,DES算法每次迭代内部的运算都可以用组合逻辑实现。系统控制部分只要控制好迭代次数以及乘积交换步骤即可,而子密钥的产生由单独的模块来完成。系统的总体框图如图3-1所示。
     
    其中,组合电路模块完成每次迭代中的逻辑运算,包括选择扩展运算E、密钥加密运算、选择压缩运算S、置换运算P和左右分组异或运算。这些运算都是组合逻辑可以完成的,不需要时钟信号的控制,因此将它们集成到一个统一的模块中。而16次迭代过程的管理和控制由时序电路来完成,该时序电路可以描述为一个状态机,依次完成读原始密钥、读数据、循环迭代控制和输出结果控制等功能。子密钥产生模块在时序控制电路的控制下,根据当前迭代次数,产生子密钥提供给组合电路模块。[12]
    3.2  子密钥产生模块
    如图3-2所示,子密钥产生模块的输入为原始密钥64bit,模块根据当前迭代次数产生相应的子密钥。
     
    根据图2-3和图2-4,子密钥的产生是一个纯组合逻辑过程,运算类型只有置换和移位两种,且子密钥由原始密钥和当前迭代次数唯一确定。因此,子密钥的数据最终表现为原始密钥的置换(去除原始密钥的第8,16,32,64位)。因而,可以直接用信号赋值语句实现子密钥的产生和输出。[13]
    例如,当迭代次数为1时,我们根据子密钥产生原理来看原始密钥(1~64位)的第1位数据将会置换到子密钥的哪一位。
    由图2-4可知,原始密钥的第1位数据a经过PCI运算,置换到结果的第8位。
    由表2-1可知,此时应该向左循环移位1次,因此a被移到第7位(注意,数据自左向右是从低到高编排的);
    由表2-2可知,上一步骤结果的第7位被置换到了第20位。
    综上所述,当迭代次数为1时,原始密钥的第1位数据被置换到子密钥的第20位,如例程1中的K1,kin_in(0)在K1的第20位。同理,计算出原始密钥其余各位数据位(去除原始密钥的第8,16,32,和64位)在子密钥中的位置,就可以推导出各迭代次数下完整的子密钥了。子密钥产生模块的管脚图如图3-3所示,其中,ldkey为输入信号,ldkey为高时表示输入的key数据有效,否则表示输入的key无效,key_ready将被拉低。
     
    图3-3   子密钥产生模块管脚图
    例程中K1到K16是按照图3-3所示产生,并由相关的表格数据直接推导出来的,所有的关系均可以按照上述三个步骤推导,推导过程较复杂,可以利用计算机等工具。
    3.3  组合逻辑运算模块
    本模块完成图2-2中对右边32bit数据的一系列运算,包括选择扩展运算E_expression、异或加密运算add_key、S盒压缩运算S_box、置换运算P_box和左右分组的异或运算add_left,不包括乘积交换和迭代控制。因此本模块可以用纯组合逻辑来实现。本模块的框图如图3-4所示,其中在进行扩展运算时就将数据分为8组,每组6bit,以便于进行S盒压缩运算,并降低书写难度(太长的表达式书写时容易出错)。
     
    其中,R_in(0to31)是右边32bit数据,也是本模块要处理的32bit数据,输入模块后直接进入选择扩展运算模块。Round_key_des(0to47)是每次迭代中的子密钥,用于异或加密运算add_key。L_in(0to31)是左边的32bit,用于在运算的最后与右边被处理后的32bit数据相异或add_left。根据算法流程图2-2,输出R_out(0to31)应该为左右分组异或后的结果,而L_out(0to31)直接等于R_out(0to31)。
  1. 上一篇:现代电网在节能环保新形势下的问题研究
  2. 下一篇:基于Matlab的汽车ABS模糊控制系统设计
  1. 基于oversim的P2P通信仿真系统设计

  2. 基于力控组态软件的PLC系...

  3. 基于SIMATICS7-200的小型锅炉...

  4. 基于Arduino的自动浇花系统设计+电路图+程序

  5. DC-DC基于超级电容的电梯弱电供电系统设计

  6. 基于图像识别的电子锁设计+PCB电路图+程序

  7. 单片机的信号发生器的设计任务书

  8. 中国传统元素在游戏角色...

  9. 现代简约美式风格在室内家装中的运用

  10. 巴金《激流三部曲》高觉新的悲剧命运

  11. C++最短路径算法研究和程序设计

  12. 高警觉工作人群的元情绪...

  13. 上市公司股权结构对经营绩效的影响研究

  14. 江苏省某高中学生体质现状的调查研究

  15. 浅析中国古代宗法制度

  16. NFC协议物理层的软件实现+文献综述

  17. g-C3N4光催化剂的制备和光催化性能研究

  

About

优尔论文网手机版...

主页:http://www.youerw.com

关闭返回