一种AES算法模块防攻击的系统及方法技术方案

技术编号:34258798 阅读:37 留言:0更新日期:2022-07-24 13:20
本发明专利技术提供了一种AES算法模块防攻击的系统及方法,该方法用真随机数替代明文和密钥的伪AES运算中插入使用明文和密钥的AES运算轮,使用真随机数替代明文和密钥的伪AES运算不用成对出现,经过伪运算的数据不变,实现功耗和数据的无关性。插入伪运算轮是为了隐藏真实的AES运算轮的位置,增加功耗攻击的难度。为了增强AES的安全性,对AES的原定的运算轮数进行一定的随机增加,每轮的伪运算数目与真随机数并行32位输入rng_pdin的某3位相关,增加的轮数从1

An anti attack system and method of AES algorithm module

【技术实现步骤摘要】
一种AES算法模块防攻击的系统及方法


[0001]本专利技术涉及加密算法
,尤其涉及一种AES算法模块防攻击的系统及方法。

技术介绍

[0002]AES算法采用对称分组体制,密钥长度可以为128位、192位或者256位,共有四种基本变换。输入明文以后,与密钥经过若干轮变换,最终输出密文。AES加密芯片也就是能够对数据进行AES算法加密的芯片,作为数据加密模块,对接收到的数据进行加密,从而实现保密性的数据交互。
[0003]现在功耗攻击的基本原理是,安全芯片的瞬态功耗与其运算的中间数据相关,而中间数据又与密钥相关。因此,通过分析安全芯片的瞬态功耗,可以获得密钥信息,从而达到完全破解密钥的目的。攻击者可以在获得密码运算载体的情况下,不破坏芯片正常运算,而快速获得密钥,从而破译整个密码系统。功耗分析是指通过分析密码运算过程中电流、电压的变化,即是消耗能量的变化,获得密钥信息。功耗分析技术有简单功耗分析(SPA)技术和差分功耗分析(DPA)技术,还有高阶差分功耗分析技术。
[0004]因此,针对上述功耗攻击过程,本申请中给出了一种能够防止AES算法模块功耗防攻击的方法。

技术实现思路

[0005]本专利技术的目的在于提供一种AES算法模块防攻击的系统及方法,从而解决现有技术中存在的前述问题。
[0006]为了实现上述目的,本专利技术采用的技术方案如下:
[0007]一种实现AES算法模块防攻击的系统,包括真随机数发生器、真随机数缓存器、伪运算模块和AES算法模块,所述真随机数发生器产生真随机数,并将产生的真随机数传输到所述真随机数缓存器中,AES算法模块包括M轮AES运算轮,在第一轮运算到第10轮运算每轮运算之后均设置有控制位点,所述伪运算模块通过所述控制位点添加随机伪运算轮,所述随机伪运算轮包括由真随机数发生器产生的真随机数密钥和真随机数据。
[0008]优选的,所述伪运算模块通过控制位点添加1~16轮随机伪运算轮。
[0009]优选的,所述真随机数发生器依赖随机数模块时钟,频率为400KHz~4MHz。
[0010]本专利技术的另一个目的在于提供了一种实现AES算法模块防攻击的方法,包括以下步骤:
[0011]S1,采用真随机数发生器提前产生真随机数,并将产生的真随机数存放在所述真随机数缓存器中;
[0012]S2,采用AES算法模块将待加密的明文以及每轮运算采用的密钥添加至运算轮中,进行M轮运算,并在第一轮运算到第10轮运算每轮运算后设置有控制位点;
[0013]S3,采用所述伪运算模块通过控制位点添加随机伪运算轮,所述随机伪运算轮采用真随机数缓存器中的真随机数密钥以及随机数数据;
[0014]S4,AES算法模块进行M轮运算后获得加密后的密文数据。
[0015]优选的,步骤S3中所述添加的随机伪运算轮数量为1~16中任意值。
[0016]本专利技术的有益效果是:
[0017]本专利技术提供了一种AES算法模块防攻击的系统及方法,该方法用真随机数替代明文和密钥的伪AES运算中插入使用明文和密钥的AES运算轮,使用真随机数替代明文和密钥的伪AES运算不用成对出现,经过伪运算的数据不变,实现功耗和数据的无关性。插入伪运算轮是为了隐藏真实的AES运算轮的位置,增加功耗攻击的难度。为了增强AES的安全性,对AES的原定的运算轮数进行一定的随机增加,每轮的伪运算数目与真随机数并行32位输入rng_pdin的某3位相关,增加的轮数从1

16轮不等。每轮运算前插入的伪运算采用的密钥为随机密钥,与输入的明文和密钥均无关,保证随机性;伪运算不影响数据逻辑的正常运行,但是做了很多的假的AES的加密或解密的运算,增加了攻击的难度。
附图说明
[0018]图1是实施例1中提供的AES算法模块防攻击的系统原理示意图;
[0019]图2是实施例2中提供的AES算法模块防攻击的方法流程示意图;
具体实施方式
[0020]为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施方式仅仅用以解释本专利技术,并不用于限定本专利技术。
[0021]实施例1
[0022]本实施例提供了一种实现AES算法模块防攻击的系统,如图1所示,包括真随机数发生器、真随机数缓存器、伪运算模块和AES算法模块,所述真随机数发生器产生真随机数,并将产生的真随机数传输到所述真随机数缓存器中,AES算法模块包括M轮AES运算轮,在第一轮到第10轮每轮运算之后设置有控制位点,所述伪运算模块通过控制位点添加随机伪运算轮,所述随机伪运算轮包括真随机数密钥和真随机数据。
[0023]所述伪运算模块通过控制位点添加1~16轮随机伪运算轮。
[0024]本实施例中提供的防攻击的系统中还可以设置伪随机数发生器,一旦真随机数发生器所产生的随机数不够,或者是为了进一步增加随机数的随机性,可以接入伪随机数发生器产生随机数。
[0025]实施例2
[0026]本实施例提供了一种实现AES算法模块防攻击的方法,基于实施例1中提供的实现AES算法模块防攻击的系统,包括以下步骤:
[0027]S1,采用真随机数发生器提前产生真随机数,并将产生的真随机数存放在所述真随机数缓存器中;
[0028]S2,采用AES算法模块将待加密的明文以及每轮运算采用的密钥添加至运算轮中,进行M轮运算,并在第一轮到第10轮每轮运算之后设置有控制位点;
[0029]S3,采用所述伪运算模块通过控制位点添加随机伪运算轮,所述随机伪运算轮采用真随机数缓存器中的真随机数密钥以及随机数数据;
[0030]S4,AES算法模块进行M轮运算后获得加密后的密文数据。
[0031]本实施例中的AES运算增加随机伪轮操作时,数据为128bit真随机数,密钥也使用真随机数。每轮伪轮操作时,数据和密钥的真随机数都不同。使用与AES真正运算轮一样的各个模块:字节替代变换、行移位变换、列混合变换、轮密钥加变换、逆行移位变换、逆字节替代变换、逆列混合变换、轮密钥加变换的逆变换,其运行原理如图2所示。
[0032]本实施例中所述添加的随机伪运算轮数量为1~16中任意值,伪运算轮数目为最小为1,即1,2,3,

16,每轮伪运算为一次加密伪运算或一次解密伪运算。每轮的伪运算数目与真随机数并行32位输入rng_pdin的某3位相关,详见表1所示。例如,如果rng_pdin输入等于32

h9527064F,则AES加密运算时,第1轮AES加密运算之前增加15轮伪运算,第2轮AES运算之前增加3轮伪运算,第3轮AES运算之前增加5轮伪运算,以此类推。
[0033]表1随机伪轮与真随机数的关系
[0034]轮次随机伪轮数轮次随机伪轮数0{msq_tem[2:0],1

b1}6{msq_tem[20:18],1...

【技术保护点】

【技术特征摘要】
1.一种实现AES算法模块防攻击的系统,其特征在于,包括真随机数发生器、真随机数缓存器、伪运算模块和AES算法模块,所述真随机数发生器产生真随机数,并将产生的真随机数传输到所述真随机数缓存器中,AES算法模块包括M轮AES运算轮,在第一轮运算到第10轮运算每轮运算之后均设置有控制位点,所述伪运算模块通过所述控制位点添加随机伪运算轮,所述随机伪运算轮包括由真随机数发生器产生的真随机数密钥和真随机数据。2.根据权利要求1所述的实现AES算法模块防攻击的系统,其特征在于,所述伪运算模块通过控制位点添加1~16轮随机伪运算轮。3.根据权利要求1所述的实现AES算法模块防攻击的系统,其特征在于,所述真随机数发生器依赖随机数模块时钟,频率为...

【专利技术属性】
技术研发人员:王立峰张奇惠刘曼
申请(专利权)人:广州万协通信息技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1