轻量级密码的设计与分析

2018-08-31 08:27:16许凌云
成功 2018年7期
关键词:明文功耗差分

许凌云

西南交通大学希望学院 四川成都 610400

本文针对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的解密算法,其实就是加密算法的逆,由32轮迭代运算组成,对64bit的密文,解密过程如下:

(二)LBLOCK的不可能差分分析

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

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

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

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

结束语

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

猜你喜欢
明文功耗差分
数列与差分
奇怪的处罚
揭开GPU功耗的面纱
个人电脑(2016年12期)2017-02-13 15:24:40
数字电路功耗的分析及优化
电子制作(2016年19期)2016-08-24 07:49:54
奇怪的处罚
四部委明文反对垃圾焚烧低价竞争
“功耗”说了算 MCU Cortex-M系列占优
电子世界(2015年22期)2015-12-29 02:49:44
IGBT模型优化及其在Buck变换器中的功耗分析
电源技术(2015年11期)2015-08-22 08:51:02
基于差分隐私的大数据隐私保护