国内外现有的对称密码算法设计仍然沿用香农 1949 年提出的“混淆”、“扩
散”思想
[1]
,通过对称密码算法的“混淆”和“扩散”部件使得明文、密文和密钥之间
的关系异常复杂,以至于攻击者无法从密文得到明文的任何信息或者从明文密
文对得到密钥的任何信息。“混淆”部件普遍采用非线性置换 S 盒(Substitution
Box)。S 盒首次出现在分组密码算法 LUCIFER 中,随着美国标准化技术研究机
构(National Institute of Standard Technology,NIST)在 1977 年发布的数据加
密算法标准(Data Encryption Standard,DES)的使用而广为流行
[2]
。S 盒是绝大
多数密码算法中唯一的非线性部件,如 AES、CAMELLIA、ARIA、CLEFIA 等
[3,4,5,6]
。S 盒的密码性质极大影响整个算法的“混淆”效果,也几乎决定了整个密码
算法的安全强度。
自 2004 年之后,针对物联网中 RFID 类资源受限设备的安全保密需求,密码
算法设计时不仅要考虑密码算法及部件的安全性,同时要兼顾算法实现的硬件
门数等资源指标。目前适用于 RFID 类资源受限设备的轻量级密码算法其硬件
实现等效门一般不超过 2000 GATE
[7]
,使用传统查表方式实现的 S 盒难以满足
轻量级密码算法的硬件实现资源小等要求,特别是使用 8 比特 S 盒的情形。基
于代数结构的 S 盒的轻量化实现、基于简单逻辑运算的 S 盒的轻量化设计等
是当前国内外密码领域的研究热点问题之一,也取得了一些研究进展,如:对具有
最优密码学性质的 4 比特 S 盒的 16 个等价类划分
[8]
,这类 S 盒已成功应用于设
计 PRINCE、MIDORI、SKINNY 等轻量级分组密码算法
[9,10,11]
;NBC、SPRING
等分组密码算法提出了 16 比特、32 比特 S 盒的轻量化设计思路,但基于该设
计思路的 S 盒需要迭代 20 轮或 32 轮,其实现方式具有较大的时延,32 比特 S
盒目前仍难以完全刻画其差分均匀度和非线性度等密码性质
[12,13]
;在 SKINNY-
128 分组密码算法中,设计者提出一种基于 2 个 4 比特 S 盒并置构成 1 个新的 8
比特 S 盒的设计思路
[10]
,但基于该设计思路的 8 比特 S 盒的差分均匀度和非线
性度等密码性质较弱,会导致密码算法的整体迭代轮数较大,影响密码算法实现
性能;美国标准化组织 NIST 先后启动了认证加密方面的 CAESAR 竞赛、轻量
级 AEAD 和杂凑算法征集等活动,提交的密码算法方案中也对轻量化密码部件
及其实现性能进行了一些研究
[14,15,16,17,18,19]
。
笔者提出一种新的 8 比特轻量化 S 盒设计方法,其单轮逻辑运算仅涉及 4
个单比特与运算和 4 个单比特异或运算,迭代 4 轮后差分均匀度为 16(差分概率
为 2
-4
)、非线性度为 96(线性概率为 2
-4
)、分量函数代数次数可以达到 6。与已
评论0
最新资源