ANT 系列分组密码算法的FPGA 高速实现*
2021-04-24王建新刘芮安肖超恩
王建新,刘芮安,肖超恩,张 磊
(北京电子科技学院 电子与通信工程系,北京 100070)
0 引言
随着信息技术的发展,信息安全问题日益受到重视。在网络空间安全维护、发展的进程中,密码技术在公钥基础设施、GSM 鉴权、电子信封及区块链等[1]领域中起到了关键作用。分组密码算法是保障信息机密性和完整性的重要技术手段[2],在智能终端、无线传感网络等领域广泛应用[3]。目前,所使用的分组密码多为国外设计,且传统分组密码如AES[4]等在资源有限的情况下并不适用。我国自主设计的商用分组密码算法以SM4 算法为主。
近年来,提升科技创新的保障效应和网络安全的动力机能[5]成为网络空间治理的重要目标。为推动密码算法技术进步,中国密码学会举办了全国密码算法设计竞赛。ANT 系列分组密码算法由山东大学网络空间安全学院王美琴[6]等提交,经公开评议、检测评估和专家评选已入选竞赛第二轮名单。
近年来,轻量级密码算法逐渐成为研究热点[7],如HIGHT[8]、PRESENT[9]、PICCOLO[10]、LED[11]、LBlock[12]和Zorro[13]等。作为一款国产轻量级密码算法,ANT 系列分组密码算法具有抗侧信道攻击、适合bit-slice 多路并行实现等优势[6],具有一定的研究价值及应用前景。
为了适应第五代移动通信、物联网等高新技术对密码算法高速实现的需求[14],本文采用流水线结构,对ANT 算法进行高速、高数据吞吐率的硬件设计实现。
1 ANT 系列分组密码算法介绍
1.1 ANT-128/128 分组密码算法
ANT-128/128 分组密码算法采用128 bit 长度主密钥K=k2n-1||k2n-2||…||k0,并可以分为:

K1||K0作为LFSR 的初始状态。每次先取出当前低位寄存器Ki中的n 比特作为当前轮的轮密钥ki,然后进行LSFR 的状态更新,(i+1)作为轮常数(i 为当前轮数),如图1 所示。……
