轻量级密码的设计与分析

(整期优先)网络出版时间:2018-07-17
/ 2

轻量级密码的设计与分析

许凌云

西南交通大学希望学院四川成都610400【摘要】随着信息科技时代的需求,物联网作为信息传递和处理的网络必须保证其安全性,因此相应的密码算法就是研究的关键技术。

本文针对PRESENT,LBLOCK这两种算法进行分析,主要研究了以下内容:

1.针对PRESENT算法,对其加密算法结构作了详细介绍,并提出其功耗攻击的设计与分析的实现方式;

2.LBLOCK结合部分密钥猜测技术对其14轮的不可能差分区分器进行21轮LBLOCK算法的不可能差分分析攻击。

【关键词】轻量级密码;功耗攻击;不可能差分攻击

本文针对PRESENT,LBLOCK这两类典型的轻量级密码做适当分析。PRESENT的整体结构采用的是31轮的SP结构,作为一个著名超轻量级密码算法已经得到了不少认可,它的S盒是非数学函数的,所以硬件实现下它的S盒依然得不到很好的优化,而在软件实现下,它的置换层的特性使它很难保持“轻量”优势。LBLOCK密码算法的分组长度为64比特,密钥长度为80比特。LBLOCK算法不但具有优良的硬件实现效率,同时在8位,32位处理器上有很好的实现性能。

一、PRESENT密码算法的功耗分析(一)PRESENT算法及设计原理PRESENT的混淆层由16个4×4的S盒并置而成,S盒的硬件实现性能不错,而且使用相同的S盒,可以使用串行实现。本文主要分析密钥长度为80bit的PRESENT密码算法。

那么对于PRESENT密码算法中轮密钥生成的详细过程,本文选取PRESENT密码算法的密钥长度为80bit进行分析:

令为用户选取的密钥,则。

定义为PRESENT运算中第i轮密钥,则:

a)即也就是使用主密钥对密钥寄存器进行初始化,在第一轮的64位轮密钥由存储在最左边的64位的当前内容寄存器k中,轮密钥提取出后,轮计数器的排列方式为最右边为最低比特。

(二)PRESENT的功耗攻击下)面介绍基于相关系数的差分功耗攻击的操作步骤:b首先用随即发生器产生若干待加密的明文,在此之前攻击者需输入足够的明文,随后modelsim软件逻辑仿真验证成功)后产生一个VCD文件。c对上一步产生的VCD文件选取区分函数,读取其信息量,并对产生的功耗曲线进行分类。区分函数中,由于S盒(首轮)的输出为明密文异或的一个函数所以表示1000个明文的首字节。将上面的区分函数映射到一个关于能量消耗的矩阵H,举用来作为能量模型,计算关于H中所有列与所记录消)耗值的矩阵T中所有列之间的相关系数。d为轻量级密码PRESENT在攻击平台上输入500条明文和输入1000条明文得到的攻击图进行比较,得到的结论是明文条数越多,能量迹的数量与相关系数形成的一个曲线就越平。

由上面结果知道,由于PRESENT加密算法是SPN结构,未加防护措施的PRESENT密码算法实现易受到攻击。

二、LBLOCK密码算法的不可能差分分析攻击(一)LBLOCK的算法及设计原理LBLOCK算法分组规模为64bit,密钥长度为80bit,迭代次数为32bit,对64bit的明文用表示,下面给出加密过程:

那么对于LBLOCK的解密算法,其实就是加密算法的逆,由32轮迭代运算组成,对64bit的密文,解密过程如下:

(二)LBLOCK的不可能差分分析本文结合部分密钥分别猜测技术,针对21轮的LBLOCK算法的不可能差分分析算法,介绍之前先对文中的符号进行说明。

步骤1.n个形如的明文结构可构成个输入明文对。有个输入明文在5个4b块位置,其他位置均为0;

步骤2.对第21轮加密运算进行部分加密得到20轮的加密输出差分。在其右半部分除掉位置不为0的差分值输入;

步骤3.对剩下的密文对密钥,对18轮加密运算进行部分解密得到17轮的加密输出差分,在其右半部分排除不为0的差分值输入;

步骤4.对剩下的密文对子密钥,对第一轮明文部分加密,在其左半部分除掉位置不为0的差分输入;

步骤5.对剩下的密文对密钥,对第三轮明文部分加密,在其左半部分排除不为0的差分输入。

步骤6.算法进行到这一步如果有相应的明文剩余那么本文所猜测的子密钥即为错误的子密钥则排除,反之亦然。

本文只构造了14轮的不可能差分链对21轮LBLOCK进行攻击,将相关密钥与不可能差分结合构造出15轮的相关密钥不可能差分链可提高算法攻击的轮数,因此将多种攻击方法结合在一起对LBLOCK算法研究也是一个噬待探讨的问题。

结束语目前对于轻量级密码算法并没有统一的衡量和评价的标准体系,一部分原因是因为资源受限环境的硬件缺乏统一的国际标准,还有一部分原因是轻量级密码还处于发展阶段。其他一些典型的轻量级密码包括HIGHT,mCrypton,DESL,MIBS,KATAN&KTANTAN等一系列也是刚刚起步需要引起探讨的话题,才能促进密码学的发展。

参考文献:

[1]詹英杰,关杰,丁林等.对简化版LBlock算法的相关密钥不可能差分攻击[J].电子信息学报.2012,34(9):2161-2166.

[2]李浪,李仁发,李肯立等.轻量级PRESENT加密算法功耗攻击研究[J].2014,31(3):843,203:1-78.