当前位置:首页>资讯 >商务贸易 > 技术交流>利用FPGA来实现RC6算法的设计与研究

利用FPGA来实现RC6算法的设计与研究

2011-01-18 责任编辑:未填 浏览数:未显示 中贸商网-贸易商务资源网

 ROM模块在输入地址和得到子密钥数据之间,有一定的延时,从地址“00”输入,开始读取到输出子密钥总时间约一个时钟周期左右。所以在主函数调用ROM时,需提前1~2个时钟输入地址。

程序

 

 

  由以上5个函数和加解密控制信号,可以实现此算法的一次计算。主函数将需要进行计算的128位数据da—tain、2个子密钥keyl和key2,以及加解密控制信号输入到RFunct函数里;函数rfunct将其分配到a、b、c、d四个寄存器,计算b=(b+b+1)×b和d=(d+d+1)×d;然后调用左移函数计算templ=b<<<5和temp2=d<<<5,调用afunct和cfunct计算a和c,再重组a、b、c、d为dataout,结束运算后输出dataout。

  2.3.3 加解密控制模块

  如图4所示,RC6加解密端口定义为:

加解密控制模块

  输入端口

  •   reset:复位信号,高电平有效。
  •   clk:工作时钟。
  •   zset:加解密选择信号,高电平为加密操作,反之则为解密操作。
  •   keyin[63..O]:从ROM输入的子密钥输入。
  •   datain[127..O]:待加解密数据的输入端。

  输出端口

  •   flag:加解密结束信号,高电平有效。
  •   keyad出[4..O]:向ROM输入5位的地址信号。
  •   dataout[127..O]:RC6加解密模块输出的128位加解密后的数据。

  模块功能

  从ROM模块中,接收包含2个子密钥的数据keyin,并在前32位和后32位分别为一个32位子密钥,根据zset信号对密钥和数据进行加解密操作。

  在主程序中利用一个状态机来实现加解密运算:第1个状态进行数据的初步处理,将128位数据分成4个32位数据保存在a、b、c、d这4个寄存器中;第2个状态进行数据的初步运算,将结果保存在128位寄存器data中;第3个状态和第4个状态控制循环运算与ROM进行20次交互,一边接收ROM子密钥数据,一边对data进行运算,**后一个状态,接收**后2个密钥,进行**后的加解密运算,得到新的a、b、c、d,重新组合成加/解密后的数据,将其输出。

  2.3.4 加解密顶层模块

  RC6加解密算法的顶层模块包括了加解密控制模块和ROM模块。输入/输出信号描述如下:

  输入信号

  •   reset:复位信号,高电平有效。
  •   clk:工作时钟。
  •   zset:加解密选择信号,高电平加密操作,反之则为解密操作。
  •   datain[l27..0]:待加/解密数据的输入端。

  输出信号

  •   flag:加解密结束信号,高电平有效。
  •   dataout[l27..0]:128位加解密后得到的数据。

  此加解密模块需要260个I/0端口,如果加入串口通信,可将128位的输入信号和输出信号分别利用l位的输入端口和1位的输出端口来实现数据传输,非常方便。

  2.4 仿真结果分析

  图5为RC6加解密算法的功能仿真图,输入和输出是128位。当输入明文为128位全零数据时,得到的加密结果是36A5C38F78F781564EDF29C11EA44898,解密结果是全零。另外,还测试了其他的一些数据,根据**公布的标准,此加解密模块功能正确。

  在进行仿真时,RC6加解密模块工作时钟周期为100ns,频率为10 MHz。从reset低电平开始后的**个时钟上升沿(0.45μs),至加解密运算结束并输出结束信号flag(上升沿,8.958 376μs),总共耗时约为8.5μs。

RC6加解密算法功能仿真图

 

 

图5 RC6加解密算法功能仿真图

  结 语

  本文基于FPGA技术,实现了RC6算法。整个设计包括加解密函数模块、加解密控制模块、ROM模块、UART模块、输入/输出控制模块等,通过软件的仿真,并将程序下载到FPGA芯片进行硬件调试,验证了设计的正确性和有效性。

相关阅读:

FPGA RC6算法 设计与研究
分享到:
阅读上文 >> PAD在接收机动态可重构结构中的应用设计
阅读下文 >> 基于Altera FPGA的千兆以太网实现方案

大家喜欢看的

  • 品牌
  • 资讯
  • 展会
  • 视频
  • 图片
  • 供应
  • 求购
  • 商城

版权与免责声明:

凡注明稿件来源的内容均为转载稿或由企业用户注册发布,本网转载出于传递更多信息的目的;如转载稿涉及版权问题,请作者联系我们,同时对于用户评论等信息,本网并不意味着赞同其观点或证实其内容的真实性;


本文地址:http://news.ceoie.com/show-76726.html

转载本站原创文章请注明来源:中贸商网-贸易商务资源网

微信“扫一扫”
即可分享此文章

友情链接

服务热线:0311-89210691 ICP备案号:冀ICP备2023002840号-2