一种基于光汉明重量的密钥分析方法_4

文档序号:9818383阅读:来源:国知局
R7,A Iys
[0077] XRL P1,#08H 2ys
[0078] 在实验中设定TCSPC模块的单次时间周期为5ys,实际有效周期是4ys,每次采集周 期中光信号根据到达时间的先后分布在4096个时间通道中,由于需要建立操作数R7寄存器 值的汉明重量与泄露光子数的对应关系,需要在给R7寄存器送入数值前对其进行清零操作 (上述核心被测代码未包含该指令)。对每个样本进行重复采集十分钟。对于R7寄存器而言, 数据存储形式为一个8位的二进制数,且各位之间相互独立,故可能的值有2 8 = 256种,其汉 明重量有9种可能(即0、1、2、3、4、5、6、7、8)。实验中我们将这256种取值分别送至1?7寄存器, 对256个值分别送2次,因此,实验中总共采集512个光辐射迹样本。根据R7寄存器数据汉明 重量的值对各光辐射迹进行平均化处理,选择光辐射迹中与R7数据处理相关的时间通道 (1119时间通道至1122时间通道),对其进行放大处理得到图3。如图所示,可明显看出时间 通道1120至1121区间的光子泄露数量随操作数R7的不同汉明重量而发生变化的情况,从上 往下,9条光辐射迹对应的汉明重量依次是8、7、6、5、4、3、2、1、0,随着操作数R7汉明重量的 增加,密码芯片泄漏的光子数增多。效果较为明显的时间通道为1120通道,故以1120通道为 参考时间点,从中我们可以得到操作数R7的汉明重量与泄漏光子数的对应关系,如下表所 不。
[0079] 汉明重量值与泄漏光子数的对应关系
[0081 ]实施例8、通过选择明文的AES光辐射分析攻击
[0082] 如下表(除明文用十六进制表示外,其它用十进制表示)所示,通过2组明文就可以 获得密钥的首字节。实验中,使用R7寄存器保存图2所示AES加密流程中不同光泄露点的2个 中间值(异或的结果和S盒变换的结果),通过实验分别采集到do和Cl 1两条明文的首字节(分 别是十六进制表示的0x00和OxAA)在异或后和S盒变换后泄漏的光子数,根据上述给出的泄 漏光子数与汉明重量的对应关系,得到其相应中间值(泄露点)的汉明重量值,进而分别筛 选出缩小范围的两个密钥可能值集合,斜体加粗为两个密钥可能值集合的重叠部分。
[0083] 通过选择明文的AES光辐射分析攻击
[0085] 然后,对两条明文首字节经上述处理得到的两个密钥可能值集合进行求交集运 算,可以确定出密钥的第一个字节为十进制数93,其十六进制表示为"〇 X5d"。
[0086] 按照上述方法,对明文的后面字节进行类似处理,可以得到完整的密钥。
[0087] 实际上,上述基于汉明重量和光子泄漏数对应关系的密码芯片光辐射分析方法还 可以进一步优化。对于图2所示AES加密流程中的2个中间值(异或的结果及S盒变换的结果) 的汉明重量,当处理密钥k的某个字节Ic 1的时候,考虑到极端情况,例如异或操作结果的汉 明重量为〇或者8,那么,一条明文就足以破解密钥的对应字节,这可以极大地缩小搜索范围。
[0088] 综上所述,运行状态的密码芯片的光辐射迹与被处理的操作数之间存在着相关 性,即所谓的光辐射迹的数据依赖性。借助于汉明仿真模型,当密码芯片泄露光子数与操作 数的汉明重量呈近似线性关系时,可以采用基于操作数汉明重量和泄漏光子数对应关系的 密钥分析方法实施AES密码芯片光辐射分析攻击。我们的研究表明,选择AES算法第一次异 或后和S盒变换后的结果作为中间值和光泄漏信号采集点,通过2条或多条已知明文,结合 汉明重量与泄漏光子数对应关系,获得相关中间值的汉明重量,就可以反推并破解密钥,实 验结果验证了方法的可行性和密钥的正确性。
[0089] 上述描述仅作为本发明可实施的技术方案提出,不作为对其技术方案本身的单一 限制条件。
【主权项】
1. 一种基于光汉明重量的密钥分析方法,适用于采用4 X 4字节的矩阵秘钥k对4 X 4字 节的明文矩阵di进行字节替换、行移位、列混淆、轮密钥加等操作的AE巧日密算法,其特征在 于:该方法包括如下步骤: A、 基础分析 A-1、汉明重量分析:W明文分组di的第一个字节di,O为例建立如下分析模型: 片^(。'" ?/(,,)=片tr(乂");封巧'口((/"①足。))=片.!;/巧。); 其中册()表示汉明重量,S()表示AES算法过程中的S盒变换操作;di,O表示明文分组di 的第一个字节,k质示原始密钥k的第一个字节,册化,0)表示di,O与ko异或后值的汉明重量; HW(Sm)表示di,〇与ko异或后再经S盒变换后值的汉明重量;对已知若干条明文分组di进行加 密运算,分别得到该加密流程下明文字节与原始密钥字节异或操作后和S盒变换操作后输 出值的汉明重量; A-2、光泄漏点选取:与步骤A-I的分析模型相对应,选定AES密码忍片上字节变换的输 入和输出作为两个光泄漏采集点; B、 密钥分析 B-1、对密钥k第一个字节ko进行分析:依据步骤A-I的模型对m组明文进行加密并分析相 应的汉明重量,同时采集步骤A-2选定的两个光泄漏点的光子数得到m条光福射迹,采集时 对每组明文采集n遍求平均值;通过对照光子数与汉明重量的关系确定出HW(Xi,〇)和HW (Si,0)的值;由于明文di已知,即可对原始密钥k第一个字节ko的可能值集合进行分析;对于8 位的ko而言,所有可能的取值有256种,其中ko = 0,1,2……255,分别和明文分组di的第一个 字节di,o进行异或运算,筛选出异或运算结果的汉明重量等于HWUi,0)的密钥,得到一个密 钥可能值集合k'o;再对ko可能值即集合k'o中的各元素和di,o异或的结果进行S盒变换操作, 进一步得到S盒变换后值的汉明重量与HW(Si,o)相等的密钥可能值,即得到进一步缩小范围 的密钥可能值集合k"o;通过上述两步的筛选,ko可能的密钥值数量大大减少;如果ko密钥可 能值集合k"o的元素个数大于1,则继续使用其它不同的明文,重复进行上述两步操作,对得 到的密钥可能值集合k"o与上条明文确定的密钥可能值集合k"o进行求交集运算,产生新的 密钥可能值集合,直到密钥可能值集合的元素个数为1,得出密钥ko; B-2、对密钥k其他字节进行分析:通过对密钥k的其它字节重复进行步骤B-I的操作,直 至得出全部密钥。2. 根据权利要求1所述的基于光汉明重量的密钥分析方法,其特征在于:步骤A-2中,所 述字节变换的输入为加密算法第一轮循环前的异或操作的输出,亦即为密钥加操作的输 出;所述字节变换的输出为第一轮S盒变换的输出。3. 根据权利要求1所述的基于光汉明重量的密钥分析方法,其特征在于:步骤B-I中,m 的取值为2或3;n取值大于5并通过求取均值减少呈正态分布的电子噪声的干扰。4. 根据权利要求1所述的基于光汉明重量的密钥分析方法,其特征在于:步骤B-2中,对 多组字节进行同时分析或依次分析,直至得出全部密钥。
【专利摘要】本发明公开了一种基于光汉明重量的密钥分析方法,包括如下步骤:A-1、建立汉明重量分析模型;A-2、为光子数测量选取光泄漏点:选定密码芯片上字节变换的输入和输出作为两个光泄漏采集点;B-1、对密钥k第一个字节k0进行分析;B-2、对密钥k其他字节进行分析:通过对密钥k的其它字节重复进行步骤B-1的操作,直至得出全部密钥。本发明的光辐射密钥分析攻击方法对AES密码芯片的解析具有很高的实际可操作性,本发明对于我国军事和民用行业均具有十分重要的现实意义。
【IPC分类】H04L9/28, H04L9/08, H04L9/14
【公开号】CN105591739
【申请号】CN201610130026
【发明人】王红胜, 徐子言, 张阳, 陈开颜, 李宝晨, 陈军广, 李建中, 吴令安
【申请人】中国人民解放军军械工程学院
【公开日】2016年5月18日
【申请日】2016年3月8日
当前第4页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1