一种AES掩码方法、电子设备及存储介质技术

技术编号:20045589 阅读:34 留言:0更新日期:2019-01-09 04:22
本发明专利技术公开了一种AES掩码方法、电子设备及存储介质,所述方法包括:将掩码后的AES轮运算分成两个独立的电路,在电路空间上增加随机数作为掩码;将掩码的轮运算与带掩码的明文的轮运算分开进行独立运算,计算后最终结果不解除掩码;将掩码后的密文和轮运算后的掩码作为最终结果存储。本发明专利技术通过采用全流程掩码技术将密码运算时的功耗值与参与运算的明文或密钥的值不相关,同时将掩码后的明文和密钥的计算过程和掩码值本身的计算过程独立开分时执行,最后计算结果不解除掩码信息,直接存储掩码后的计算结果和经过计算的掩码值,可以抵御差分功耗分析攻击和模板攻击,整个数据在计算及传输过程中不会泄露真实的功耗信息。

【技术实现步骤摘要】
一种AES掩码方法、电子设备及存储介质
本专利技术涉及计算机应用
,尤其涉及一种AES掩码方法、电子设备及存储介质。
技术介绍
密码设备在执行过程中会泄露出与参与运算的变量相关的功耗信息,基于这种依赖关系,攻击者可以通过分析泄漏出来的功耗信息获取设备中的秘密信息。目前已知的防御侧信道攻击的手段主要是掩码技术和隐藏技术,掩码技术在算法执行过程中加入一个随机数,改变设备的功率消耗,使得设备的能量消耗与随机数相关。在硬件电路执行AES(AdvancedEncryptionStandard,高级加密标准)密码运算时会泄露功耗信息,功耗信息被采样并进行统计分析,可以从中推导出密钥信息。常用的侧信道攻击(针对加密电子设备在运行过程中的时间消耗、功率消耗或电磁辐射之类的侧信道信息泄露而对加密设备进行攻击的方法)方法有差分功耗分析攻击(获取密码芯片密钥的旁道攻击方法)和模板攻击(采用多种类型的模板,降低密钥的搜索空间,对AES进行暴力攻击从而对AES破解成功),因此,本专利技术要解决的就是硬件AES电路执行过程中差分功耗分析攻击和模板攻击的防护问题。因此,现有技术还有待于改进和发展。
技术实现思路
本专利技术要解决的技术问题在于,针对现有技术缺陷,本专利技术提供一种AES掩码方法、电子设备及存储介质,通过采用双路径分时独立运算,不仅可以差分功耗分析攻击还可以抵御模板攻击等,可以保证数据在整个运算和传输过程中不泄露真实的功耗信息。本专利技术解决技术问题所采用的技术方案如下:一种AES掩码方法,其中,所述AES掩码方法包括:将掩码后的AES轮运算分成两个独立的电路,在电路空间上增加随机数作为掩码;将掩码的轮运算与带掩码的明文的轮运算分开进行独立运算,计算后最终结果不解除掩码;将掩码后的密文和轮运算后的掩码作为最终结果存储。所述的AES掩码方法,其中,所述掩码的轮运算具体包括:将明文掩码和密钥掩码进行异或操作后再进行掩码轮运算,生成掩码密文。所述的AES掩码方法,其中,所述带掩码的明文的轮运算具体包括:将明文掩码和明文进行异或操作,同时将轮密钥和密钥掩码进行异或操作后,再将两个异或操作的结果进行带掩码的明文的轮运算,生成掩码后密文。所述的AES掩码方法,其中,所述AES掩码方法具体包括:加密过程全流程掩码和解密过程全流程掩码。所述的AES掩码方法,其中,所述加密过程全流程掩码具体包括:当检测到加密开始运算后,读取一个随机数R;判断随机数R的当前bit位是否为0;当是时先执行掩码后明文运算,再执行掩码运算,当否时先执行掩码的运算,再执行掩码后明文的运算;将最终运算结果分成掩码后密文和经过轮运算的掩码两部分,并存储在内部存储器中。所述的AES掩码方法,其中,所述先执行掩码后明文运算,再执行掩码运算具体包括:输入明文后再输入掩码,进行掩码后明文轮运算,再进行掩码轮运算;所述先执行掩码的运算,再执行掩码后明文的运算具体包括:输入掩码后进行掩码轮运算,再输入明文后,进行掩码后明文轮运算。所述的AES掩码方法,其中,所述解密过程全流程掩码具体包括:当检测到解密开始运算后,读取一个随机数R;判断随机数R的当前bit位是否为0;当是时先执行掩码后密文解密运算,再执行掩码运算,当否时先执行掩码的运算,再执行掩码后密文解密运算;将最终运算结果分成解密后明文和经过轮运算的掩码两部分,并存储在内部存储器中。所述的AES掩码方法,其中,所述先执行掩码后密文解密运算,再执行掩码运算具体包括:输入密文后再输入掩码,进行掩码后密文解密轮运算,再进行掩码轮运算;所述先执行掩码的运算,再执行掩码后密文解密运算具体包括:输入掩码后进行掩码轮运算,再输入密文后,进行掩码后密文解密轮运算。一种电子设备,其中,所述电子设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的AES掩码程序,所述AES掩码程序被所述处理器执行时实现如上所述的AES掩码方法的步骤。一种存储介质,其中,所述存储介质存储有AES掩码程序,所述AES掩码程序被处理器执行时实现如上所述AES掩码方法的步骤。本专利技术公开了一种AES掩码方法、电子设备及存储介质,所述方法包括:将掩码后的AES轮运算分成两个独立的电路,在电路空间上增加随机数作为掩码;将掩码的轮运算与带掩码的明文的轮运算分开进行独立运算,计算后最终结果不解除掩码;将掩码后的密文和轮运算后的掩码作为最终结果存储。本专利技术通过采用全流程掩码技术将密码运算时的功耗值与参与运算的明文或密钥的值不相关,同时将掩码后的明文和密钥的计算过程和掩码值本身的计算过程独立开分时执行,最后计算结果不解除掩码信息,直接存储掩码后的计算结果和经过计算的掩码值,可以抵御差分功耗分析攻击和模板攻击,整个数据在计算及传输过程中不会泄露真实的功耗信息。附图说明图1是本专利技术AES掩码方法的较佳实施例的流程图;图2是本专利技术AES掩码系统的较佳实施例中掩码的轮运算的示意图;图3是本专利技术AES掩码系统的较佳实施例中带掩码的明文的轮运算的示意图;图4是本专利技术AES掩码系统的较佳实施例中加密过程全流程掩码的流程示意图;图5是本专利技术AES掩码系统的较佳实施例中解密过程全流程掩码的流程示意图;图6为本专利技术电子设备的较佳实施例的运行环境示意图。具体实施方式为使本专利技术的目的、技术方案及优点更加清楚、明确,以下参照附图并举实施例对本专利技术进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。本专利技术较佳实施例所述的AES掩码方法,如图1所示,所述AES掩码方法包括以下步骤:步骤S10、将掩码后的AES轮运算分成两个独立的电路,在电路空间上增加随机数作为掩码;步骤S20、将掩码的轮运算与带掩码的明文的轮运算分开进行独立运算,计算后最终结果不解除掩码;步骤S30、将掩码后的密文和轮运算后的掩码作为最终结果存储。具体地,本专利技术把掩码后的AES轮运算拆分成两个独立的电路,除了在电路空间上增加随机数作为掩码外,还将掩码的轮运算与带掩码的明文的轮运算分开,二者独立运算,计算后最终结果也不解除掩码,而是直接将掩码后的密文和轮运算后的掩码作为最终结果存储。也就是说,添加防侧信道攻击的掩码后AES的一轮运算时需要在对明文进行一轮运算的同时,也对掩码进行一轮运算。侧信道攻击的防护措施一般采用随机数掩码,而掩码后的电路和掩码值是同时参与运算的,也就是说此时掩码产生的功耗与掩码后的数据产生的功耗其实是相关的,对于布尔型掩码(一种逻辑掩码)来说,这就可能利用高阶功耗攻击的方法将掩码产生的功耗减掉。其中,掩码是一串二进制代码对目标字段进行位与运算,屏蔽当前的输入位;明文是没有经过加密的数据;密钥用来加密明文的密码,在对称加密算法中,加密与解密的密钥是相同的,密钥为接收方与发送方协商产生,但不可以直接在网络上传输,否则会导致密钥泄漏,通常是通过非对称加密算法加密密钥,然后再通过网络传输给对方,或者直接面对面商量密钥,密钥是绝对不可以泄漏的,否则会被攻击者还原密文,窃取机密数据;密文是经加密函数处理后的数据。进一步地,如图2所示,所述掩码的轮运算具体包括:将明文掩码和密钥掩码进行异或操作后,再进行掩码轮运算,生成掩码密文。其中,⊕表示异或操作。进一步地,如图3所示,所述带掩码的明文的轮运本文档来自技高网...

【技术保护点】
1.一种AES掩码方法,其特征在于,所述AES掩码方法包括:将掩码后的AES轮运算分成两个独立的电路,在电路空间上增加随机数作为掩码;将掩码的轮运算与带掩码的明文的轮运算分开进行独立运算,计算后最终结果不解除掩码;将掩码后的密文和轮运算后的掩码作为最终结果存储。

【技术特征摘要】
1.一种AES掩码方法,其特征在于,所述AES掩码方法包括:将掩码后的AES轮运算分成两个独立的电路,在电路空间上增加随机数作为掩码;将掩码的轮运算与带掩码的明文的轮运算分开进行独立运算,计算后最终结果不解除掩码;将掩码后的密文和轮运算后的掩码作为最终结果存储。2.根据权利要求1所述的AES掩码方法,其特征在于,所述掩码的轮运算具体包括:将明文掩码和密钥掩码进行异或操作后再进行掩码轮运算,生成掩码密文。3.根据权利要求1所述的AES掩码方法,其特征在于,所述带掩码的明文的轮运算具体包括:将明文掩码和明文进行异或操作,同时将轮密钥和密钥掩码进行异或操作后,再将两个异或操作的结果进行带掩码的明文的轮运算,生成掩码后密文。4.根据权利要求1所述的AES掩码方法,其特征在于,所述AES掩码方法具体包括:加密过程全流程掩码和解密过程全流程掩码。5.根据权利要求4所述的AES掩码方法,其特征在于,所述加密过程全流程掩码具体包括:当检测到加密开始运算后,读取一个随机数R;判断随机数R的当前bit位是否为0;当是时先执行掩码后明文运算,再执行掩码运算,当否时先执行掩码的运算,再执行掩码后明文的运算;将最终运算结果分成掩码后密文和经过轮运算的掩码两部分,并存储在内部存储器中。6.根据权利要求5所述的AES掩码方法,其特征在于,所述先执行掩码后明文运算,再执行掩码运算具体包...

【专利技术属性】
技术研发人员:罗禹铭罗禹城
申请(专利权)人:网御安全技术深圳有限公司
类型:发明
国别省市:广东,44

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

1