摘要

本文详细介绍分组密码算法SPRING的设计.根据分组长度和密钥长度的不同, SPRING具体包括三个算法版本SPRING-128-128、SPRING-128-256、SPRING-256-256,其中SPRING-n-m表示分组长度为n且密钥长度为m. SPRING是SP结构的分组密码,主要面向硬件实现设计,采用基于非线性反馈移位寄存器(NFSR)的32-比特S-盒和基于非线性反馈移位寄存器的密钥扩展算法.由于没有S-盒的存储, SPRING算法的硬件实现面积比较小.根据不同的应用需求,例如面积小或加/解密速率高,可以采用不同的实现方式.基于轮的实现,硬件面积最小,在TSMC 16 nm工艺库下, SPRING-128-128算法的硬件实现面积约1046μm2;全轮展开实现,加/解密速率最大, SPRING-128-128算法的加密速率可以达到17 482 Mbps,此时硬件实现面积约8079μm2. SPRING的含义为SP结构分组密码和环状串联非线性反馈移位寄存器(A ring-like cascade connection of NFSRs).

  • 单位
    信息工程大学