轻量级密码算法LBlock的FPGA优化实现.docx
文本预览下载声明
轻量级密码算法LBlock的FPGA 优化实现①邹 祎, 李 浪, 贺位位, 许琼方(衡阳师范学院 计算机科学系, 衡阳 421002)摘 要: LBlock密码算法是我国学者吴文玲和张蕾在ACNS2011提出的轻量级分组加密算法. 论文对LBlock加 密算法的硬件优化实现进行了研究, 一方面将相同运算用一个模块设计完成, 通过主程序重复调用完成加密; 另 一方面将轮操作和密钥更新放在同一个模块中并行执行, 而且使用相同寄存器完成S盒变换和密钥变换, 这样既可以不影响加密速度, 又不需要将密钥更新中间结果另存, 有效地节省寄存器的使用开销. 然后分模块进行实现并仿真实验, 和进行整体正确性实验验证. 通过实验, 验证论文所用优化方法可以较大幅度减少 LBlock 密码算 法的实现面积, slices占用比减少了14%,LUT占用比减少了32%. 在VIRTEX5下的系统吞吐率为14.53Gb/s, 更 能有效满足较小芯片面积的应用需求, 给当前的物联网加密提供参考.关键词:LBlock算法;VerilogHDL;FPGA实现Optimal Implementationof Lblockon FPGAZOUYi, LI Lang,HEWei-Wei, XUQiong-Fang(DepartmentofComputer Science, HengyangNormal University,Hengyang 421002,China)Abstract:LBlockisalightweightblockcipherdesignedbyWuWen-lingandZhangLeiinACNS2011.Inthispaper,the optimal implementation of LBlock encryption algorithm in hardware is studied. Firstly, the same operation is realizedinonemodule,thenthemainprogramcallsseveraltimestocompletetheencryption,especially32inBlock. Secondly,thesameregisterisusedinthesubcellandkeytransformation,thecipherroundoperationandkeyupdateis designedinsamemodule,sothatitcanreleasethenumberoftheregistersandacceleratethespeedofimplementation. Last,thesub-modulesarecombinedintoacompleteprogram,thecorrectnessofLblockistested.ItcangreatlyreducetheareaofLBlockalgorithmbytheoptimalmethod,whichcanmeettheapplicationrequirementsofsmallerchipareaand provide referencefor thefurther application ofIOTencryption.Key words:LBlock;VerilogHDL;FPGAimplementation近年来, 随着物联网, 无线传感技术的广泛应用, 如何将加密算法用尽可能小的面积实现, 同时又要保 证加密效率的问题成了研究热点, 因此, 轻量级分组密码应运而生并不断发展完善. 近年来提出了一系列轻量级分组密码算法, 有CHES 2006 年提出的HIGHT[1]、CHES 2007 年提出的PRESENT [2]、 EUROMICRO 2008提出的PUFFIN[3]、CANS 2009 提出的MIBS[4]、CHES 2011提出的PICCOLO[5]和LED[6],而LBlock[7]密码算法是我国学者吴文玲和张蕾在ACNS2011 提出的.①收稿时间:2014-11-06;收到修改稿时间:2015-01-12LBlock密码算法是32轮类Feistel结构的轻量级分组密码. 设计上仍采用与传统分组密码类似的迭代结构, 将明文用轮函数在密钥的作用下进行多次迭代得到密文; 密钥扩展算法的设计借鉴了PRESENT算法的设计理念, 采用非线性移位寄存器, 利用S盒变换和循环移位生成轮密钥[8].由于LBlock密码算法提出时间不长, 目前国内外 相关研究文献很少, 因此对于LBlock密码算法的硬件 优化实现研究具有一定的价值, 可以更好地促进其在面向资源约
显示全部