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

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

Info

Publication number
CN102546157A
CN102546157A CN2011104181110A CN201110418111A CN102546157A CN 102546157 A CN102546157 A CN 102546157A CN 2011104181110 A CN2011104181110 A CN 2011104181110A CN 201110418111 A CN201110418111 A CN 201110418111A CN 102546157 A CN102546157 A CN 102546157A
Authority
CN
China
Prior art keywords
module
mask
sms4
algorithm
generation module
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.)
Granted
Application number
CN2011104181110A
Other languages
English (en)
Other versions
CN102546157B (zh
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.)
Beihang University
Original Assignee
Beihang University
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 Beihang University filed Critical Beihang University
Priority to CN201110418111.0A priority Critical patent/CN102546157B/zh
Publication of CN102546157A publication Critical patent/CN102546157A/zh
Application granted granted Critical
Publication of CN102546157B publication Critical patent/CN102546157B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Storage Device Security (AREA)

Abstract

本发明公开了一种抵抗能量分析的随机混合加密系统及其实现方法,属于信息安全领域。系统采用自上而下一体化的设计方案,由伪随机序列PN128生成模块、S盒更新模块、掩码修正值生成模块、明文输入寄存器、伪随机序列PN64生成模块、选通电路A、选通电路B、SMS4加密模块、AES加密模块、多路器、密文输出寄存器十一个部分组成。本发明首次提出了一种抵抗能量分析的随机混合加密系统及其实现方法,通过伪随机序列PN64,对明文随机采用基于掩码技术的AES或者SMS4算法进行加密,算法硬件实现中所有的基本电路单元均通过对称电路实现,从根本上杜绝了简单和差分能量分析,加密系统具有多种工作模式,适用于不同场景。

Description

一种抵抗能量分析的随机混合加密系统及其实现方法
技术领域
本发明涉及高速数据加密技术中的侧信道攻击防护技术、加密电路设计技术以及电路功耗均衡技术,属于信息安全领域,具体涉及一种抵抗能量分析的随机混合加密系统及其实现方法。
背景技术
随着计算机技术,通信技术的飞速发展,信息安全问题受到人们的广泛重视,各种新的加密技术不断涌现,针对密码算法本身及其实现设备的攻击也层出不穷。侧信道攻击是一种破解密码设备的有效手段,包括时间分析攻击、功耗攻击、电磁辐射分析攻击等。在各种侧信道攻击技术手段中,相对而言功耗攻击的威胁最高。功耗攻击具有普遍适用性,可应用于各种不同的密码算法,包括高级加密标准AES算法、中国无线局域网产品使用的建议算法SMS4算法等。当前用于抵抗侧信道攻击的主要手段有掩码技术、平衡汉明重量、使用两个电容(一个由外部电源充电、一个为加密设备供电)等,然而国内外现行的技术存在以下几点不足之处:(1)虽然引入了掩码,但是并不能保证所有的中间结果均被掩码所保护,仍有几率被细心的攻击者发现漏洞;(2)即便通过一些技术手段来平衡汉明重量,但很难做到每次加密的功耗曲线与密钥无关;(3)在一个加密设备中引入两个电容,对于通用硬件设备(如FPGA)而言,不具备普适性。
发明内容
本发明的目的是为了解决上述问题,提出一种抵抗能量分析的随机混合加密系统及其实现方法。
本发明的一种抵抗能量分析的随机混合加密系统,包括伪随机序列PN128生成模块、S盒更新模块、掩码修正值生成模块、明文输入寄存器、伪随机序列PN64生成模块、选通电路A、选通电路B、SMS4加密模块、AES加密模块、多路器和密文输出寄存器;
本发明的一种抵抗能量分析的随机混合加密系统的实现方法,包括以下几个步骤:
步骤一:生成128比特伪随机掩码;
步骤二:计算并更新SMS4算法和AES算法的修正S盒的查表元素;
步骤三:生成SMS4算法和AES算法的掩码修正值;
步骤四:128比特明文输入;
步骤五:随机选择SMS4算法或AES算法进行加密;
步骤六:128比特密文输出。
本发明的优点在于:
(1)通过伪随机序列PN64,对明文随机的采用AES或者SMS4算法进行加密,由于算法的随机改变,攻击者无法定位到某个具体的寄存器运用统计方法对功耗信息进行分析,从而从根本上杜绝了差分能量攻击;两种算法均通过伪随机序列PN128引入了随机掩码,从而具有抗简单能量分析的能力;
(2)算法硬件实现中所有的基本电路单元(寄存器、二输入与门、二输入或门、二输入异或门)均通过对称电路实现,从电路结构的角度上保证了当电路状态改变时,硬件设备的功耗保持一致;
(3)加密系统具有多种工作模式,适用于不用场景。当密码设备有可能被攻击者获得的情况下采用AES及SMS4随机混合加密模式;当密码设备本身安全的情况下(即密码设备与攻击者物理隔离)可以视具体需求采用SMS4加密算法或者AES加密算法。
附图说明
图1是本发明的整体结构示意图;
图2是加入掩码的AES算法和SMS4算法的结构示意图;
图3是电路基本结构的对称模型结构示意图;
图4是本发明提供的方法流程图。
图中:
1-伪随机序列PN128生成模块  2-S盒更新模块             3-掩码修正值生成模块
4-明文输入寄存器           5-伪随机序列PN64生成模块  6-选通电路A
7-选通电路B                8-SMS4加密模块            9-AES加密模块
10-多路器                  11-密文输出寄存器
具体实施方式
下面将结合附图和实施例对本发明作进一步的详细说明。
本发明是一种抵抗能量分析的随机混合加密系统,如图1所示,包括伪随机序列PN128生成模块1、S盒更新模块2、掩码修正值生成模块3、明文输入寄存器4、伪随机序列PN64生成模块5、选通电路A6、选通电路B7、SMS4加密模块8、AES加密模块9、多路器10和密文输出寄存器11。
伪随机序列PN128生成模块1通过128位的线性反馈移位寄存器产生128位随机掩码。每次加密前通过该模块随机生成128位掩码D10至S盒更新模块2、掩码修正值生成模块3、SMS4加密模块8、AES加密模块9。
S盒更新模块2接收到伪随机序列PN128生成模块1发送来的随机掩码D10,通过该掩码分别计算得到SMS4算法和AES算法的修正S盒的查表元素,通过8位的数据通道D21和D20分别更新SMS4加密模块8和AES加密模块9中用于实现S盒查表功能的RAM存储器中的元素。
掩码修正值生成模块3接收到伪随机序列PN128生成模块1发送来的随机掩码D10,分别计算得到在加入该掩码之后SMS4算法和AES算法每个分组加密过程中每轮之后的掩码修正值32位的D31和128位的D30,分别发送给SMS4加密模块8和AES加密模块9。
明文输入寄存器4通过16位并行接口接收并存储明文数据Din,并将16比特明文D80发送给选通电路A6和选通电路B7,每个分组明文为128比特,分8个时钟完成。
伪随机序列PN64生成模块5通过64位的线性反馈移位寄存器产生PN64,在每个分组128比特明文的加密周期内,产生一位新的伪随机码D70发送给选通电路B7、多路器10,通过一个反相器将D70取反得到D71发送给选通电路A6。在此处,有另一种工作模式,当密码设备本身安全的情况下(即密码设备与攻击者物理隔离),将伪随机序列PN64生成模块5产生的伪随机码D70固定为0(即当产生的D70为0时,令伪随机序列PN64生成模块5停止工作),则系统将始终采用SMS4算法进行加密;将伪随机序列PN64生成模块5产生的伪随机码D70固定为1(即当产生的D70为1时,令伪随机序列PN64生成模块5停止工作),则系统将始终采用AES算法进行加密。
选通电路A6接收反相器发送来的D71,当D71为1时,允许明文D80通过并进入SMS4加密模块8,当D71为0时,阻止明文D80进入SMS4加密模块8。
选通电路B7接收伪随机序列PN64生成模块5发送来的D70,当D70为1时,允许明文D80通过并进入AES加密模块9,当D70为0时,阻止明文D80进入AES加密模块9。
SMS4加密模块8通过8位的数据通道D21接收S盒更新模块2发送来的SMS4算法的修正S盒查表元素,并对本模块中用于实现S盒查表功能的RAM存储器进行数据更新;该模块接收来自选通器A6的明文D91,并对其进行基于掩码技术的SMS4加密;该模块接收来自伪随机序列PN128生成模块1的随机掩码D10的低32位D11,在每个分组加密过程中,异或轮密钥的同时异或D11进而引入随机掩码值,从而保护了硬件运行过程中的中间状态数据安全性,保障了密钥的安全性;该模块接收来自掩码修正值生成模块3的SMS4算法掩码修正值D31,通过对SMS4算法掩码修正值D31的相关操作去除掩码值D11的影响,从而在每个分组加密完成后得到未经掩码影响的正确的128比特密文值,通过16位数据通道D40发送给多路器10。
AES加密模块9通过8位的数据通道D20接收S盒更新模块2发送来的AES算法的修正S盒查表元素,并对本模块中用于实现S盒查表功能的RAM存储器进行数据更新;该模块接收来自选通器B7的明文D90,并对其进行基于掩码技术的AES加密;该模块接收来自伪随机序列PN128生成模块1的随机掩码D10,在每个分组加密之前,通过将128比特明文异或D10进而引入随机掩码值,从而保护了硬件运行过程中的中间状态数据安全性,保障了密钥的安全性;该模块接收来自掩码修正值生成模块3的AES算法掩码修正值D30,通过对AES算法掩码修正值D30的相关操作去除掩码值D10的影响,从而在每个分组加密完成后得到未经掩码影响的正确的128比特密文值,通过16位数据通道D50发送给多路器10。
多路器10接收来自伪随机序列PN64生成模块5的伪随机码D70,将之作为选择信号,当D70为1,选通D50,当D70为0,选通D40,并将结果D60发送给16位密文输出寄存器11。
密文输出寄存器11通过16位并行接口接收并存储密文数据D60,并通过16位数据接口Dout将密文发送出去,每个分组密文为128比特,分8个时钟完成。
一种抵抗能量分析的随机混合加密系统的实现方法,流程如图4所示,包括以下几个步骤:
步骤一:生成128比特伪随机掩码;
伪随机序列PN128生成模块1通过128位的线性反馈移位寄存器产生128位随机掩码。每次加密前通过该模块随机生成128位掩码D10至S盒更新模块2、掩码修正值生成模块3、SMS4加密模块8、AES加密模块9。
步骤二:计算并更新SMS4算法和AES算法的修正S盒的查表元素;
S盒更新模块2接收到伪随机序列PN128生成模块1发送来的随机掩码D10,通过该掩码分别计算得到SMS4算法和AES算法的修正S盒的查表元素,通过8位的数据通道D21和D20分别更新SMS4加密模块8和AES加密模块9中用于实现S盒查表功能的RAM存储器中的元素。
步骤三:生成SMS4算法和AES算法的掩码修正值;
掩码修正值生成模块3接收到伪随机序列PN128生成模块1发送来的随机掩码D10,分别计算得到在加入该掩码之后SMS4算法和AES算法每个分组加密过程中每轮之后的掩码修正值32位的D31和128位的D30,分别发送给SMS4加密模块8和AES加密模块9。
步骤四:128比特明文输入;
明文输入寄存器4通过16位并行接口接收并存储明文数据Din,并将16比特明文D80发送给选通电路A6和选通电路B7,每个分组明文为128比特,分8个时钟完成。
步骤五:随机选择SMS4算法或AES算法进行加密;
具体为:
步骤5.1:随机选择SMS4算法或AES算法。
伪随机序列PN64生成模块5通过64位的线性反馈移位寄存器产生PN64,在每个分组128比特明文的加密周期内,产生一位新的伪随机码D70发送给选通电路B7、多路器10,通过一个反相器将D70取反得到D71发送给选通电路A6。选通电路A6接收反相器的传来的D71,当D71为1时,允许明文D80通过并进入SMS4加密模块8,表征选择SMS4算法,当D71为0时,阻止明文D80进入SMS4加密模块8。选通电路B7接收反相器的D70,当D70为1时,允许明文D80通过并进入AES加密模块9,表征选择AES算法,当D70为0时,阻止明文D80进入AES加密模块9。在此处,有另一种工作模式,当密码设备本身安全的情况下(即密码设备与攻击者物理隔离),将伪随机序列PN64生成模块5产生的伪随机码D70固定为0(即当产生的D70为0时,令伪随机序列PN64生成模块5停止工作),则系统将始终采用SMS4算法进行加密;将伪随机序列PN64生成模块5产生的伪随机码D70固定为1(即当产生的D70为1时,令伪随机序列PN64生成模块5停止工作),则系统将始终采用AES算法进行加密。
步骤5.2:利用步骤5.1中随机选定的算法进行加密。
若步骤5.1中随机选择SMS4算法,则SMS4加密模块8通过8位的数据通道D21接收S盒更新模块2发送来的SMS4算法的修正S盒查表元素,并对本模块中用于实现S盒查表功能的RAM存储器进行数据更新;该模块接收来自选通器A6的明文D91,并对其进行基于掩码技术的加密;该模块接收来自伪随机序列PN128生成模块1的随机掩码D10的低32位D11,在每个分组加密过程中,异或轮密钥的同时异或D11进而引入随机掩码值,进而保护了硬件运行过程中的中间状态数据安全性,保障了密钥的安全性;该模块接收来自掩码修正值生成模块3的SMS4算法掩码修正值D31,通过对SMS4算法掩码修正值D31的相关操作去除掩码值D11的影响,从而在每个分组加密完成后得到未经掩码影响的正确的128比特密文值,通过16位数据通道D40发送给多路器10。若步骤5.1中随机选择AES算法,则AES加密模块9通过8位的数据通道D20接收S盒更新模块2发送来的AES算法的修正S盒查表元素,并对本模块中用于实现S盒查表功能的RAM存储器进行数据更新;该模块接收来自选通器B7的明文D90,并对其进行基于掩码技术的加密;该模块接收来自伪随机序列PN128生成模块1的随机掩码D10,在每个分组加密之前,通过将128比特明文异或D10从而引入随机掩码值,进而保护了硬件运行过程中的中间状态数据安全性,保障了密钥的安全性;该模块接收来自掩码修正值生成模块3的AES算法掩码修正值D30,通过对AES算法掩码修正值D30的相关操作去除掩码值D10的影响,从而在每个分组加密完成后得到未经掩码影响的正确的128比特密文值,通过16位数据通道D50发送给多路器10。
步骤六:128比特密文输出;
多路器10接收来自伪随机序列PN64生成模块1的伪随机码D70,将之作为选择信号,当D70为1,选通D50,当D70为0,选通D40,并将结果D60发送给16位密文输出寄存器11。密文输出寄存器11通过16位并行接口接收并存储密文数据D60,并通过16位数据接口Dout将密文发送出去,每个分组密文为128比特,分8个时钟完成。
图2为加入掩码的AES算法和SMS4算法的结构示意图。其中(a)为加入掩码的AES算法的结构,AES加密算法共进行10轮。128比特明文输入,在第1轮加密之前明文异或随机的128比特掩码,随后通过四个并行S盒进行S盒查表运算,行移位,列混合,异或轮密钥,在第1轮加密后通过异或128比特掩码修正值(用于掩码纠正并引入下一轮的随机掩码),将结果存储在中间结果寄存器中;第2轮至第9轮,将中间结果寄存器中的128比特中间结果进行S盒查表运算,行移位,列混合,异或轮密钥,异或128比特掩码修正值(用于比特掩码纠正并引入下一轮的随机掩码),将结果存储在中间结果寄存器中;第10轮中,将中间结果寄存器中的128比特中间结果进行S盒查表运算,行移位,异或轮密钥得到最后一轮中间状态,随后将128比特掩码修正值异或128比特掩码并将异或结果进行列混合逆变换得到最后一轮掩码修正值,将最后一轮掩码修正值异或最后一轮中间状态得到128比特密文。AES加密模块9采用4个并行S盒进行查表运算,AES算法每轮有16次S盒查表运算(128比特中每8比特进行一次查表运算,共需16次,4个并行S盒决定了每个时钟可以进行4次查表运算,所以每轮需要4个时钟),共进行10轮迭代,需40个时钟完成运算。AES加密模块中,S盒用于数据混淆,行移位和列混合用于数据扩散,中间结果寄存器用于存储加密过程中的中间状态。
(b)为加入掩码的SMS4算法的结构,SMS4加密算法共进行32轮。128比特明文输入分成并行的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比特数据进行反序变换得到最终的128比特密文值。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)为反相器的对称电路模型。本发明采用对称电路模型,对称电路模型保证了其本身对于任何状态的输入均有相同的功耗,因此系统在任意状态、任意时刻均有相同的功耗,从而在根本上杜绝了系统功耗信息的外泄,使系统具有极强的简单及差分能量分析的防御能力。

Claims (9)

1.一种抵抗能量分析的随机混合加密系统,其特征在于,包括伪随机序列PN128生成模块、S盒更新模块、掩码修正值生成模块、明文输入寄存器、伪随机序列PN64生成模块、选通电路A、选通电路B、SMS4加密模块、AES加密模块、多路器和密文输出寄存器;
伪随机序列PN128生成模块通过128位的线性反馈移位寄存器产生128位随机掩码;每次加密前通过该模块随机生成128位掩码D10至S盒更新模块、掩码修正值生成模块、SMS4加密模块、AES加密模块;
S盒更新模块接收到伪随机序列PN128生成模块发送来的随机掩码D10,通过该掩码分别计算得到SMS4算法和AES算法的修正S盒的查表元素,通过8位的数据通道D21和D20分别更新SMS4加密模块和AES加密模块中用于实现S盒查表功能的RAM存储器中的元素;
掩码修正值生成模块接收到伪随机序列PN128生成模块发送来的随机掩码D10,分别计算得到在加入该掩码之后SMS4算法和AES算法每个分组加密过程中每轮之后的掩码修正值32位的D31和128位的D30,分别发送给SMS4加密模块和AES加密模块;
明文输入寄存器通过16位并行接口接收并存储明文数据Din,并将16比特明文D80发送给选通电路A和选通电路B;
伪随机序列PN64生成模块通过64位的线性反馈移位寄存器产生PN64,在每个分组128比特明文的加密周期内,产生一位新的伪随机码D70发送给选通电路B、多路器,通过一个反相器将D70取反得到D71发送给选通电路A;
选通电路A接收反相器发送来的D71,当D71为1时,允许明文D80通过并进入SMS4加密模块,当D71为0时,阻止明文D80进入SMS4加密模块;
选通电路B接收伪随机序列PN64生成模块发送来的D70,当D70为1时,允许明文D80通过并进入AES加密模块,当D70为0时,阻止明文D80进入AES加密模块;
SMS4加密模块通过8位的数据通道D21接收S盒更新模块发送来的SMS4算法的修正S盒查表元素,并对本模块中用于实现S盒查表功能的RAM存储器进行数据更新;该模块接收来自选通器A的明文D91,并对其进行基于掩码技术的SMS4加密;该模块接收来自伪随机序列PN128生成模块的随机掩码D10的低32位D11,在每个分组加密过程中,异或轮密钥的同时异或D11;该模块接收来自掩码修正值生成模块的SMS4算法掩码修正值D31,SMS4算法掩码修正值D31去除掩码值D11的影响,从而在每个分组加密完成后得到未经掩码影响的正确的128比特密文值,通过16位数据通道D40发送给多路器;
AES加密模块通过8位的数据通道D20接收S盒更新模块发送来的AES算法的修正S盒查表元素,并对本模块中用于实现S盒查表功能的RAM存储器进行数据更新;该模块接收来自选通器B的明文D90,并对其进行基于掩码技术的AES加密;该模块接收来自伪随机序列PN128生成模块的随机掩码D10,在每个分组加密之前,将128比特明文异或D10;该模块接收来自掩码修正值生成模块的AES算法掩码修正值D30,通过AES算法掩码修正值D30去除掩码值D10的影响,从而在每个分组加密完成后得到未经掩码影响的正确的128比特密文值,通过16位数据通道D50发送给多路器;
多路器接收来自伪随机序列PN64生成模块的伪随机码D70,将之作为选择信号,当D70为1,选通D50,当D70为0,选通D40,并将结果D60发送给16位密文输出寄存器;
密文输出寄存器通过16位并行接口接收并存储密文数据D60,并通过16位数据接口Dout将密文发送出去。
2.根据权利要求1所述的一种抵抗能量分析的随机混合加密系统,其特征在于,所述的明文输入寄存器将16比特明文D80输出,每个分组明文为128比特,分8个时钟完成。
3.根据权利要求1所述的一种抵抗能量分析的随机混合加密系统,其特征在于,所述的密文输出寄存器通过16位数据接口Dout将密文发送出去,每个分组密文为128比特,分8个时钟完成。
4.根据权利要求1所述的一种抵抗能量分析的随机混合加密系统,其特征在于,所述的随机混合加密系统的一种工作模式为:当密码设备本身安全的情况下,将伪随机序列PN64生成模块产生的伪随机码D70固定为0,即当产生的D70为0时,令伪随机序列PN64生成模块5停止工作,则系统将始终采用SMS4算法进行加密;将伪随机序列PN64生成模块产生的伪随机码D70固定为1,即当产生的D70为1时,令伪随机序列PN64生成模块停止工作,则系统将始终采用AES算法进行加密。
5.根据权利要求1所述的一种抵抗能量分析的随机混合加密系统,其特征在于,所述的伪随机序列PN128生成模块、S盒更新模块、掩码修正值生成模块、伪随机序列PN64生成模块、选通电路A、选通电路B、SMS4加密模块、AES加密模块、多路器均由寄存器、二输入与门、二输入或门、二输入异或门组成,明文输入寄存器、密文输出寄存器由寄存器组成,所述的寄存器、二输入与门、二输入或门、二输入异或门均通过对称电路实现。
6.一种抵抗能量分析的随机混合加密系统的实现方法,其特征在于,包括以下几个步骤:
步骤一:生成128比特伪随机掩码;
伪随机序列PN128生成模块通过128位的线性反馈移位寄存器产生128位随机掩码;每次加密前通过该模块随机生成128位掩码D10至S盒更新模块、掩码修正值生成模块、SMS4加密模块、AES加密模块;
步骤二:计算并更新SMS4算法和AES算法的修正S盒的查表元素;
S盒更新模块接收到伪随机序列PN128生成模块发送来的随机掩码D10,通过该掩码分别计算得到SMS4算法和AES算法的修正S盒的查表元素,通过8位的数据通道D21和D20分别更新SMS4加密模块和AES加密模块中用于实现S盒查表功能的RAM存储器中的元素;
步骤三:生成SMS4算法和AES算法的掩码修正值;
掩码修正值生成模块接收到伪随机序列PN128生成模块发送来的随机掩码D10,分别计算得到在加入该掩码之后SMS4算法和AES算法每个分组加密过程中每轮之后的掩码修正值32位的D31和128位的D30,分别发送给SMS4加密模块和AES加密模块;
步骤四:128比特明文输入;
明文输入寄存器通过16位并行接口接收并存储明文数据Din,并将16比特明文D80发送给选通电路A和选通电路B;
步骤五:随机选择SMS4算法或AES算法进行加密;
具体为:
步骤5.1:随机选择SMS4算法或AES算法;
伪随机序列PN64生成模块通过64位的线性反馈移位寄存器产生PN64,在每个分组128比特明文的加密周期内,产生一位新的伪随机码D70发送给选通电路B、多路器,通过一个反相器将D70取反得到D71发送给选通电路A;选通电路A接收反相器的传来的D71,当D71为1时,允许明文D80通过并进入SMS4加密模块,表征选择SMS4算法,当D71为0时,阻止明文D80进入SMS4加密模块;选通电路B接收反相器的D70,当D70为1时,允许明文D80通过并进入AES加密模块,表征选择AES算法,当D70为0时,阻止明文D80进入AES加密模块;
步骤5.2:利用步骤5.1中随机选定的算法进行加密;
若步骤5.1中随机选择SMS4算法,则SMS4加密模块通过8位的数据通道D21接收S盒更新模块发送来的SMS4算法的修正S盒查表元素,并对本模块中用于实现S盒查表功能的RAM存储器进行数据更新;该模块接收来自选通器A的明文D91,并对其进行基于掩码技术的加密;该模块接收来自伪随机序列PN128生成模块的随机掩码D10的低32位D11,在每个分组加密过程中,异或轮密钥的同时异或D11进而引入随机掩码值,进而保护了硬件运行过程中的中间状态数据安全性;该模块接收来自掩码修正值生成模块的SMS4算法掩码修正值D31,通过对SMS4算法掩码修正值D31的相关操作去除掩码值D11的影响,从而在每个分组加密完成后得到未经掩码影响的正确的128比特密文值,通过16位数据通道D40发送给多路器;若步骤5.1中随机选择AES算法,则AES加密模块通过8位的数据通道D20接收S盒更新模块发送来的AES算法的修正S盒查表元素,并对本模块中用于实现S盒查表功能的RAM存储器进行数据更新;该模块接收来自选通器B的明文D90,并对其进行基于掩码技术的加密;该模块接收来自伪随机序列PN128生成模块的随机掩码D10,在每个分组加密之前,通过将128比特明文异或D10从而引入随机掩码值,进而保护了硬件运行过程中的中间状态数据安全性;该模块接收来自掩码修正值生成模块的AES算法掩码修正值D30,通过对AES算法掩码修正值D30的相关操作去除掩码值D10的影响,从而在每个分组加密完成后得到未经掩码影响的正确的128比特密文值,通过16位数据通道D50发送给多路器;
步骤六:128比特密文输出;
多路器接收来自伪随机序列PN64生成模块的伪随机码D70,将之作为选择信号,当D70为1,选通D50,当D70为0,选通D40,并将结果D60发送给16位密文输出寄存器;密文输出寄存器通过16位并行接口接收并存储密文数据D60,并通过16位数据接口Dout将密文发送出去。
7.根据权利要求6所述的一种抵抗能量分析的随机混合加密系统的实现方法,其特征在于,所述的步骤四中,明文输入寄存器输出的每个分组明文为128比特,分8个时钟完成。
8.根据权利要求6所述的一种抵抗能量分析的随机混合加密系统的实现方法,其特征在于,所述的步骤5.1中,当密码设备本身安全的情况下,将伪随机序列PN64生成模块产生的伪随机码D70固定为0,即当产生的D70为0时,令伪随机序列PN64生成模块停止工作,则系统将始终采用SMS4算法进行加密;将伪随机序列PN64生成模块产生的伪随机码D70固定为1,即当产生的D70为1时,令伪随机序列PN64生成模块停止工作,则系统将始终采用AES算法进行加密。
9.根据权利要求6所述的一种抵抗能量分析的随机混合加密系统的实现方法,其特征在于,所述的步骤六中,密文输出寄存器输出的每个分组密文为128比特,分8个时钟完成。
CN201110418111.0A 2011-12-14 2011-12-14 一种抵抗能量分析的随机混合加密系统及其实现方法 Active CN102546157B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201110418111.0A CN102546157B (zh) 2011-12-14 2011-12-14 一种抵抗能量分析的随机混合加密系统及其实现方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110418111.0A CN102546157B (zh) 2011-12-14 2011-12-14 一种抵抗能量分析的随机混合加密系统及其实现方法

Publications (2)

Publication Number Publication Date
CN102546157A true CN102546157A (zh) 2012-07-04
CN102546157B CN102546157B (zh) 2014-06-18

Family

ID=46352179

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110418111.0A Active CN102546157B (zh) 2011-12-14 2011-12-14 一种抵抗能量分析的随机混合加密系统及其实现方法

Country Status (1)

Country Link
CN (1) CN102546157B (zh)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103647638A (zh) * 2013-12-03 2014-03-19 北京中电华大电子设计有限责任公司 一种抵抗侧信道攻击的des掩码方法
CN103684748A (zh) * 2012-09-26 2014-03-26 上海复旦微电子集团股份有限公司 对称式加解密方法、对称式加解密系统
CN104601321A (zh) * 2013-10-31 2015-05-06 上海复旦微电子集团股份有限公司 密钥扩展方法和装置
CN104639502A (zh) * 2013-11-08 2015-05-20 国家电网公司 一种sm4算法抗能量攻击的掩码方法及装置
CN106161005A (zh) * 2015-03-31 2016-11-23 北京南瑞智芯微电子科技有限公司 一种分组加密算法防攻击的掩码方法和装置
CN103873181B (zh) * 2014-04-04 2017-01-18 中国科学院自动化研究所 一种lte系统中伪随机序列并行生成方法
CN107979457A (zh) * 2016-10-25 2018-05-01 航天信息股份有限公司 一种侧信道信号的处理系统、方法及装置
WO2018113014A1 (zh) * 2016-12-22 2018-06-28 深圳国微技术有限公司 掩码s盒、分组密钥计算单元、装置及对应的构造方法
CN108880783A (zh) * 2018-09-06 2018-11-23 成都三零嘉微电子有限公司 一种针对sm4算法的联合攻击方法
CN109542152A (zh) * 2017-09-22 2019-03-29 意法半导体国际有限公司 在设备测试操作期间可用的电压调节器旁路电路
CN109644125A (zh) * 2016-09-30 2019-04-16 英特尔公司 用于高级加密标准硬件的边信道免疫的线性掩码电路
CN111339577A (zh) * 2020-02-12 2020-06-26 南京师范大学 一种具有优良dpa抗性s盒的构造方法
CN111901363A (zh) * 2020-08-12 2020-11-06 吉林大学 一种基于FPGA的5G—Profibus-DP数据加密传输装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101741560A (zh) * 2008-11-14 2010-06-16 北京石油化工学院 基于整数非线性映射的散列函数构造方法
US20100183146A1 (en) * 2004-02-06 2010-07-22 Nortel Networks Limited Parallelizable integrity-aware encryption technique
CN102013974A (zh) * 2010-11-30 2011-04-13 北京航空航天大学 基于随机变化的非线性步骤的加密方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100183146A1 (en) * 2004-02-06 2010-07-22 Nortel Networks Limited Parallelizable integrity-aware encryption technique
CN101741560A (zh) * 2008-11-14 2010-06-16 北京石油化工学院 基于整数非线性映射的散列函数构造方法
CN102013974A (zh) * 2010-11-30 2011-04-13 北京航空航天大学 基于随机变化的非线性步骤的加密方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
《北京航空航天大学学报》 20110731 王文华等 "基于可变S盒的随机加密方案" 全文 1-9 第37卷, 第7期 *
王文华等: ""基于可变S盒的随机加密方案"", 《北京航空航天大学学报》 *

Cited By (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103684748A (zh) * 2012-09-26 2014-03-26 上海复旦微电子集团股份有限公司 对称式加解密方法、对称式加解密系统
CN103684748B (zh) * 2012-09-26 2017-02-08 上海复旦微电子集团股份有限公司 对称式加解密方法、对称式加解密系统
CN104601321A (zh) * 2013-10-31 2015-05-06 上海复旦微电子集团股份有限公司 密钥扩展方法和装置
CN104601321B (zh) * 2013-10-31 2017-09-29 上海复旦微电子集团股份有限公司 密钥扩展方法和装置
CN104639502A (zh) * 2013-11-08 2015-05-20 国家电网公司 一种sm4算法抗能量攻击的掩码方法及装置
CN104639502B (zh) * 2013-11-08 2017-12-05 国家电网公司 一种sm4算法抗能量攻击的掩码方法及装置
CN103647638A (zh) * 2013-12-03 2014-03-19 北京中电华大电子设计有限责任公司 一种抵抗侧信道攻击的des掩码方法
CN103873181B (zh) * 2014-04-04 2017-01-18 中国科学院自动化研究所 一种lte系统中伪随机序列并行生成方法
CN106161005A (zh) * 2015-03-31 2016-11-23 北京南瑞智芯微电子科技有限公司 一种分组加密算法防攻击的掩码方法和装置
CN109644125A (zh) * 2016-09-30 2019-04-16 英特尔公司 用于高级加密标准硬件的边信道免疫的线性掩码电路
CN109644125B (zh) * 2016-09-30 2023-05-30 英特尔公司 用于高级加密标准硬件的边信道免疫的线性掩码电路
CN107979457A (zh) * 2016-10-25 2018-05-01 航天信息股份有限公司 一种侧信道信号的处理系统、方法及装置
WO2018113014A1 (zh) * 2016-12-22 2018-06-28 深圳国微技术有限公司 掩码s盒、分组密钥计算单元、装置及对应的构造方法
US10567162B2 (en) 2016-12-22 2020-02-18 Shenzhen State Micro Technology Co Ltd Mask S-box, block ciphers algorithm device and corresponding construction process
CN109542152A (zh) * 2017-09-22 2019-03-29 意法半导体国际有限公司 在设备测试操作期间可用的电压调节器旁路电路
CN108880783B (zh) * 2018-09-06 2021-04-20 成都三零嘉微电子有限公司 一种针对sm4算法的联合攻击方法
CN108880783A (zh) * 2018-09-06 2018-11-23 成都三零嘉微电子有限公司 一种针对sm4算法的联合攻击方法
CN111339577A (zh) * 2020-02-12 2020-06-26 南京师范大学 一种具有优良dpa抗性s盒的构造方法
CN111901363A (zh) * 2020-08-12 2020-11-06 吉林大学 一种基于FPGA的5G—Profibus-DP数据加密传输装置
CN111901363B (zh) * 2020-08-12 2022-05-17 吉林大学 一种基于FPGA的5G—Profibus-DP数据加密传输装置

Also Published As

Publication number Publication date
CN102546157B (zh) 2014-06-18

Similar Documents

Publication Publication Date Title
CN102546157B (zh) 一种抵抗能量分析的随机混合加密系统及其实现方法
CN107070630B (zh) 一种aes算法的快速安全硬件结构
Yun-Peng et al. Digital image encryption algorithm based on chaos and improved DES
Mathur et al. AES based text encryption using 12 rounds with dynamic key selection
CN103905462B (zh) 可抵御差分功耗分析攻击的加密处理装置及方法
CN104734842A (zh) 基于伪操作的电路旁路攻击抵御方法
CN105099672A (zh) 混合加密方法及实现该方法的装置
Yu et al. Practical leakage-resilient pseudorandom objects with minimum public randomness
CN104734845A (zh) 基于全加密算法伪操作的旁路攻击防护方法
KR20220052858A (ko) Aes 카운터 모드 암호화에서 쿼시그룹 연산으로 암호화된 정수들을 가산하고 비교하기 위한 시스템 및 방법
CN106059752A (zh) 一种基于扩张密文的白盒密码加解密方法
CN103916236A (zh) 面向aes算法的抗功耗攻击方法及电路实现
CN103905182A (zh) 基于动态改变中间数据存储位置的抗攻击方法及电路实现
CN103607276A (zh) 新型基于随机函数的抗已知明文密文对攻击的分组加密方法
CN104484615B (zh) 适用于可重构阵列架构的基于空间随机化抗故障攻击方法
CN101826959B (zh) 一种面向字节的密钥流生成方法及加密方法
Bykovsky A multiple-valued logic for implementing a random oracle and the position-based cryptography
Xu et al. Pushing the limit of PFA: Enhanced persistent fault analysis on block ciphers
Chugunkov et al. Three-dimensional data stochastic transformation algorithms for hybrid supercomputer implementation
CN106656500A (zh) 加密装置及方法
CN106059746B (zh) 一种抗任意阶侧信道攻击的掩码防护方法及系统
CN108650072A (zh) 一种支持多种对称密码算法芯片及其抗攻击电路实现方法
CN108124076A (zh) 基于异构混沌和keccak哈希函数的图像加密方法
CN106936822A (zh) 针对sms4抗高阶旁路分析的掩码实现方法及系统
Bin Muhaya et al. Modified AES using chaotic key generator for satellite imagery encryption

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C53 Correction of patent of invention or patent application
CB03 Change of inventor or designer information

Inventor after: Zheng Zhiming

Inventor after: Zhang Xiao

Inventor after: Wei Wei

Inventor after: Guo Binghui

Inventor after: Tang Shaoting

Inventor after: Jiang Xin

Inventor after: Zhang Yao

Inventor after: Yao Dandan

Inventor before: Zheng Zhiming

Inventor before: Qiu Wangjie

Inventor before: Zhang Xiao

Inventor before: Wang Zhao

Inventor before: Zhang Yao

Inventor before: Li Haoyang

COR Change of bibliographic data

Free format text: CORRECT: INVENTOR; FROM: ZHENG ZHIMING QIU WANGJIE ZHANG XIAO WANG ZHAO ZHANG YAO LI HAOYANG TO: ZHENG ZHIMING ZHANG XIAO WEI WEI GUO BINGHUI TANG SHAOTING JIANG XIN ZHANG YAO YAO DANDAN

C14 Grant of patent or utility model
GR01 Patent grant