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

文档序号:9818383阅读:来源:国知局
表示AES算法过程中的S盒变换操作;cU, ο表示明文分 组cU的第一个字节,ko表示原始密钥k的第一个字节,Hff(Xu)表示di,Q与ko异或后值的汉明 重量;Hff (Si, ο)表不di, ο与ko异或后再经S盒变换后值的汉明重量;对已知若干条明文分组di 进行加密运算,分别得到该加密流程下明文字节与原始密钥字节异或操作后和S盒变换操 作后输出值的汉明重量;
[0031] A-2、光泄漏点选取:与步骤A-I的分析模型相对应,选定AES密码芯片上字节变换 的输入和输出作为两个光泄漏采集点;
[0032] B、密钥分析
[0033] B-1、对密钥k第一个字节ko进行分析:依据步骤A-I的模型对m组明文进行加密并 分析相应的汉明重量,同时采集步骤A-2选定的两个光泄漏点的光子数得到m条光辐射迹, 采集时对每组明文采集η遍求平均值;通过对照光子数与汉明重量的关系确定出HW(Xm)和 Hff(Su)的值;由于明文Cl1已知,即可对原始密钥k第一个字节ko的可能值集合进行分析;对 于8位的ko而言,所有可能的取值有256种,其中ko = 0,1,2……255,分别和明文分组cU的第 一个字节cko进行异或运算,筛选出异或运算结果的汉明重量等于HW(Xw)的密钥,得到一 个密钥可能值集合k'o;再对ko可能值即集合k'o中的各元素和cU,〇异或的结果进行S盒变换 操作,进一步得到S盒变换后值的汉明重量与HW(Sw)相等的密钥可能值,即得到进一步缩 小范围的密钥可能值集合k"o;通过上述两步的筛选,ko可能的密钥值数量大大减少;如果ko 密钥可能值集合k" 〇的元素个数大于1,则继续使用其它不同的明文,重复进行上述两步操 作,对得到的密钥可能值集合k"o与上条明文确定的密钥可能值集合k"o进行求交集运算,产 生新的密钥可能值集合,直到密钥可能值集合的元素个数为1,得出密钥ko;
[0034] B-2、对密钥k其他字节进行分析:通过对密钥k的其它字节重复进行步骤B-I的操 作,直至得出全部密钥。
[0035] 作为本发明的一种优选技术方案,步骤A-2中,所述字节变换的输入为加密算法第 一轮循环前的异或操作的输出,亦即为密钥加操作的输出;所述字节变换的输出为第一轮S 盒变换的输出。
[0036] 作为本发明的一种优选技术方案,步骤B-I中,m的取值为2或3; η取值大于5并通过 求取均值减少呈正态分布的电子噪声的干扰。
[0037] 作为本发明的一种优选技术方案,步骤Β-2中,对多组字节进行同时分析或依次分 析,直至得出全部密钥。
[0038] 采用上述技术方案所产生的有益效果在于:本发明首次依据密码芯片运行时的光 辐射迹及其数据依赖性提出了一种简单有效的针对高级加密标准(AES)加密算法的密码芯 片光辐射分析方法;根据密码芯片运行时的光泄漏特性,利用时间相关单光子计数技术搭 建了光辐射分析攻击实验平台,在AES加密算法执行第一次轮密钥加操作后和字节替换操 作后分别进行光泄露信号采集,对基于操作数Hamming weight和AES密码芯片泄漏光子数 对应关系的密钥分析攻击方法的有效性进行了验证,通过选择几组明文成功地破解了 AES 加密算法的密钥;实验结果表明,当密码芯片的泄露光子数与操作数的汉明重量呈近似线 性关系时,该种光辐射密钥分析攻击方法对AES密码芯片的解析具有很高的实际可操作性。 本发明对于我国军事和民用行业均具有十分重要的现实意义。
【附图说明】
[0039]图1为实施例3中R7寄存器9种不同汉明重量的平均光泄漏点状图及其线性拟合结 果。
[0040]图2为实施例4中AES密码算法的状态矩阵及其光泄漏点(中间值)的示意图;AES是 美国UIST批准的一个分组长度为128-bit的迭代型分组密码算法,其针对一个4 X 4字节的 明文矩阵进行操作,称为状态矩阵;其使用128-bit密钥加密128-bit的明文分组,数据和密 钥均使用一个4X4的字节矩阵,除了最后一轮不包括列混淆操作外,每个循环包括四个不 同的步骤(字节替换,行移位,列混淆,轮密钥加),此外还在第一轮前进行轮密钥加操作;在 整个加密过程中,原始密钥用于首轮循环前的轮密钥加操作,后面循环的轮密钥由初始密 钥衍生得到。
[0041]图3是实施例7中R7寄存器9种汉明重量的平均泄漏轨迹图示。
【具体实施方式】
[0042]实施例1、密码芯片光辐射迹组成
[0043] 光辐射迹是在密码芯片运行过程中,利用单光子探测器和光子记录模块采样的光 子数在时域上的分布,它是光泄漏信号强度与时间的一个函数,反映了运行过程中的密码 芯片在各时间点上的光子泄露情况。光辐射迹中既包含了对于破解密钥有用的信息,也包 含了部分噪声信号。对于噪声信号的处理很大程度上决定了密钥分析的效率和精确性。光 辐射迹某一时间点的信号组成如下:
[0044] P = Pop+Pda+Pco+Pno, (1)
[0045] 在式(1)中,P为光福射迹某一点的光子泄漏总量,Pop为该点的操作依赖分量,Pda 为该点的数据依赖分量,Pm是电子噪声,P。。是一个常数分量。其中,Pop和Pda是光福射分析中 最重要的分量,尤其是Pd a,这是因为光辐射分析攻击主要是利用了运行时密码芯片的光辐 射迹依赖于其执行的运算和处理的数据,执行不同的操作及处理不同的数据,会导致产生 不同的光辐射迹。电子噪声Pn。主要由量子化噪声、外部环境干扰、电源及时钟噪声等组成, 它导致密码芯片在运行程序和处理数据不变的情况下采集的光辐射迹仍然会出现不同。为 了提高信噪比并降低电子噪声对分析效率的影响,一方面,可以采用TCSPC(时间相关单光 子计数,下同)技术记录光子,其具有比模拟信号记录技术更小的量子化噪声;另一方面,因 为Pn。服从正态分布N(0, 〇2),为使得期望值趋于0,可以进行多次光信号采集,用求平均值的 方法减少电子噪声影响。Ρ。。主要是由与运行程序和处理数据没有关联的晶体管转换造成 的,一般认为是一个常量。
[0046] 实施例2、密码芯片光辐射信号仿真模型
[0047] 开展密码芯片光辐射分析攻击,经常需要将指令的操作数或者其变化映射为光子 泄漏的数量。对于某次攻击而言,攻击者关心的是多次仿真所获得的光辐射迹之间的差异, 其绝对值在分析攻击中并无实际意义,因此,攻击者采用的仿真模型比较简单,常用两类四 种模型,多元模型:汉明重量模型(Hamming-Weight Model)、汉明距离模型(Hamming-Distance Model),二元模型:比特模型(Bit model)、零值模型(Zero Model)。实际攻击时 采用哪一种仿真模型,需要根据攻击对象(数据)变化特点、密码芯片对密码算法的实现方 式(软件实现、硬件实现)、攻击方法的使用等灵活选择。
[0048] 令X、Y表示两个η位二进制数,可以将X和Y分别看作一个具有η个元素的位向量 (bitvector),X,Ye {〇, l}n;Xi和yi分别是X和Y的第i位二进制数,贝ljXie {〇, 1},yie {〇, 1},i ^[0,n~l]〇
[0049] 汉明重量模型:该模型假设密码芯片光子泄漏数量与被处理数据所等效二进制数 的各位"Γ的个数成正比。使用Hff(X)表示X的汉明重量,则有:
[0050]
(2)
[0051] 汉明距离模型:该模型假设密码芯片光子泄漏数量与被转换的先后两个数据所等 效二进制数的各对应二进制位"Γ转换成"〇"和"〇"转换成"Γ的总数成正比。值X和Y的汉明 距离可以表示为(?表示异或操作):
[0052]
, (3)
[0053] 使用汉明距离模型进行密码芯片光辐射仿真时,需要作出的假设是:对于二进制 数位,所有"0"变"Γ转换和"Γ变"0"转换对于光子泄漏的贡献完全相同。
[0054
当前第2页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1