Feistel结构的8比特轻量化S盒
2021-01-29董新锋张文政许春香
董新锋,张文政,许春香
(1.电子科技大学 计算机科学与工程学院,四川 成都 611731;2.保密通信重点实验室,四川 成都 610041)
国内外现有的对称密码算法设计仍然沿用香农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-6]。S盒的密码性质极大影响整个算法的“混淆”效果,也几乎决定了整个密码算法的安全强度。
自2004年之后,针对物联网中RFID类资源受限设备的安全保密需求,密码算法设计时不仅要考虑密码算法及部件的安全性,同时要兼顾算法实现的硬件门数等资源指标。目前适用于RFID类资源受限设备的轻量级密码算法其硬件实现等效门一般不超过2000 GATE[7],使用传统查表方式实现的S盒难以满足轻量级密码算法的硬件实现资源小等要求,特别是使用8比特S盒的情形。基于代数结构的S盒的轻量化实现、基于简单逻辑运算的S盒的轻量化设计等是当前国内外密码领域的研究热点问题之一,也取得了一些研究进展,如:对具有最优密码学性质的4比特S盒的16个等价类划分[8],这类S盒已成功应用于设计PRINCE、MIDORI、SKINNY等轻量级分组密码算法[9-11];……
