新闻中心

EEPW首页>嵌入式系统>设计应用> 基于PCI总线加密卡硬件设计

基于PCI总线加密卡硬件设计

作者: 时间:2012-04-14 来源:网络 收藏

  3.1 3DES算法模块设计

  本设计采用两个密钥的3DES,该加密方案使用两个不同的密钥Key1和Key2对明文进行三次DES或DES-1变换,加密函数采用加密-脱密-加密序列:

  两个密钥的三重DES的有效密钥长度是112位。在本设计中采用了密码分组链接方式(CBC)。在这种方案中,加密算法的输入是当前的明文分组和前边的密文分组的异或,对每个分组使用相同的密钥。从效果上看,将明文分组序列的处理连接起来了。每个明文分组的加密函数的输入与明文分组之间不再有固定的关系,因此,64bit的重复模式不再会暴露。

  3DES密码硬件模块为控制模块和数据路径设计两部分。控制模块产生数据通路需要的控制信号序列,保证数据处理单元正确有序地工作。数据路径用来实现信息传送和密码变换的数据处理单元。3DES算法设计采用迭代结构,由初始置换电路IP、多路选择电路L_MUX和R_MUX、32-bit L锁存器、32-bit R锁存器、扩展置换E处理电路、S盒数据代替电路、P盒置换电路及末置换IP-1电路构成。其运算电路如图3所示。

  3.2 3DES输入输出模块设计

  输入输出模块主要为密码运算模块提供密钥、数据以及命令信息的模块。控制信号主要包括:操作时钟CLK、系统初始化INIT、写使能WEN、读使能REN、运算完毕READY、DIN[31:0]、数据输入、数据输出DOUT[31:0]、端口选择A[2:0]。当INIT=1时,将3DES模块内部所有寄存器复位并清零;当A[2:0]=010, WEN=1时,在CLK时钟上升沿,将命令字由32位数据总线写入芯片内部命令寄存器;当A[2:0]=001,WEN=1时,在CLK时钟上升沿,将128位的密钥分四次由32-bit数据总线写入芯片内部密钥寄存器;当A[2:0]=000,WEN=1时,在CLK时钟上升沿将64位的数据分两次由32位数据总线写入芯片内部输入数据寄存器;每写够2个长字,3DES模块开始运算,运算完毕后,READY变为高电平,输出数据分为两组分别送入temporary_l和temporary_2两个寄存器。3DES Quartus仿真波形如图4所示。



评论


相关推荐

技术专区

关闭