CN109787745A - 一种基于多推断利用的分组密码容错代数旁路分析方法 - Google Patents

一种基于多推断利用的分组密码容错代数旁路分析方法 Download PDF

Info

Publication number
CN109787745A
CN109787745A CN201910163284.9A CN201910163284A CN109787745A CN 109787745 A CN109787745 A CN 109787745A CN 201910163284 A CN201910163284 A CN 201910163284A CN 109787745 A CN109787745 A CN 109787745A
Authority
CN
China
Prior art keywords
power consumption
hamming weight
block cipher
hamming
weight
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201910163284.9A
Other languages
English (en)
Inventor
赵新杰
郭世泽
张帆
朱晖
赵茜
黄静
俞赛赛
刘卓然
刘文瀚
张宇
刘磊
胡卿
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Chinese People's Liberation Army 32082
Original Assignee
Chinese People's Liberation Army 32082
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Chinese People's Liberation Army 32082 filed Critical Chinese People's Liberation Army 32082
Priority to CN201910163284.9A priority Critical patent/CN109787745A/zh
Publication of CN109787745A publication Critical patent/CN109787745A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明提供一种基于多推断利用的分组密码容错代数旁路分析方法,其包括:在密钥已知时依据受控制密码芯片执行分组密码加密过程中的多条功耗轨迹,构建加密中间状态的汉明重候选值对应的功耗轨迹模板;利用该功耗轨迹模板以及要攻击的密码芯片执行分组密码加密过程中的一条功耗轨迹得到加密中间状态的汉明重多推断值集合;将分组密码算法和汉明重多推断值集合使用代数方程表示;使用解析器对代数方程进行求解,恢复加密主密钥。可以看出,对于微控制器上的AES分组密码实现,本发明使用一条功耗轨迹即实现主密钥恢复。而且,由于在实际攻击中一条功耗轨迹对应的汉明重推断值存在多个,利用多个推断值可大幅提高代数旁路攻击的容错能力。

Description

一种基于多推断利用的分组密码容错代数旁路分析方法
技术领域
涉及通信与信息安全领域,尤其涉及一种针对分组密码密码的密钥进行容错代数旁路分析技术。
背景技术
密码算法的设计安全性不等价于密码芯片的实现安全性,由于芯片的物理特性会产生额外信息泄露,其在密码芯片上实现过程中会泄露出诸如执行时间、功率消耗、电磁辐射、运行故障等旁路信息,利用这些旁路信息可以推断中间状态的相关值(如汉明重),在此基础上以较低代价实现秘密信息提取,此类攻击称为旁路攻击。
在实际攻击中,受目标密码平台自身噪声、测试计量技术及仪器影响,根据旁路泄露得到的关于加密中间状态的一个推断(如汉明重信息)往往存在一定的误差。由于代数旁路攻击需要将这些推断转化为严格的代数方程组并进行密钥求解,推断中一比特的错误存在都会使得方程组无解,从而导致攻击失败。现有代数旁路攻击研究大都在汉明重无错误的前提条件下开展,存在容错性差的问题。
发明内容
针对现有技术的不足,本发明提供了一种基于多推断利用的分组密码容错代数旁路分析方法,通过本发明,能够提高代数旁路攻击的容错能力。
本发明通过如下技术方案实现:
本发明提供一种基于多推断利用的分组密码容错代数旁路分析方法,其包括:
在密钥已知时依据受控密码芯片执行分组密码加密过程中的多条功耗轨迹,构建加密过程中所有汉明重泄露点对应的所有汉明重候选值的功耗轨迹模板;
将所构建的所有汉明重候选值的功耗轨迹模板与要攻击的目标密码芯片执行分组密码加密过程中的一条功耗轨迹中的每个汉明重泄露点对应的功耗轨迹之间进行匹配,并将所有汉明重候选值的匹配度进行归一化处理,使得所有汉明重推断值的匹配度之和等于1;
提取匹配度之和大于匹配度阈值的前n个汉明重候选值,并将其计入汉明重值多推断集合;
使用代数方程表示分组密码加密过程,使用代数方程表示要攻击的目标密码芯片一条功耗轨迹的所有汉明重泄露点的前n个的候选值多推断集合;
通过解析器对建立的分组密码和汉明重多推断集合的代数方程进行求解恢复分组密码主密钥。
更进一步地,在密钥已知时所述依据受控密码芯片执行分组密码加密过程中的多条功耗轨迹,构建加密过程中所有汉明重泄露点对应的所有汉明重候选值的功耗轨迹模板的过程,包括:
使用一个可控制密钥的密码芯片,选取设定数量的明文发送给密码芯片;
采集芯片执行分组密码加密过程中的功耗轨迹;对所述功耗轨迹进行切割,获得多个汉明重量泄露点对应的功耗轨迹;
根据明文和控制的密钥值,将每个泄露点对应的密码运行中间状态的汉明重值计算出来,并计算出所述汉明重值对应的功耗均值轨迹作为二维模板;
依据该二维模板构建出所有汉明重泄露点对应的所有汉明重候选值的功耗轨迹模板。
更进一步地,所述将所构建的所有汉明重候选值的功耗轨迹模板与要攻击的目标密码芯片执行分组密码加密过程中的一条功耗轨迹中的每个汉明重泄露点对应的功耗轨迹之间进行匹配的过程,包括:
依据如下公式,将所构建的所有汉明重候选值的功耗轨迹模板与要攻击的目标密码芯片执行分组密码加密过程中的一条功耗轨迹中的每个汉明重泄露点对应的功耗轨迹之间进行匹配:
其中,t'为所获得的每个汉明重泄露点对应的功耗轨迹;为所有汉明重候选值的功耗轨迹模板;E()表示数学期望函数;D()表示方差函数。
更进一步地,所述将所有汉明重候选值的匹配度进行归一化处理,使得所有汉明重推断值的匹配度之和等于1的过程包括:
利用如下公式将所有汉明重候选值的匹配度进行归一化处理,使得所有汉明重推断值的匹配度之和等于1:
其中0≤i≤8
其中,ρi表示某字节汉明重等于i的一个候选值的匹配度;ρ'i表示归一化处理后的匹配度。
更进一步地,所述使用代数方程表示要攻击的目标密码芯片一条功耗轨迹的所有汉明重泄露点前n个汉明重候选值的多推断集合的过程,包括:
利用如下代数方程计算正确的汉明重值:
d=φ(X)=d1|d2|...dm,X=x1,...,xn
其中,d为正确的汉明重值;di为d的一个比特值(1≤i≤m,其中m为自然数);X为某个汉明重值的加密中间状态,xi为某个汉明重值的加密中间状态的1个比特变量(1≤i≤n,其中n为自然数);φ(X)为计算汉明重值的加密中间状态X的函数;
利用如下代数方程计算汉明重多推断值集合中的一个元素:
其中,di为汉明重多推断值集合中的一个元素;m为自然数;Sp表示汉明重多推断值集合数量;
利用如下代数方程计算di同d中每个比特之间关系:
其中,di j表示di的第j个比特,表示di同di j之间关系的一个单比特变量;表示取反“NOT”运算;ci为标识di同d是否相等的单比特变量;
利用如下代数方程表示汉明重多推断值集合中有且只有一个元素di和d相等:
其中,ci为标识di同d是否相等的单比特变量;Sp表示汉明重多推断值集合数量。
更进一步地,所述通过解析器对建立的分组密码和汉明重多推断集合的代数方程进行求解恢复分组密码主密钥的过程,包括:
将建立的分组密码和汉明重多推断集合的代数方程转化为文本文件,并以命令方式调用解析器对其进行求解,得到分组密码主密钥。
由上述本发明的技术方案可以看出,本发明在密钥已知时,依据受控制密码芯片执行分组密码加密过程中的多条功耗轨迹,构建加密中间状态的汉明重候选值对应的功耗轨迹模板;利用该功耗轨迹模板以及要攻击的密码芯片执行分组密码加密过程中的一条功耗轨迹得到加密中间状态的汉明重多推断值集合;将分组密码算法和汉明重多推断值集合使用代数方程表示出来;使用解析器对代数方程进行求解,恢复加密主密钥。可以看出,对于微控制器上的AES分组密码实现,本发明可以使用一条功耗轨迹实现主密钥恢复。而且,由于在实际攻击中一条功耗轨迹对应的汉明重推断可能存在多个值,将多个推断值利用起来可大幅提高代数旁路攻击的容错能力。
附图说明
图1是本发明的架构图;
图2是AES功耗采集平台连接图;
图3是攻击流程图。
具体实施方式
下面依据本发明提供的附图对本发明实施例进行详细的描述。
本发明公开了一种基于多推断利用的分组密码容错代数旁路分析方法,该方法依据受控制密码芯片在密钥已知时执行分组密码加密过程中的多条功耗轨迹,构建加密中间状态的汉明重候选值对应的功耗轨迹模板;利用该功耗轨迹模板以及要攻击的密码芯片执行分组密码加密过程中的一条功耗轨迹得到加密中间状态的汉明重多推断值集合;将分组密码算法和汉明重多推断值集合使用代数方程表示出来;使用解析器对代数方程进行求解,恢复加密主密钥。由于在实际攻击中一条功耗轨迹对应的汉明重推断可能存在多个值,将多个推断值利用起来可大幅提高代数旁路攻击的容错能力。
图1为本发明的架构图。由图1可以看出,其首先对分组密码加密功耗泄露进行采集,然后基于模板旁路分析密码加密中间状态的汉明重候选值(即多推断值);其次将分组密码算法和汉明重多推断值集合使用代数方程表示出来;最后使用解析器对代数方程进行求解进行主密钥恢复。下面给出本发明的具体情况:
步骤1、采集分组密码加密旁路泄露,获得受控制密码芯片在密钥已知时执行分组密码加密过程中的多条功耗轨迹。
使用一个可控制密钥的密码芯片,选取设定数量的明文发送给密码芯片;采集芯片执行分组密码加密过程中的功耗轨迹。
加密功耗的测量可以通过在8位微控制器芯片的Vdd(或Vss)和电源+5V(或GND)之间串联一个小阻值电阻,并对其电压进行测量的方法来实现,具体工作步骤如下:
(1)PC机通过USB线向示波器发出指令,初始化示波器。
(2)PC机向微控制器密码芯片发送明文。
(3)密码芯片开始对明文进行加密,同时向示波器发送触发信号。
(4)示波器通过测量电阻上的压降,采集功耗轨迹。
(5)示波器通过USB线将测得的功耗轨迹传输给PC机,供功耗分析使用。
(6)密码芯片将密文发送给PC机。
步骤2、分组密码加密过程中的中间状态汉明重多推断集合构造。
依据受控制密码芯片在密钥已知时执行分组密码加密过程中的多条功耗轨迹,构建加密过程中所有汉明重泄露点对应的所有汉明重候选值对应的功耗轨迹模板。具体如下:
(1)功耗轨迹切割
对所述旁路信息轨迹进行切割,根据分组密码加密规范和实现方法获得多个汉明重量泄露点对应的功耗轨迹。
(2)功耗模板构建
在功耗点切割后,需要在已知密钥情况下为每个泄露点建立模板,然后使用模板匹配方法恢复未知密钥情况下这些未知中间状态的汉明重。具体根据明文和控制的密钥值,结合分组密码算法设计规范将每个泄露点对应的密码运行中间状态的汉明重值计算出来,并计算出所述汉明重值对应的功耗轨迹作为模板。
假设泄露点对应的数据宽度是l位(l=8),即泄露一个字节。因此为泄露字节所有可能的汉明重值构建l+1个模板。用已知密钥对不同明文加密n次,并获取对应的n条功耗轨迹以及对应的泄露字节的汉明重值,每条功耗轨迹有m个采样点,即ti1,ti2…,tim(1≤i≤n)。这样,功耗曲线样本组成了一个矩阵Tn×m,且对应的功耗轨迹均值可以利用如下公式计算:
(3)汉明重候选值匹配
将所构建的所有汉明重候选值的功耗轨迹模板与要攻击的目标密码芯片执行分组密码加密过程中的一条功耗轨迹中的每个汉明重泄露点对应的功耗轨迹之间进行匹配。具体如下:
通过一个可控制的芯片完成了所有模板的构建后,使用要攻击的目标密码芯片,选取一个明文发送给密码芯片,采集芯片执行AES密码加密过程中的功耗轨迹t’;利用上述同样的切割方法,对所述功耗轨迹进行切割,获得多个汉明重量泄露点对应的功耗轨迹;将所获得的每个汉明重泄露点对应的功耗轨迹与上述模板构建阶段获得的所有汉明重候选值的功耗轨迹模板进行匹配,得到二者之间的匹配度(即匹配概率)。t’与模板的匹配度计算方法为:
其中,t'为所获得的每个汉明重泄露点对应的功耗轨迹;为所有汉明重候选值的功耗轨迹模板;E()表示数学期望函数;D()表示方差函数。
(4)汉明重多推断集合构造
将所有汉明重候选值的匹配度进行归一化处理,使得所有汉明重推断值的匹配度之和等于1,根据前n个构造汉明重多推断集合。归一化处理的公式如下:
其中0≤i≤8
其中,ρi表示某字节汉明重等于i的一个候选值的匹配度;ρ'i表示归一化处理后的匹配度。
在得到9个可能汉明重值对应的匹配概率后,应用贝叶斯判别将概率进行归一化,使得9个可能汉明重值对应的匹配概率之和等于1。使用上述办法,得到汉明重值的推断集合。将匹配度之和大于匹配度阈值的一条功耗轨迹的所有汉明重泄露点的前n个汉明重候选值计入汉明重值多推断集合。
步骤3用代数方程表示分组密码算法,用代数方程表示汉明重多推断。
步骤3.1分组密码算法代数方程表示
使用代数方程表示分组密码加密过程,具体如下:
令P、X、C分别表示分组密码加密明文、中间状态以及密文,Xi表示分组密码加密第i轮输出;K和rk分别表示分组密码加密主密钥和轮密钥;f()和g()分别表示加密操作和密钥扩展函数,则分组密码加密和密钥扩展过程对应的代数方程可表示为:
步骤3.2、加密中间状态汉明重得多推断代数方程表示
使用代数方程表示要攻击的目标密码芯片一条功耗轨迹的所有汉明重泄露点的前n个的候选值多推断集合;具体如下:
令某加密中间状态X用n位变量xj来表示,j=1,…,n。Y=φ(X)函数用于计算X的汉明重值,可由m位变量表示出来。
以8位的字节X为例,X=x1|x2|…|x8,n=8,Y=y1|y2|y3|y4,m=4。则Y和X之间的代数方程可表示为:
上式可用103个变量和103个ANF方程表示出来。
对于正确的汉明重值值d,可表示为
d=φ(X)=d1|d2|...dm,X=x1,...,xn (5)
其中,d为正确的汉明重值;di为d的一个比特值(1≤i≤m,其中m为自然数);X为某个汉明重值的加密中间状态,xi为某个汉明重值的加密中间状态的1个比特变量(1≤i≤n,其中n为自然数);φ(X)为计算汉明重值的加密中间状态X的函数。
对于汉明重多推断值集合中的一个元素di,引入一个m位变量来表示:
其中,di为汉明重多推断值集合中的一个元素;m为自然数;Sp表示汉明重多推断值集合数量。
如果di和d的每个比特都相等,则di=d。为了表示汉明重多推断值集合中所有元素同d之间的关系,引入了m×Sp个单比特变量和Sp个单比特变量ci。如果否则如果di=d,则ci=1;否则ci=0。令表示取反“NOT”运算,则di同d之间关系可表示为
其中,表示di的第j个比特,表示di之间关系的1个单比特变量;表示取反“NOT”运算;ci为标识di同d是否相等的单比特变量。
因为汉明重多推断值集合中只有一个元素和d相等,意味着只有一个ci=1,可表示为
其中,ci为标识di同d是否相等的单比特变量;Sp表示汉明重多推断值集合数量。
步骤4、密钥代数方程求解
将分组密码算法方程组同汉明重多推断代数方程组联立后,密钥恢复攻击等价于方程组求解问题。典型的代数方程组求解主要包括基于可满足性问题、基于最优化问题、基于线性化、基于Grobner基等方法。
本发明将建立的分组密码和汉明重多推断集合的代数方程转化为文本文件,并以命令方式调用解析器对其进行求解,得到分组密码主密钥。本发明选取基于可满足性问题的CryptoMinisat解析器,在代数方程组构建过程中,需要将密码代数方程组转化为SAT问题及解析器求解所需的CNF(Conjunctive Normal Form,合取范式)表达式。具体实现过程如下:
(1)对上述代数方程组进行布尔降幂处理,得到对应的线性方程组。
对于代数方程组中出现的每一个次数d>1的单项式,引入1个变量和d+1个CNF子句,并以变量代替高次方程组中的高次单项式,另外,因为CNF表达式中不含常数项,所以需引进一个变量代替常数1,同时新增1个长度为1的子句。这样,代数方程组就转化为关于未知变量和常数变量的线性方程组。假定对于4次单项式x1 x2 x3 x4,引入1个新的变量a=x1x2 x3 x4可得到等价合取范式如下:
(2)将布尔降幂处理后得到的线性方程组转化为CNF子句。
CryptoMinisat求解过程中能自动对长的线性方程进行切割,对于长度为n的线性方程只需将其转化为CNF子句:x y0 y1 … yn 1 0即可。
(3)解析器求解
攻击中首先将分组密码代数旁路分析相关代数方程组转化为符合CryptoMinisat输入格式的文本文件,然后以命令行方式调用解析器进行求解,最后利用求解结果恢复分组密码加密主密钥。
下面通过一个AES密码代数旁路分析应用实例来说明本发明的实施方案。在该应用实例中,搭建图2所示AES密码旁路泄露采集平台,然后根据图3中的流程执行攻击。
(1)AES密码加密旁路泄露采集
功耗采集平台如图2所示,以8位AVR微控制器ATMEGA324P为攻击对象,系统晶振为20MHz。为测量微控制器功耗,在微控制器和稳压电源GND端之间串联了一个阻值为18.2Ω的电阻。加密中适时提供触发信号以便示波器采集电阻两端电压,并通过USB数据线将采集功耗轨迹传到PC机。功耗采集平台设备性能参数如表8 21所示。实验中电压设置为5V,微控制器工作频率为8MHz,数字示波器采样频率为100MS/s。
实验中,首先产生随机明文P=0x 70 82 86 91 97 f8 96 6a f3 f9 6f 89 3084 10 cf,密钥K=0x e6 cd 81 ba 10 c3 75 f9 6d 2d 69 61 99 7c 49 42,在微控制器上加密后得到密文C=0x 5b c 1f 5 b4 77 22 91 de ed 7f 8c ac d 67 44。在加密过程中利用上述平台采集功耗曲线。
(2)分组密码加密过程中的中间状态汉明重多推断集合构造
然后将AES的功耗曲线切割为10轮,并将前9轮功耗曲线分别按照AES加密执行过程将其切割为100个泄露点,并利用模板刻画方法,为这900个泄露点的所有汉明重值建立模板;最后利用模板分析方法,推断这900个泄露点的每个汉明重的匹配概率,将匹配概率之和大于0.95的汉明重候选值放在一个集合内,称之为汉明重推断集合。
表1 AES加密第一轮100个泄露点对应的汉明重推断集合
(3)分组密码算法和汉明重多推断代数方程表示
将AES密码算法的每个步骤使用代数方程来表示出来。具体AES每轮加密和密钥扩展所需新增变量和ANF等式数量如表1所示。
表1 AES代数方程组引入开销分析
下面以表示一个汉明重多推断集合{2,3,4}为例,正确的汉明重值为3。根据公式(5)-(8),该集合可使用下列方程表示出来:
(4)密钥代数方程求解
使用CryptoMinisat进行密钥求解,结果如表1所示。编号2至129依次表示128位AES主密钥,编号为正表示对应密钥位为1,否则为0。根据表1,求解密钥二进制表示为11100110 1100 1101 1000 0001 1011 1010 0001 0000 1100 0011 0111 0101 1111 10010110 1101 0010 1101 0110 1001 0110 0001 1001 1001 0111 1100 0100 1001 01000010,转化为16进制即e6 cd 81 ba 10 c3 75 f9 6d 2d 69 61 99 7c 49 42,同真实主密钥一致,攻击成功。
表1 CryptoMinisat解析器密钥求解结果
由上述本发明的技术方案可以看出,本发明依据受控制密码芯片在密钥已知时执行分组密码加密过程中的多条功耗轨迹,构建加密中间状态的汉明重候选值对应的功耗轨迹模板;利用该功耗轨迹模板以及要攻击的密码芯片执行分组密码加密过程中的一条功耗轨迹得到加密中间状态的汉明重多推断值集合;将分组密码算法和汉明重多推断值集合使用代数方程表示出来;使用解析器对代数方程进行求解,恢复加密主密钥。本发明可将实际攻击中一条功耗轨迹对应的多个汉明重推断值利用起来,可大幅提高代数旁路攻击的容错能力。

Claims (6)

1.一种基于多推断利用的分组密码容错代数旁路分析方法,其特征在于,所述方法包括:
在密钥已知时依据受控密码芯片执行分组密码加密过程中的多条功耗轨迹,构建加密过程中所有汉明重泄露点对应的所有汉明重候选值的功耗轨迹模板;
将所构建的所有汉明重候选值的功耗轨迹模板与要攻击的目标密码芯片执行分组密码加密过程中的一条功耗轨迹中的每个汉明重泄露点对应的功耗轨迹之间进行匹配,并将所有汉明重候选值的匹配度进行归一化处理,使得所有汉明重推断值的匹配度之和等于1;
提取匹配度之和大于匹配度阈值的前n个汉明重候选值,并将其计入汉明重值多推断集合;
使用代数方程表示分组密码加密过程,使用代数方程表示要攻击的目标密码芯片一条功耗轨迹的所有汉明重泄露点的前n个的候选值多推断集合;
通过解析器对建立的分组密码和汉明重多推断集合的代数方程进行求解恢复分组密码主密钥。
2.根据权利要求1所述的一种基于多推断利用的分组密码容错代数旁路分析方法,其特征在于,在密钥已知时所述依据受控密码芯片执行分组密码加密过程中的多条功耗轨迹,构建加密过程中所有汉明重泄露点对应的所有汉明重候选值的功耗轨迹模板的过程,包括:
使用一个可控制密钥的密码芯片,选取设定数量的明文发送给密码芯片;
采集芯片执行分组密码加密过程中的功耗轨迹;对所述功耗轨迹进行切割,获得多个汉明重量泄露点对应的功耗轨迹;
根据明文和控制的密钥值,将每个泄露点对应的密码运行中间状态的汉明重值计算出来,并计算出所述汉明重值对应的功耗均值轨迹作为二维模板;
依据该二维模板构建出所有汉明重泄露点对应的所有汉明重候选值的功耗轨迹模板。
3.根据权利要求1或2所述的一种基于多推断利用的分组密码容错代数旁路分析方法,其特征在于,所述将所构建的所有汉明重候选值的功耗轨迹模板与要攻击的目标密码芯片执行分组密码加密过程中的一条功耗轨迹中的每个汉明重泄露点对应的功耗轨迹之间进行匹配的过程,包括:
依据如下公式,将所构建的所有汉明重候选值的功耗轨迹模板与要攻击的目标密码芯片执行分组密码加密过程中的一条功耗轨迹中的每个汉明重泄露点对应的功耗轨迹之间进行匹配:
其中,t'为所获得的每个汉明重泄露点对应的功耗轨迹;为所有汉明重候选值的功耗轨迹模板;E()表示数学期望函数;D()表示方差函数。
4.根据权利要求3所述的一种基于多推断利用的分组密码容错代数旁路分析方法,其特征在于,所述将所有汉明重候选值的匹配度进行归一化处理,使得所有汉明重推断值的匹配度之和等于1的过程包括:
利用如下公式将所有汉明重候选值的匹配度进行归一化处理,使得所有汉明重推断值的匹配度之和等于1:
其中0≤i≤8
其中,ρi表示某字节汉明重等于i的一个候选值的匹配度;ρ'i表示归一化处理后的匹配度。
5.根据权利要求4所述的一种基于多推断利用的分组密码容错代数旁路分析方法,其特征在于,所述使用代数方程表示要攻击的目标密码芯片一条功耗轨迹的所有汉明重泄露点前n个汉明重候选值的多推断集合的过程,包括:
利用如下代数方程计算正确的汉明重值:
d=φ(X)=d1|d2|...dm,X=x1,...,xn
其中,d为正确的汉明重值;di为d的一个比特值(1≤i≤m,其中m为自然数);X为某个汉明重值的加密中间状态,xi为某个汉明重值的加密中间状态的1个比特变量(1≤i≤n,其中n为自然数);φ(X)为计算汉明重值的加密中间状态X的函数;
利用如下代数方程计算汉明重多推断值集合中的一个元素:
其中,di为汉明重多推断值集合中的一个元素;m为自然数;Sp表示汉明重多推断值集合数量;
利用如下代数方程计算di同d中每个比特之间关系:
其中,表示di的第j个比特,表示di之间关系的一个单比特变量;表示取反“NOT”运算;ci为标识di同d是否相等的单比特变量;
利用如下代数方程表示汉明重多推断值集合中有且只有一个元素di和d相等:
其中,ci为标识di同d是否相等的单比特变量;Sp表示汉明重多推断值集合数量。
6.根据权利要求5所述的一种基于多推断利用的分组密码容错代数旁路分析方法,其特征在于,所述通过解析器对建立的分组密码和汉明重多推断集合的代数方程进行求解恢复分组密码主密钥的过程,包括:
将建立的分组密码和汉明重多推断集合的代数方程转化为文本文件,并以命令方式调用解析器对其进行求解,得到分组密码主密钥。
CN201910163284.9A 2019-03-05 2019-03-05 一种基于多推断利用的分组密码容错代数旁路分析方法 Pending CN109787745A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910163284.9A CN109787745A (zh) 2019-03-05 2019-03-05 一种基于多推断利用的分组密码容错代数旁路分析方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910163284.9A CN109787745A (zh) 2019-03-05 2019-03-05 一种基于多推断利用的分组密码容错代数旁路分析方法

Publications (1)

Publication Number Publication Date
CN109787745A true CN109787745A (zh) 2019-05-21

Family

ID=66486420

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910163284.9A Pending CN109787745A (zh) 2019-03-05 2019-03-05 一种基于多推断利用的分组密码容错代数旁路分析方法

Country Status (1)

Country Link
CN (1) CN109787745A (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111817847A (zh) * 2020-06-17 2020-10-23 浙江大学 基于sike算法的旁路防御方法、装置、电子设备及可读介质
CN113315625A (zh) * 2020-02-27 2021-08-27 华东师范大学 一种基于分割属性的密钥恢复分析方法及系统
CN113824549A (zh) * 2021-08-30 2021-12-21 中国人民解放军海军工程大学 分组密码旁路泄露信息约简系统及方法
CN114070560A (zh) * 2022-01-13 2022-02-18 浙江大学 一种针对分组密码的代数持久性故障分析方法及装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104717055A (zh) * 2015-03-25 2015-06-17 成都信息工程学院 一种针对sm4密码算法轮输入汉明重量的模板攻击方法
CN104868990A (zh) * 2015-04-15 2015-08-26 成都信息工程学院 一种针对sm4密码算法轮输出的模板攻击方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104717055A (zh) * 2015-03-25 2015-06-17 成都信息工程学院 一种针对sm4密码算法轮输入汉明重量的模板攻击方法
CN104868990A (zh) * 2015-04-15 2015-08-26 成都信息工程学院 一种针对sm4密码算法轮输出的模板攻击方法

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
SHIZE GUO等: "Exploiting the Incomplete Diffusion Feature: A Specialized Analytical Side-Channel Attack Against the AES and Its Application to Microcontroller Implementations", 《IEEE》 *
XINJIE ZHAO等: "MDASCA: An Enhanced Algebraic Side-Channel Attack for Error Tolerance and New Leakage Model Exploitation", 《SPRINGER,INTERNATIONAL WORKSHOP ON CONSTRUCTIVE SIDE-CHANNEL ANALYSIS AND SECURE DESIGN》 *
刘会英等: "基于汉明重的SMS4密码代数旁路攻击研究", 《计算机学报》 *
王小娟等: "基于功耗预处理优化的LED密码模板攻击研究", 《通信学报》 *
赵新杰等: "KLEIN密码代数旁路攻击", 《成都信息工程学院学报》 *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113315625A (zh) * 2020-02-27 2021-08-27 华东师范大学 一种基于分割属性的密钥恢复分析方法及系统
CN113315625B (zh) * 2020-02-27 2022-07-26 华东师范大学 一种基于分割属性的密钥恢复分析方法及系统
CN111817847A (zh) * 2020-06-17 2020-10-23 浙江大学 基于sike算法的旁路防御方法、装置、电子设备及可读介质
CN111817847B (zh) * 2020-06-17 2021-11-23 浙江大学 基于sike算法的旁路防御方法、装置、电子设备及可读介质
CN113824549A (zh) * 2021-08-30 2021-12-21 中国人民解放军海军工程大学 分组密码旁路泄露信息约简系统及方法
CN113824549B (zh) * 2021-08-30 2023-06-16 中国人民解放军海军工程大学 分组密码旁路泄露信息约简系统及方法
CN114070560A (zh) * 2022-01-13 2022-02-18 浙江大学 一种针对分组密码的代数持久性故障分析方法及装置

Similar Documents

Publication Publication Date Title
CN109787745A (zh) 一种基于多推断利用的分组密码容错代数旁路分析方法
Coladangelo et al. Hidden cosets and applications to unclonable cryptography
Liu et al. Boosting privately: Privacy-preserving federated extreme boosting for mobile crowdsensing
Aaronson et al. New approaches for quantum copy-protection
Buriachok et al. Invasion detection model using two-stage criterion of detection of network anomalies
CN108055120B (zh) 一种检测aes-otr算法抵御差分故障攻击的方法
CN104899517B (zh) 基于短语的可搜索对称加密方法
CN107679397A (zh) 一种linux系统的弱口令检测系统和方法
CN105721148B (zh) 一种基于双随机数的数据文件加密方法及系统
US11233629B2 (en) Registration apparatus, search operation apparatus, data management apparatus
CN108390760B (zh) 一种云数据传输中端到端的公钥关键字可搜索加密方法
CN109586920A (zh) 一种可信验证方法及装置
US10733317B2 (en) Searchable encryption processing system
CN107896222A (zh) 一种数据处理方法及系统
CN113141247A (zh) 一种同态加密方法、装置、系统及可读存储介质
El Hennawy et al. LEA: link encryption algorithm proposed stream cipher algorithm
Zhong et al. Side-channels in electric power synchrophasor network data traffic
Wang et al. New methods of template attack based on fault sensitivity analysis
CN104935783B (zh) 一种安全的主动式图像篡改检测方法及装置
CN105991289A (zh) Sm3密码算法的侧信道能量分析方法及装置
Muchsin et al. Text encryption using extended bit circular shift cipher
Beckers et al. Fault analysis of the chacha and salsa families of stream ciphers
Nagarajan et al. Formal verification of quantum protocols
Iavich et al. A Post-Quantum secure e-Health system for the data management
de Souza et al. Identification of N block ciphers

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20190521