一种抵抗能量分析的随机混合加密系统及其实现方法

文档序号:7778032阅读:196来源:国知局
专利名称:一种抵抗能量分析的随机混合加密系统及其实现方法
技术领域
本发明涉及高速数据加密技术中的侧信道攻击防护技术、加密电路设计技术以及电路功耗均衡技木,属于信息安全领域,具体涉及ー种抵抗能量分析的随机混合加密系统及其实现方法。
背景技术
随着计算机技木,通信技术的飞速发展,信息安全问题受到人们的广泛重视,各种新的加密技术不断涌现,针对密码算法本身及其实现设备的攻击也层出不穷。侧信道攻击是ー种破解密码设备的有效手段,包括时间分析攻击、功耗攻击、电磁辐射分析攻击等。在各种侧信道攻击技术手段中,相对而言功耗攻击的威胁最高。功耗攻击具有普遍适用性,可应用于各种不同的密码算法,包括高级加密标准AES算法、中国无线局域网产品使用的建议算法SMS4算法等。当前用于抵抗侧信道攻击的主要手段有掩码技术、平衡汉明重量、使用两个电容(ー个由外部电源充电、一个为加密设备供电)等,然而国内外现行的技术存在以下几点不足之处(1)虽然引入了掩码,但是并不能保证所有的中间结果均被掩码所保护,仍有几率被细心的攻击者发现漏洞;( 即便通过ー些技术手段来平衡汉明重量,但很难做到毎次加密的功耗曲线与密钥无关;(3)在一个加密设备中引入两个电容,对于通用硬件设备(如FPGA)而言,不具备普适性。

发明内容
本发明的目的是为了解决上述问题,提出ー种抵抗能量分析的随机混合加密系统及其实现方法。本发明的ー种抵抗能量分析的随机混合加密系统,包括伪随机序列Pm^生成模块、S盒更新模块、掩码修正值生成模块、明文输入寄存器、伪随机序列PN64生成模块、选通电路A、选通电路B、SMS4加密模块、AES加密模块、多路器和密文输出寄存器;本发明的ー种抵抗能量分析的随机混合加密系统的实现方法,包括以下几个步骤步骤ー生成128比特伪随机掩码;步骤ニ 计算并更新SMS4算法和AES算法的修正S盒的查表元素;步骤三生成SMS4算法和AES算法的掩码修正值;步骤四1 比特明文输入;步骤五随机选择SMS4算法或AES算法进行加密;步骤六1 比特密文输出。本发明的优点在干(1)通过伪随机序列PN64,对明文随机的采用AES或者SMS4算法进行加密,由于算法的随机改变,攻击者无法定位到某个具体的寄存器运用统计方法对功耗信息进行分折,从而从根本上杜绝了差分能量攻击;两种算法均通过伪随机序列PN128引入了随机掩
5码,从而具有抗简单能量分析的能力;(2)算法硬件实现中所有的基本电路单元(寄存器、ニ输入与门、ニ输入或门、ニ 输入异或门)均通过对称电路实现,从电路结构的角度上保证了当电路状态改变吋,硬件设备的功耗保持一致;(3)加密系统具有多种工作模式,适用于不用场景。当密码设备有可能被攻击者获得的情况下采用AES及SMS4随机混合加密模式;当密码设备本身安全的情况下(即密码设备与攻击者物理隔离)可以视具体需求采用SMS4加密算法或者AES加密算法。


图1是本发明的整体结构示意图;图2是加入掩码的AES算法和SMS4算法的结构示意图;图3是电路基本结构的对称模型结构示意图;图4是本发明提供的方法流程图。图中1-伪随机序列PNU8生成模块2-S盒更新模块3_掩码修正值生
具体实施例方式下面将结合附图和实施例对本发明作进ー步的详细说明。本发明是ー种抵抗能量分析的随机混合加密系统,如图1所示,包括伪随机序列 PN128生成模块1、S盒更新模块2、掩码修正值生成模块3、明文输入寄存器4、伪随机序列 PN64生成模块5、选通电路A6、选通电路B7、SMS4加密模块8、AES加密模块9、多路器10和密文输出寄存器11。伪随机序列Pm^生成模块1通过1 位的线性反馈移位寄存器产生1 位随机掩码。毎次加密前通过该模块随机生成1 位掩码Dltl至S盒更新模块2、掩码修正值生成模块3、SMS4加密模块8、AES加密模块9。S盒更新模块2接收到伪随机序列Pm^生成模块1发送来的随机掩码Dltl,通过该掩码分别计算得到SMS4算法和AES算法的修正S盒的查表元素,通过8位的数据通道D21 和D2tl分別更新SMS4加密模块8和AES加密模块9中用于实现S盒查表功能的RAM存储器中的元素。掩码修正值生成模块3接收到伪随机序列Pm^生成模块1发送来的随机掩码 Dltl,分别计算得到在加入该掩码之后SMS4算法和AES算法每个分组加密过程中每轮之后的掩码修正值32位的D31和1 位的D3tl,分別发送给SMS4加密模块8和AES加密模块9。明文输入寄存器4通过16位并行接ロ接收并存储明文数据Din,并将16比特明文 D80发送给选通电路A6和选通电路B7,每个分组明文为128比持,分8个时钟完成。伪随机序列PN64生成模块5通过64位的线性反馈移位寄存器产生PN64,在每个
成模块4-明文输入寄存器7-选通电路B10-多路器
5-伪随机序列PN64生成模块 8-SMS4加密模块 11-密文输出寄存器
6-选通电路A 9-AES加密模块分组128比特明文的加密周期内,产生一位新的伪随机码D7tl发送给选通电路B7、多路器 10,通过ー个反相器将D7tl取反得到D71发送给选通电路A6。在此处,有另ー种工作模式,当密码设备本身安全的情况下(即密码设备与攻击者物理隔离),将伪随机序列PN64生成模块5产生的伪随机码D7tl固定为0(即当产生的D7tl为0吋,令伪随机序列PN64生成模块5 停止工作),则系统将始终采用SMS4算法进行加密;将伪随机序列PN64生成模块5产生的伪随机码D7tl固定为1 (即当产生的D7tl为1吋,令伪随机序列PN64生成模块5停止工作), 则系统将始终采用AES算法进行加密。选通电路A6接收反相器发送来的D71,当D71为1吋,允许明文D8。通过并进入SMS4 加密模块8,当D71为0吋,阻止明文D8tl进入SMS4加密模块8。选通电路B7接收伪随机序列PN64生成模块5发送来的D7(1,当D7tl为1吋,允许明文D8tl通过并进入AES加密模块9,当D7tl为0吋,阻止明文D8tl进入AES加密模块9。SMS4加密模块8通过8位的数据通道D21接收S盒更新模块2发送来的SMS4算法的修正S盒查表元素,并对本模块中用于实现S盒查表功能的RAM存储器进行数据更新; 该模块接收来自选通器A6的明文D91,并对其进行基于掩码技术的SMS4加密;该模块接收来自伪随机序列Pm^生成模块1的随机掩码Dltl的低32位D11,在每个分组加密过程中, 异或轮密钥的同时异或D11进而引入随机掩码值,从而保护了硬件运行过程中的中间状态数据安全性,保障了密钥的安全性;该模块接收来自掩码修正值生成模块3的SMS4算法掩码修正值D31,通过对SMS4算法掩码修正值D31的相关操作去除掩码值D11的影响,从而在每个分组加密完成后得到未经掩码影响的正确的128比特密文值,通过16位数据通道D4tl发送给多路器10。AES加密模块9通过8位的数据通道D2tl接收S盒更新模块2发送来的AES算法的修正S盒查表元素,并对本模块中用于实现S盒查表功能的RAM存储器进行数据更新;该模块接收来自选通器B7的明文D9tl,并对其进行基于掩码技术的AES加密;该模块接收来自伪随机序列PN128生成模块1的随机掩码Dltl,在每个分组加密之前,通过将128比特明文异或Dltl进而引入随机掩码值,从而保护了硬件运行过程中的中间状态数据安全性,保障了密钥的安全性;该模块接收来自掩码修正值生成模块3的AES算法掩码修正值D3tl,通过对 AES算法掩码修正值D3tl的相关操作去除掩码值Dltl的影响,从而在每个分组加密完成后得到未经掩码影响的正确的128比特密文值,通过16位数据通道D5tl发送给多路器10。多路器10接收来自伪随机序列PN64生成模块5的伪随机码D7tl,将之作为选择信号,当D7tl为1,选通D5tl,当D7tl为0,选通D4tl,并将结果D6tl发送给16位密文输出寄存器11。密文输出寄存器11通过16位并行接ロ接收并存储密文数据D6tl,并通过16位数据接ロ D-将密文发送出去,每个分组密文为128比持,分8个时钟完成。ー种抵抗能量分析的随机混合加密系统的实现方法,流程如图4所示,包括以下几个步骤步骤ー生成128比特伪随机掩码;伪随机序列Pm^生成模块1通过1 位的线性反馈移位寄存器产生1 位随机掩码。毎次加密前通过该模块随机生成1 位掩码Dltl至S盒更新模块2、掩码修正值生成模块3、SMS4加密模块8、AES加密模块9。步骤ニ 计算并更新SMS4算法和AES算法的修正S盒的查表元素;
S盒更新模块2接收到伪随机序列Pm^生成模块1发送来的随机掩码Dltl,通过该掩码分别计算得到SMS4算法和AES算法的修正S盒的查表元素,通过8位的数据通道D21 和D2tl分別更新SMS4加密模块8和AES加密模块9中用于实现S盒查表功能的RAM存储器中的元素。步骤三生成SMS4算法和AES算法的掩码修正值;掩码修正值生成模块3接收到伪随机序列Pm^生成模块1发送来的随机掩码 Dltl,分别计算得到在加入该掩码之后SMS4算法和AES算法每个分组加密过程中每轮之后的掩码修正值32位的D31和1 位的D3tl,分別发送给SMS4加密模块8和AES加密模块9。步骤四1 比特明文输入;明文输入寄存器4通过16位并行接ロ接收并存储明文数据Din,并将16比特明文 D80发送给选通电路A6和选通电路B7,每个分组明文为128比持,分8个时钟完成。步骤五随机选择SMS4算法或AES算法进行加密;具体为步骤5. 1 随机选择SMS4算法或AES算法。伪随机序列PN64生成模块5通过64位的线性反馈移位寄存器产生PN64,在每个分组128比特明文的加密周期内,产生一位新的伪随机码D7tl发送给选通电路B7、多路器 10,通过ー个反相器将D7tl取反得到D71发送给选通电路A6。选通电路A6接收反相器的传来的D71,当D71为1吋,允许明文D8tl通过并进入SMS4加密模块8,表征选择SMS4算法,当D71 为0吋,阻止明文D8tl进入SMS4加密模块8。选通电路B7接收反相器的D7(1,当D7tl为1吋, 允许明文D8tl通过并进入AES加密模块9,表征选择AES算法,当D7tl为0吋,阻止明文D8tl进入AES加密模块9。在此处,有另ー种工作模式,当密码设备本身安全的情况下(即密码设备与攻击者物理隔离),将伪随机序列PN64生成模块5产生的伪随机码D7tl固定为0(即当产生的D7tl为0吋,令伪随机序列PN64生成模块5停止工作),则系统将始终采用SMS4算法进行加密;将伪随机序列PN64生成模块5产生的伪随机码D7tl固定为1 (即当产生的D7tl 为1吋,令伪随机序列PN64生成模块5停止工作),则系统将始终采用AES算法进行加密。步骤5. 2 利用步骤5. 1中随机选定的算法进行加密。若步骤5. 1中随机选择SMS4算法,则SMS4加密模块8通过8位的数据通道D21接收S盒更新模块2发送来的SMS4算法的修正S盒查表元素,并对本模块中用于实现S盒查表功能的RAM存储器进行数据更新;该模块接收来自选通器A6的明文D91,并对其进行基于掩码技术的加密;该模块接收来自伪随机序列Pm^生成模块1的随机掩码Dltl的低32位 D11,在每个分组加密过程中,异或轮密钥的同时异或D11进而引入随机掩码值,进而保护了硬件运行过程中的中间状态数据安全性,保障了密钥的安全性;该模块接收来自掩码修正值生成模块3的SMS4算法掩码修正值D31,通过对SMS4算法掩码修正值D31的相关操作去除掩码值D11的影响,从而在每个分组加密完成后得到未经掩码影响的正确的1 比特密文值,通过16位数据通道D4tl发送给多路器10。若步骤5. 1中随机选择AES算法,则AES加密模块9通过8位的数据通道D2tl接收S盒更新模块2发送来的AES算法的修正S盒查表元素,并对本模块中用于实现S盒查表功能的RAM存储器进行数据更新;该模块接收来自选通器B7的明文D9tl,并对其进行基于掩码技术的加密;该模块接收来自伪随机序列Pm^ 生成模块1的随机掩码Dltl,在每个分组加密之前,通过将128比特明文异或Dltl从而引入随机掩码值,进而保护了硬件运行过程中的中间状态数据安全性,保障了密钥的安全性;该模块接收来自掩码修正值生成模块3的AES算法掩码修正值D3tl,通过对AES算法掩码修正值 D30的相关操作去除掩码值Dltl的影响,从而在每个分组加密完成后得到未经掩码影响的正确的128比特密文值,通过16位数据通道D5tl发送给多路器10。步骤六1 比特密文输出;多路器10接收来自伪随机序列PN64生成模块1的伪随机码D7tl,将之作为选择信号,当D7tl为1,选通D5tl,当D7tl为0,选通D4tl,并将结果D6tl发送给16位密文输出寄存器11。 密文输出寄存器11通过16位并行接ロ接收并存储密文数据D6。,并通过16位数据接ロ D。ut 将密文发送出去,每个分组密文为128比持,分8个时钟完成。图2为加入掩码的AES算法和SMS4算法的结构示意图。其中(a)为加入掩码的 AES算法的结构,AES加密算法共进行10轮。1 比特明文输入,在第1轮加密之前明文异或随机的128比特掩码,随后通过四个并行S盒进行S盒查表运算,行移位,列混合,异或轮密钥,在第1轮加密后通过异或128比特掩码修正值(用于掩码纠正并引入下一轮的随机掩码),将结果存储在中间结果寄存器中;第2轮至第9轮,将中间结果寄存器中的128比特中间结果进行S盒查表运算,行移位,列混合,异或轮密钥,异或128比特掩码修正值(用于比特掩码纠正并引入下一轮的随机掩码),将结果存储在中间结果寄存器中;第10轮中, 将中间结果寄存器中的128比特中间结果进行S盒查表运算,行移位,异或轮密钥得到最后一轮中间状态,随后将128比特掩码修正值异或128比特掩码并将异或结果进行列混合逆变换得到最后ー轮掩码修正值,将最后ー轮掩码修正值异或最后ー轮中间状态得到128比特密文。AES加密模块9采用4个并行S盒进行查表运算,AES算法每轮有16次S盒查表运算(1 比特中每8比特进行一次查表运算,共需16次,4个并行S盒决定了每个时钟可以进行4次查表运算,所以每轮需要4个时钟),共进行10轮迭代,需40个时钟完成运算。 AES加密模块中,S盒用于数据混淆,行移位和列混合用于数据扩散,中间结果寄存器用于存储加密过程中的中间状态。(b)为加入掩码的SMS4算法的结构,SMS4加密算法共进行32轮。1 比特明文输入分成并行的4路32比持,将1至4路分别存入32位寄存器1、32位寄存器2、32位寄存器3、32位寄存器4,在第1轮至第32轮中,将32位寄存器1、32位寄存器2、32位寄存器 3、32比特掩码及轮密钥进行异或,随后将异或的结果进行S盒查表运算,SMS4线性变换,异或32比特掩码修正值,异或原先32位寄存器4中的值,并将结果存入32位寄存器1,同时将原先32位寄存器1中的值存入32位寄存器2,将原先32位寄存器2中的值存入32位寄存器3,将原先32位寄存器3中的值存入32位寄存器4 ;在32轮之后将32位寄存器1、32 位寄存器2、32位寄存器3、32位寄存器4中的128比特数据进行反序变换得到最终的1 比特密文值。SMS4加密模块8采用4个并行S盒进行查表运算,SMS4算法每轮进行4次S 盒查表运算(32比特中每8比特进行一次查表运算,共需4次,4个并行S盒决定了每个时钟可以进行4次查表运算,所以每轮需要1个时钟),共进行32轮,理论上需要32个时钟完成运算,为了使得两者在时间消耗及结构上一致,使得SMS4算法进行冗余的8轮运算(这 8轮只进行运算,不记录结果),即共进行40轮迭代,则此时SMS4算法和AES算法的用时相同,均为40个时钟,并将第32轮后的32位寄存器1、32位寄存器2、32位寄存器3、32位寄存器4中的值进行反序变化得到最终的正确的128比特密文。通过上述算法结构及硬件实现上的改进,増加了两种算法的结构及流程上的相似性,使得攻击者难以从功耗及计时方面获得有用的物理信息,使得攻击者难于对该系统进行简单及差分能量分析,从而增加了系统的安全性。 本发明实现中,伪随机序列PN128生成模块1、S盒更新模块2、掩码修正值生成摸块3、伪随机序列PN64生成模块5、选通电路A6、选通电路B7、SMS4加密模块8、AES加密模块9、多路器10由基本电路单元(寄存器、ニ输入与门、ニ输入或门、ニ输入异或门)組成, 明文输入寄存器4、密文输出寄存器11由基本电路单元(寄存器)組成,所有的基本电路单元均通过对称电路实现。图3为电路基本结构的对称模型结构示意图。其中(a)为寄存器的对称电路模型,(b)为与门的对称电路模型,(c)为或门的对称电路模型,(d)为异或门的对称电路模型,(e)为反相器的对称电路模型。本发明采用对称电路模型,对称电路模型保证了其本身对于任何状态的输入均有相同的功耗,因此系统在任意状态、任意时刻均有相同的功耗,从而在根本上杜绝了系统功耗信息的外泄,使系统具有极强的简单及差分能量分析的防御能力。
权利要求
1. 一种抵抗能量分析的随机混合加密系统,其特征在于,包括伪随机序列PN128生成模块、S盒更新模块、掩码修正值生成模块、明文输入寄存器、伪随机序列PN64生成模块、选通电路A、选通电路B、SMS4加密模块、AES加密模块、多路器和密文输出寄存器;伪随机序列PN128生成模块通过1 位的线性反馈移位寄存器产生1 位随机掩码; 每次加密前通过该模块随机生成1 位掩码Dltl至S盒更新模块、掩码修正值生成模块、 SMS4加密模块、AES加密模块;S盒更新模块接收到伪随机序列Pm^生成模块发送来的随机掩码Dltl,通过该掩码分别计算得到SMS4算法和AES算法的修正S盒的查表元素,通过8位的数据通道D21和D2tl分别更新SMS4加密模块和AES加密模块中用于实现S盒查表功能的RAM存储器中的元素;掩码修正值生成模块接收到伪随机序列Pm^生成模块发送来的随机掩码Dltl,分别计算得到在加入该掩码之后SMS4算法和AES算法每个分组加密过程中每轮之后的掩码修正值32位的D31和1 位的D3tl,分别发送给SMS4加密模块和AES加密模块;明文输入寄存器通过16位并行接口接收并存储明文数据Din,并将16比特明文D8tl发送给选通电路A和选通电路B ;伪随机序列PN64生成模块通过64位的线性反馈移位寄存器产生PN64,在每个分组 128比特明文的加密周期内,产生一位新的伪随机码D7tl发送给选通电路B、多路器,通过一个反相器将D7tl取反得到D71发送给选通电路A ;选通电路A接收反相器发送来的D71,当D71为1时,允许明文D8tl通过并进入SMS4加密模块,当D71为0时,阻止明文D8tl进入SMS4加密模块;选通电路B接收伪随机序列PN64生成模块发送来的D7tl,当D7tl为1时,允许明文D8tl通过并进入AES加密模块,当D7tl为 时,阻止明文D8tl进入AES加密模块;SMS4加密模块通过8位的数据通道D21接收S盒更新模块发送来的SMS4算法的修正 S盒查表元素,并对本模块中用于实现S盒查表功能的RAM存储器进行数据更新;该模块接收来自选通器A的明文D91,并对其进行基于掩码技术的SMS4加密;该模块接收来自伪随机序列PN128生成模块的随机掩码Dltl的低32位D11,在每个分组加密过程中,异或轮密钥的同时异或D11 ;该模块接收来自掩码修正值生成模块的SMS4算法掩码修正值D31,SMS4算法掩码修正值D31去除掩码值D11的影响,从而在每个分组加密完成后得到未经掩码影响的正确的128比特密文值,通过16位数据通道D4tl发送给多路器;AES加密模块通过8位的数据通道D2tl接收S盒更新模块发送来的AES算法的修正S盒查表元素,并对本模块中用于实现S盒查表功能的RAM存储器进行数据更新;该模块接收来自选通器B的明文D9tl,并对其进行基于掩码技术的AES加密;该模块接收来自伪随机序列 PN128生成模块的随机掩码Dltl,在每个分组加密之前,将1 比特明文异或Dltl ;该模块接收来自掩码修正值生成模块的AES算法掩码修正值D3tl,通过AES算法掩码修正值D3tl去除掩码值Dltl的影响,从而在每个分组加密完成后得到未经掩码影响的正确的128比特密文值, 通过16位数据通道D5tl发送给多路器;多路器接收来自伪随机序列PN64生成模块的伪随机码D7tl,将之作为选择信号,当D7tl 为1,选通D5tl,当D7tl为0,选通D4tl,并将结果D6tl发送给16位密文输出寄存器;密文输出寄存器通过16位并行接口接收并存储密文数据D6。,并通过16位数据接口 D。ut 将密文发送出去。
2.根据权利要求1所述的ー种抵抗能量分析的随机混合加密系统,其特征在于,所述的明文输入寄存器将16比特明文D8tl输出,每个分组明文为128比持,分8个时钟完成。
3.根据权利要求1所述的ー种抵抗能量分析的随机混合加密系统,其特征在于,所述的密文输出寄存器通过16位数据接ロ D。ut将密文发送出去,每个分组密文为128比持,分8 个时钟完成。
4.根据权利要求1所述的ー种抵抗能量分析的随机混合加密系统,其特征在干,所述的随机混合加密系统的ー种工作模式为当密码设备本身安全的情况下,将伪随机序列 PN64生成模块产生的伪随机码D7tl固定为0,即当产生的D7tl为0吋,令伪随机序列PN64生成模块5停止工作,则系统将始终采用SMS4算法进行加密;将伪随机序列PN64生成模块产生的伪随机码D7tl固定为1,即当产生的D7tl为1吋,令伪随机序列PN64生成模块停止工作, 则系统将始终采用AES算法进行加密。
5.根据权利要求1所述的ー种抵抗能量分析的随机混合加密系统,其特征在于,所述的伪随机序列Pm^生成模块、S盒更新模块、掩码修正值生成模块、伪随机序列PN64生成模块、选通电路A、选通电路B、SMS4加密模块、AES加密模块、多路器均由寄存器、ニ输入与门、ニ输入或门、ニ输入异或门组成,明文输入寄存器、密文输出寄存器由寄存器组成,所述的寄存器、ニ输入与门、ニ输入或门、ニ输入异或门均通过对称电路实现。
6.ー种抵抗能量分析的随机混合加密系统的实现方法,其特征在干,包括以下几个步骤步骤ー生成128比特伪随机掩码;伪随机序列PW^生成模块通过1 位的线性反馈移位寄存器产生1 位随机掩码; 毎次加密前通过该模块随机生成1 位掩码Dltl至S盒更新模块、掩码修正值生成模块、 SMS4加密模块、AES加密模块;步骤ニ 计算并更新SMS4算法和AES算法的修正S盒的查表元素;S盒更新模块接收到伪随机序列Pm^生成模块发送来的随机掩码Dltl,通过该掩码分别计算得到SMS4算法和AES算法的修正S盒的查表元素,通过8位的数据通道D21和D2tl分别更新SMS4加密模块和AES加密模块中用于实现S盒查表功能的RAM存储器中的元素;步骤三生成SMS4算法和AES算法的掩码修正值;掩码修正值生成模块接收到伪随机序列Pm^生成模块发送来的随机掩码Dltl,分别计算得到在加入该掩码之后SMS4算法和AES算法每个分组加密过程中每轮之后的掩码修正值32位的D31和1 位的D3tl,分別发送给SMS4加密模块和AES加密模块;步骤四1 比特明文输入;明文输入寄存器通过16位并行接ロ接收并存储明文数据Din,并将16比特明文D8tl发送给选通电路A和选通电路B ;步骤五随机选择SMS4算法或AES算法进行加密;具体为步骤5. 1 随机选择SMS4算法或AES算法;伪随机序列PN64生成模块通过64位的线性反馈移位寄存器产生PN64,在每个分组 128比特明文的加密周期内,产生一位新的伪随机码D7tl发送给选通电路B、多路器,通过ー 个反相器将D7tl取反得到D71发送给选通电路A ;选通电路A接收反相器的传来的D71,当D71为1吋,允许明文D8tl通过并进入SMS4加密模块,表征选择SMS4算法,当D71为0吋,阻止明文D8tl进入SMS4加密模块;选通电路B接收反相器的D7tl,当D7tl为1吋,允许明文D8tl通过并进入AES加密模块,表征选择AES算法,当D7tl为0吋,阻止明文D8tl进入AES加密模块;步骤5. 2 利用步骤5. 1中随机选定的算法进行加密;若步骤5. 1中随机选择SMS4算法,则SMS4加密模块通过8位的数据通道D21接收S盒更新模块发送来的SMS4算法的修正S盒查表元素,并对本模块中用于实现S盒查表功能的 RAM存储器进行数据更新;该模块接收来自选通器A的明文D91,并对其进行基于掩码技术的加密;该模块接收来自伪随机序列PN128生成模块的随机掩码Dltl的低32位D11,在每个分组加密过程中,异或轮密钥的同时异或D11进而引入随机掩码值,进而保护了硬件运行过程中的中间状态数据安全性;该模块接收来自掩码修正值生成模块的SMS4算法掩码修正值 D31,通过对SMS4算法掩码修正值D31的相关操作去除掩码值D11的影响,从而在每个分组加密完成后得到未经掩码影响的正确的128比特密文值,通过16位数据通道D4tl发送给多路器;若步骤5. 1中随机选择AES算法,则AES加密模块通过8位的数据通道D2tl接收S盒更新模块发送来的AES算法的修正S盒查表元素,并对本模块中用于实现S盒查表功能的RAM 存储器进行数据更新;该模块接收来自选通器B的明文D9tl,并对其进行基于掩码技术的加密;该模块接收来自伪随机序列Pm^生成模块的随机掩码Dltl,在每个分组加密之前,通过将128比特明文异或Dltl从而引入随机掩码值,进而保护了硬件运行过程中的中间状态数据安全性;该模块接收来自掩码修正值生成模块的AES算法掩码修正值D3tl,通过对AES算法掩码修正值D3tl的相关操作去除掩码值Dltl的影响,从而在每个分组加密完成后得到未经掩码影响的正确的128比特密文值,通过16位数据通道D5tl发送给多路器;步骤六1 比特密文输出;多路器接收来自伪随机序列PN64生成模块的伪随机码D7tl,将之作为选择信号,当D7tl 为1,选通D5tl,当D7tl为0,选通D4tl,并将结果D6tl发送给16位密文输出寄存器;密文输出寄存器通过16位并行接ロ接收并存储密文数据D6。,并通过16位数据接ロ D。ut将密文发送出去。
7.根据权利要求6所述的ー种抵抗能量分析的随机混合加密系统的实现方法,其特征在干,所述的步骤四中,明文输入寄存器输出的每个分组明文为128比持,分8个时钟完成。
8.根据权利要求6所述的ー种抵抗能量分析的随机混合加密系统的实现方法,其特征在干,所述的步骤5. 1中,当密码设备本身安全的情况下,将伪随机序列PN64生成模块产生的伪随机码D7tl固定为0,即当产生的D7tl为0吋,令伪随机序列PN64生成模块停止工作,则系统将始终采用SMS4算法进行加密;将伪随机序列PN64生成模块产生的伪随机码D7tl固定为1,即当产生的D7tl为1吋,令伪随机序列PN64生成模块停止工作,则系统将始终采用AES 算法进行加密。
9.根据权利要求6所述的ー种抵抗能量分析的随机混合加密系统的实现方法,其特征在干,所述的步骤六中,密文输出寄存器输出的每个分组密文为128比持,分8个时钟完成。
全文摘要
本发明公开了一种抵抗能量分析的随机混合加密系统及其实现方法,属于信息安全领域。系统采用自上而下一体化的设计方案,由伪随机序列PN128生成模块、S盒更新模块、掩码修正值生成模块、明文输入寄存器、伪随机序列PN64生成模块、选通电路A、选通电路B、SMS4加密模块、AES加密模块、多路器、密文输出寄存器十一个部分组成。本发明首次提出了一种抵抗能量分析的随机混合加密系统及其实现方法,通过伪随机序列PN64,对明文随机采用基于掩码技术的AES或者SMS4算法进行加密,算法硬件实现中所有的基本电路单元均通过对称电路实现,从根本上杜绝了简单和差分能量分析,加密系统具有多种工作模式,适用于不同场景。
文档编号H04L9/26GK102546157SQ20111041811
公开日2012年7月4日 申请日期2011年12月14日 优先权日2011年12月14日
发明者张尧, 张筱, 李昊阳, 王钊, 邱望洁, 郑志明 申请人:北京航空航天大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1