aria密钥扩展简单功耗研究攻击

aria密钥扩展简单功耗研究攻击

ID:5185646

大小:27.50 KB

页数:5页

时间:2017-12-05

aria密钥扩展简单功耗研究攻击_第1页
aria密钥扩展简单功耗研究攻击_第2页
aria密钥扩展简单功耗研究攻击_第3页
aria密钥扩展简单功耗研究攻击_第4页
aria密钥扩展简单功耗研究攻击_第5页
资源描述:

《aria密钥扩展简单功耗研究攻击》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、ARIA密钥扩展简单功耗研究攻击  【摘要】介绍针对ARIA密码算法密钥扩展时产生的中间值泄漏的功耗信息,进行简单功耗分析攻击,通过分析中间值泄漏汉明重信息,能有效的减少密钥空间,利用已知的明文和密文来确定密钥的唯一性。【关键词】密钥扩展,功耗分析通常,攻击者关注的是密码算法在加/解密过程中功耗泄漏的信息,通过DPA、CPA等方法进行分析来破解密钥,一旦在这个过程中加入一些防护手段(如掩码策略),这会给功耗分析攻击带来很大的困难,甚至会失效。然而掩码防护手段对密码算法进行密钥扩展时无法起到保护作用,因此,可以对密钥扩展算法中的密钥中间值泄露的功耗信息进行

2、功耗分析,从而得到密钥值。一、简单功耗分析方法针对密钥扩展的简单功耗分析攻击,需要攻击者知道或分析出功耗轨迹中执行操作数的功耗特征,即操作数的功耗特征和汉明重有直接的成比例的对应关系。这里做一个简单的实验例子来说明:5密码设备中的每一算法都有一定的执行顺序,算法的定义及其操作被编译成设备所支持的指令,这些指令包括算术指令(如加法)、逻辑指令(如异或)、数据传送指令(如移动)和转移指令(如跳转),其在物理设备上的功能和方式实现都各不相同,因此它们具有不同的能量消耗特征,这将在功耗迹中产生具有不同特征的模式,同种指令执行不同的操作数时,也有不同的能量消耗特征

3、:如在AT59C52单片机中执行往累加器A中赋值的语句::MOVA,X。其中源操作数X的汉明重量为0到8共9种不同的值(#00H,#01H,#03H,#07H,#0FH,#1FH,#3FH,#7FH,#FFH),同时采集赋值语句执行时的功耗轨迹,上述指令各执行100遍并对各种情况下的100条功耗轨迹求平均值得到9种不同汉明重量下赋值语句对应的功耗迹从图中可以看到,9条功耗轨迹基本形状类似,在于操作数相关的位置,轨迹的幅值和操作数的汉明重量呈现反比例的情形。假设简单的创建9个模板,每一个模板对应于一个汉明重量的数,如果一个未知的值也执行同样的操作得到一条功

4、耗轨迹,必然会和其中的一条汉明重量的模板相匹配,称为发生了值的碰撞。如果,在功耗轨迹中某个8-bit中间值的汉明重为3,那么这个中间值的可能值空间将从28=256下降到■=56个,可以得知这个未知的值的汉明重量,从而大大减少未知值的搜索空间。二、仿真实验结果和分析2.1攻击过程分析5在算法运行中,中间值所泄露的的汉明重信息对于攻击者来说是非常有用的。假设攻击者能知道所有轮密钥字节的汉明重信息,即ARIA密钥扩展时产生的中间值(包含有四个初始化值和12个轮密钥值)的字节汉明重——16*16=256,对于每个汉明重的值都有9个可能值,因此理论上存在着9256

5、=2811.5个不同组合值,这个数量值远远大于密码算法中2128不同的密钥组合值;显而易见的是,不是所有观测到的汉明重值都会出现在实际操作中,这也是攻击中的一个难点——在密钥扩展过程中,需要观测多少个汉明重组合值才能有效的把真实的密钥值推测出来,是不是存在很多个密钥值导致有相同256个汉明重值。事实上,由于密钥扩展算法初始化过程中的置换和混淆操作,使得出现这种有相同汉明重的密钥值数量很少。这个重要的特性表明:虽然密钥字节的汉明重信息给攻击者提供了很多有用的信息,但不是每一个汉明重信息都需要,这使得通过汉明重信息,能否唯一地将密钥值识别出来也显得不是那么重

6、要了。如果能够将密钥的可能值数量减少到一定范围内,在一个合理的时间内,利用已知的明文、密文,通过模式匹配的方法推导出真实密钥也是可行的。在攻击前就要选择好所需被观测的汉明重数量的自由度和计算有效性所需的汉明重数量,对于ARIA密钥扩展中,笔者将初始值W0,切分成8个不同的部分,一定程度上这8个部分是相互独立的,如图中5这样分割的动机在于:3个字节值为一组,其他的中间字节就能够被计算出来,依据其相互依赖性会使得观测的汉明重数量在计算时间和效率上较均衡。以part0为例,如下图所示,记号为.的字节值是依赖于Part0的字节将要被计算比较用的,图中标记为o字节

7、值是用来遍历所有可能值,舍弃不满足要求的值,以便减少密钥空间。现在,遍历Part03个字节的所有可能值,根据前面所讲,意味着大约有50.273(≈217)次计算。对于每一个遍历可能值,攻击者都会计算和其有依赖关系中间值字节的汉明重,且唯一对应于目前攻击的Part0值,攻击者将证实是否计算出的中间值字节汉明重满足真实密钥值产生的汉明重的值;如果大部分汉明重值能满足,将这个猜测值保留下来,依次将其他的7个Part部分猜测出来。由于S盒的特性,只有少数的可能值被保留下,根据我们实验结果得出,每一个Part被保留的可能值是2~4个,即一个16个字节的密钥值有48

8、(=216)个,使得密钥空间从2128降到了216个,将这216个猜测密钥组合值

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。