针对传统硬件描述语言(Verilog/VHDL)实现密码算法时代码复杂性高、开发周期长且调试困难等问题,本文提出了一种基于Chisel语言的轻量级分组密码算法LBlock的硬件实现方案。利用Chisel的高级硬件构建能力,通过模块化设计和有限状态机控...针对传统硬件描述语言(Verilog/VHDL)实现密码算法时代码复杂性高、开发周期长且调试困难等问题,本文提出了一种基于Chisel语言的轻量级分组密码算法LBlock的硬件实现方案。利用Chisel的高级硬件构建能力,通过模块化设计和有限状态机控制,高效地实现了密钥扩展、加密和解密核心模块。通过在Xilinx ISE Design Suite 14.7上综合后,结果表明,基于Chisel的LBlock算法实现方案在逻辑资源消耗和工作频率上均表现出优势。最高工作频率达到250.197MHz,加密吞吐率为485.815 Mbps,与传统的Verilog实现相比,本设计在显著降低代码量的同时,吞吐率提升了55.7%,为资源受限环境下的密码硬件实现提供了一种更敏捷、高效的设计思路。展开更多
低能耗轻量级分组密码(low energy lightweight block cipher,LELBC)算法是一种基于置换-替换-置换(permutation-substitution-permutation,PSP)结构的轻量级分组密码算法,主要适用于计算能力、存储空间及功耗受限的物联网终端设备,通...低能耗轻量级分组密码(low energy lightweight block cipher,LELBC)算法是一种基于置换-替换-置换(permutation-substitution-permutation,PSP)结构的轻量级分组密码算法,主要适用于计算能力、存储空间及功耗受限的物联网终端设备,通过对数据加密实现数据安全保障,因此对该算法安全性的准确评估尤为关键。为了深入研究该算法的安全性,首先建立S盒的差分-线性连通表,然后基于约束规划(constraint programming,CP)方法对S盒组件、中间层和整体结构进行数学建模,搜索得到概率为2-25.96的9轮差分-线性区分器,并进一步在这个区分器的基础上分别向前添加1轮,向后添加2轮,实现了对LELBC算法的12轮密钥恢复攻击,其中数据复杂度为228个明文,时间复杂度为2114.42次12轮加密。研究结果表明,相较于整体16轮,LELBC算法仍然具有足够轮数的安全冗余。展开更多
文摘针对传统硬件描述语言(Verilog/VHDL)实现密码算法时代码复杂性高、开发周期长且调试困难等问题,本文提出了一种基于Chisel语言的轻量级分组密码算法LBlock的硬件实现方案。利用Chisel的高级硬件构建能力,通过模块化设计和有限状态机控制,高效地实现了密钥扩展、加密和解密核心模块。通过在Xilinx ISE Design Suite 14.7上综合后,结果表明,基于Chisel的LBlock算法实现方案在逻辑资源消耗和工作频率上均表现出优势。最高工作频率达到250.197MHz,加密吞吐率为485.815 Mbps,与传统的Verilog实现相比,本设计在显著降低代码量的同时,吞吐率提升了55.7%,为资源受限环境下的密码硬件实现提供了一种更敏捷、高效的设计思路。