一种AES掩码方法、电子设备及存储介质与流程

文档序号:16538420发布日期:2019-01-08 20:06阅读:345来源:国知局
一种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所示,所述带掩码的明文的轮运算具体包括:将明文掩码和明文进行异或操作,同时将轮密钥和密钥掩码进行异或操作后,再将两个异或操作的结果进行带掩码的明文的轮运算,生成掩码后密文。其中,⊕表示异或操作。

本发明的所述aes掩码方法具体包括:加密过程全流程掩码和解密过程全流程掩码。

如图4所示,加密过程全流程掩码的具体实施过程如下:

s101,加密开始运算;

s102,读取一个随机数r;

s103,判断随机数r的当前bit位(r[i])是否为0,当是时执行s104,当否时执行s108;

s104,输入明文;

s105,输入掩码;

s106,进行掩码后明文轮运算;

s107,再进行掩码轮运算;

s108,输入掩码;

s109,进行掩码轮运算;

s110,输入明文;

s111,再进行掩码后明文轮运算。

结束后,将最终运算结果分成掩码后密文和经过轮运算的掩码两部分,并存储在内部存储器中。

如图5所示,解密过程全流程掩码的具体实施过程如下:

s201,解密开始运算;

s202,读取一个随机数r;

s203,判断随机数r的当前bit位(r[i])是否为0,当是时执行s204,当否时执行s208;

s204,输入密文;

s205,输入掩码;

s206,进行掩码后密文解密轮运算;

s207,再进行掩码轮运算;

s208,输入掩码;

s209,进行掩码轮运算;

s210,输入密文;

s211,再进行掩码后密文解密轮运算。

结束后,将最终运算结果分成解密后明文和经过轮运算的掩码两部分,并存储在内部存储器中。

其中,本发明优选将随机数r的当前bit位与0进行比较,这里可以以随机数的某个bit为0或为1来执行不同的操作,能够进一步随机化掩码和明文运算的顺序,以提高安全性。

其中,明文轮运算是指对明文进行aes的运算,掩码轮运算是指对掩码进行aes的运算。

本发明全流程采用双路径分时独立运算,不仅可以抵御差分功耗分析攻击还可以抵御模板攻击等,可以保证数据在整个运算、传输过程中不泄露真实的功耗信息。

如图6所示,基于上述aes掩码方法,本发明还相应提供了一种电子设备,所述电子设备包括处理器10、存储器20及显示器30。图6仅示出了电子设备的部分组件,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。

所述存储器20在一些实施例中可以是所述电子设备的内部存储单元,例如电子设备的硬盘或内存。所述存储器20在另一些实施例中也可以是所述电子设备的外部存储设备,例如所述电子设备上配备的插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)等。进一步地,所述存储器20还可以既包括所电子设备的内部存储单元也包括外部存储设备。所述存储器20用于存储安装于所述电子设备的应用软件及各类数据,例如所述安装电子设备的程序代码等。所述存储器20还可以用于暂时地存储已经输出或者将要输出的数据。在一实施例中,存储器20上存储有网络切换控制程序40,该网络切换控制程序40可被处理器10所执行,从而实现本申请中网络切换控制方法。

所述处理器10在一些实施例中可以是一中央处理器(centralprocessingunit,cpu),微处理器或其他数据处理芯片,用于运行所述存储器20中存储的程序代码或处理数据,例如执行所述网络切换控制方法等。

所述显示器30在一些实施例中可以是led显示器、液晶显示器、触控式液晶显示器以及oled(organiclight-emittingdiode,有机发光二极管)触摸器等。所述显示器30用于显示在所述电子设备的信息以及用于显示可视化的用户界面。所述电子设备的部件10-30通过系统总线相互通信。

在一实施例中,当处理器10执行所述存储器20中网络切换控制程序40时实现以下步骤:

将掩码后的aes轮运算分成两个独立的电路,在电路空间上增加随机数作为掩码;

将掩码的轮运算与带掩码的明文的轮运算分开进行独立运算,计算后最终结果不解除掩码;

将掩码后的密文和轮运算后的掩码作为最终结果存储。

所述掩码的轮运算具体包括:

将明文掩码和密钥掩码进行异或操作后再进行掩码轮运算,生成掩码密文。

所述带掩码的明文的轮运算具体包括:

将明文掩码和明文进行异或操作,同时将轮密钥和密钥掩码进行异或操作后,再将两个异或操作的结果进行带掩码的明文的轮运算,生成掩码后密文。

所述aes掩码方法具体包括:加密过程全流程掩码和解密过程全流程掩码。

所述加密过程全流程掩码具体包括:

当检测到加密开始运算后,读取一个随机数r;

判断随机数r的当前bit位是否为0;

当是时先执行掩码后明文运算,再执行掩码运算,当否时先执行掩码的运算,再执行掩码后明文的运算;

将最终运算结果分成掩码后密文和经过轮运算的掩码两部分,并存储在内部存储器中。

所述先执行掩码后明文运算,再执行掩码运算具体包括:

输入明文后再输入掩码,进行掩码后明文轮运算,再进行掩码轮运算;

所述先执行掩码的运算,再执行掩码后明文的运算具体包括:

输入掩码后进行掩码轮运算,再输入明文后,进行掩码后明文轮运算。

所述解密过程全流程掩码具体包括:

当检测到解密开始运算后,读取一个随机数r;

判断随机数r的当前bit位是否为0;

当是时先执行掩码后密文解密运算,再执行掩码运算,当否时先执行掩码的运算,再执行掩码后密文解密运算;

将最终运算结果分成解密后明文和经过轮运算的掩码两部分,并存储在内部存储器中。

所述先执行掩码后密文解密运算,再执行掩码运算具体包括:

输入密文后再输入掩码,进行掩码后密文解密轮运算,再进行掩码轮运算;

所述先执行掩码的运算,再执行掩码后密文解密运算具体包括:

输入掩码后进行掩码轮运算,再输入密文后,进行掩码后密文解密轮运算。

本发明还提供一种存储介质,其中,所述存储介质存储有aes掩码程序,所述aes掩码程序被处理器执行时实现如上所述aes掩码方法的步骤;具体如上所述。

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

当然,本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关硬件(如处理器,控制器等)来自动完成,所述的程序可存储于一计算机可读取的存储介质中,所述程序在执行时可包括如上述各方法实施例的流程。其中所述的存储介质可为存储器、磁碟、光盘等。

应当理解的是,本发明的应用不限于上述的举例,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,所有这些改进和变换都应属于本发明所附权利要求的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1