APP下载

一种类PRESENT算法型分组密码算法设计

2017-05-16宋何颖秀

菏泽学院学报 2017年2期
关键词:掩码等价差分

宋何颖秀

(解放军信息工程大学, 河南 郑州 450001)

一种类PRESENT算法型分组密码算法设计

宋何颖秀

(解放军信息工程大学, 河南 郑州 450001)

所设计的算法(PRESENT2.0算法)设计思路来源于PRESENT算法,与PRESENT-80相同,采用64比特分组长度、80比特密钥长度,包括31轮函数变换以及最后的密钥白化过程,其S盒来自PRESENT算法S盒的仿射等价类.因此,其安全性与PRRESENT算法基本一致,甚至在实现效率方面优于PRESENT.

分组密码;PRESENT算法;S盒;仿射等价

1 PRESENT2.0算法介绍

1.1 加密过程

PRESENT2.0算法与PRESENT相同,也可以归类为一种SPN结构的超轻量级分组密码算法,其分组长度为64比特,密钥长度为80比特.该算法包括31轮函数变换及最后的输出密钥白化.算法具体结构如图1所示.

图1 PRESENT2.0算法结构

与PRESENT算法相同,PRESENT2.0算法的轮函数也由三个部分组成,分别是:轮密钥加、S盒代换和P盒置换.其中的S盒代换由16个4×4的S盒完成,S盒代换是PRESENT2.0算法中唯一的非线性过程.

1)轮密钥加:设bj(0≤j≤63)为当前状态,ki,j(0≤i≤32,0≤j≤63)是轮密钥Ki的第j比特子密钥,则变换如下:

bj→bj⊕ki,jbj,ki,j∈GF(2)

2)S盒代换:设状态为b63,b62,……,b0,可表示成16个4比特数wi=b4*i+3b4*i+2b4*i+1b4*i,其中0≤i≤15.则变换如下:

wi=S(wi) 0≤i≤15

S盒代换表见表1:

表1 S盒代换表

3)P盒置换:P盒置换将64比特的状态进行重排,为明文提供扩散效果.P盒置换表见表2:

表2 P盒置换表

1.2 密钥生成

将密钥寄存器中存储的80比特用户密钥记为K=k79k78……k0.在加密算法第j轮中,首先提取64比特子密钥Kj,

Kj=k63k62……k0=k79k78……k16

之后通过以下三步更新密钥寄存器K=k79k78……k0;

1)左移61比特:[k79k78……k1k0]=[k18k17……k19k20]

2)S盒代换:[k79k78k77k76]=S[k79k78k77k76]

3)[k19k18k17k16k15]=[k19k18k17k16k15]⊕round_counter

2 PRESENT2.0算法S盒的选择

在文献[1]中,张文涛等人提出了一种4比特最优S盒的新的分类方法.所有4比特最优S盒可以分为183个不同的类,其中有3个类别可称为白金类.依据PRESENT算法的S盒设计准则,可以通过在S盒前后添加常数得到8 064个不同的S盒.这8 064个S盒分别属于3个不同的类别,与其他类别中的S盒相比,从这3类S盒中选出的S盒具有较好的抵抗线性分析的能力.

通过研究,可以得出以下结论:首先,S盒的选择对于算法的安全性具有极大的影响;其次,对于选择4比特S盒作为扩散层的分组密码算法和哈希函数,设计者可以在这3个白金类S盒中选择;因此,利用上述结论,以Leander等人[2]的仿射等价类研究为基础(见表3),设计时选择了一个与原PRESENT算法的S盒等价的S盒作为PRESENT2.0的非线性模块.

表3 最优4比特S盒的16个仿射等价类

S盒设计准则[1]对于分组长度为64比特的算法来说,线性层固定为PRESENT的P置换,若想得到更好的抗线性攻击能力,除了PRESENT算法原本的S盒设计准则之外,还要加入一条设计准则,即单比特输入掩码与单比特输出掩码对应偏差非零的线性特征个数为4,完整的设计准则如下:

1) S盒必须是最优S盒;

2) 单比特输入差分能引起单比特输出差分的差分特征个数为0;

5) 单比特输入掩码与单比特输出掩码对应偏差非零的线性特征个数为4.

综上,在选择PRESENT算法的新S盒时,只要在3个白金等价类中选择满足上述条件的,即可得到具有较好抗差分以及抗线性攻击能力的改进算法.

3 PRSENT2.0算法安全性分析

由于置换层采用了PRESENT算法的P盒,通过对此次选择的S盒进行分析,可以得到新算法的抗差分攻击与抗线性攻击能力见表4:

表4 PRESENT2.0算法抗差分攻击/线性攻击能力

其中括号中的数字分别表示单比特输入差分能引起单比特输出差分的差分特征个数和单比特输入掩码输出掩码对应偏差非0的线性特征个数,Rm表示攻击轮数,NumRm表示符合条件的S盒个数,ProbRm和Cor2Rm分别表示差分概率和线性概率.

4 小结

分组密码算法设计中,无论采用广义Feistel结构还是SPN结构,S盒都是常用的非线性模块,其密码学性质直接影响到整个算法的安全性,其大小也对算法实现效率有着直接关系.因此,S盒的设计是分组密码算法设计过程中需要考虑的一个重要因素.采用仿射等价类的方式寻找具有相近密码学性质的S盒的研究对分组密码算法的设计有着重要意义,这些分类S盒的性质也为相关算法的分析提供了很好的依据.

[1]ZHANG W, BAO Z and RIJMEN V et al. A New Classification of 4-bit Optimal S boxes and Its Application toPRESENT, RECTANGLE and SPONGENT[J]. FSE2015:494-515.

[2]LEANDER G, POSCHMANN A. On the Classification of 4 bit S-boxes. WAIFI 2007:LNCS, vol. 4547, 159-176.

[3]WANG M.Differential cryptanalysis of reduced-round PRESENT[C].Proceeding of 1stInternational Conference on Cryptology in Africa-AFRICACRYPT 2008,Casablanca, Morocco,2008:40-49.

[4]LIU G Q,JIN C H and KONG Z Y.Key recovery attack for PRESENT using slender-set linear cryptanalysis[J]. Science China Information Sciences,2016, 59(3):123-136.

[5]OHKUMA K. Weak keys of reduced-round PRESENT for linear cryptanalysis[C].Proceeding of 24thAnnual ACM Symposium on Applied Computing-SAC 2009,Honolulu,Hawaii,USA: 249-265.

[6]CHO J Y.Linear Cryptanalysis of Reduced-Round PRESENT[C].Proceeding of the Cryptographers’ Track at the RSA Conference,San Francisco,CA,USA,2010:302-317.

[7]LIU G Q and JIN C H.Differential cryptanalysis of PRESENT-like cipher[J].Designs, Codes and Cryptography,2015,76(3):385-408.

[8]BLOUDEAU C and GERARD B.Multiple differential cryptanalysis: Theory and practice[C].Proceeding of 18thInternational Workshop on Fast Software Encryption-FSE 2011,Lyngby,Denmark,2011: 35-54.

[9]IGARASHI Y,KANEKO T and SETOGUCHI S et al.The Improved 16th-Order Differential Attack on 10-Round Variant of Block Cipher PRESENT[J],Lecture Notes in Electrical Engineering,2015,330:35-40.

Design of a PRESENT-like Block Cipher Algorithm

SONGHE Ying-xiu

(PLA Information Engineering University,Zhengzhou Henan 450001, China)

The designed algorithm (PRESENT2.0) is based on PRESENT algorithm and also has the same characteristics with PRESENT-80, with 64 bits block length and 80 bits key length, including the transformation of a 31-round function and the final key whitening process, and the S-boxes are affine equivalent with PRESENT. Therefore, the security of PRESENT2.0 algorithm is basically the same as and even better than PRESENT in terms of efficiency.

block cipher; PRESENT; S boxes; affine equivalence

1673-2103(2017)02-0008-04

2017-03-14

宋何颖秀(1992-),女,新疆阿勒泰人,在读硕士,研究方向:密码学.

TP918.1

A

猜你喜欢

掩码等价差分
RLW-KdV方程的紧致有限差分格式
等价转化
基于RISC-V的防御侧信道攻击AES软件实现方案
数列与差分
低面积复杂度AES低熵掩码方案的研究
基于布尔异或掩码转算术加法掩码的安全设计*
n次自然数幂和的一个等价无穷大
收敛的非线性迭代数列xn+1=g(xn)的等价数列
基于掩码的区域增长相位解缠方法
基于差分隐私的大数据隐私保护