分组加密运算中抵抗能量分析攻击的方法和装置制造方法及图纸

技术编号:19327115 阅读:37 留言:0更新日期:2018-11-03 14:14
本发明专利技术公开了一种分组加密运算中抵抗能量分析攻击的方法和装置,所述方法包括生成伪加密运算,所述伪加密运算采用伪密钥进行加密;将真实加密运算与伪加密运算组合,构成基本加密运算单元;生成伪加密运算单元,所述伪加密运算单元中仅包括伪加密运算;将基本加密运算单元与伪加密运算单元组合,执行加密运算。与现有技术相比,本发明专利技术所公开的分组加密运算在每轮运算间均随机插入了伪加密运算,以保证敏感信息被噪声掩盖,同时基于每轮运算间插入伪运算后的基本运算单元,循环调用这样的运算单元且输入数据为随机数,可以进一步增加噪声,有效抵抗侧信道能量分析攻击。

Method and device for resisting energy analysis attack in block encryption operation

The invention discloses a method and device for resisting energy analysis attack in block encryption operation, which includes generating pseudo-encryption operation, using pseudo-key to encrypt the pseudo-encryption operation, combining real encryption operation with pseudo-encryption operation to form basic encryption operation unit, and generating pseudo-encryption operation unit. The pseudo-cryptographic operation unit includes only pseudo-cryptographic operation, and the basic encryption operation unit is combined with pseudo-cryptographic operation unit to perform encryption operation. Compared with the prior art, the block cipher operation disclosed by the present invention randomly inserts pseudo-cipher operation between each round of operation to ensure that sensitive information is covered by noise. At the same time, based on the basic operation unit after inserting pseudo-operation between each round of operation, such operation unit is circularly invoked and the input data is random number, it can be used. One step is to increase noise and effectively resist side channel energy analysis attack.

【技术实现步骤摘要】
分组加密运算中抵抗能量分析攻击的方法和装置
本专利技术涉及安全芯片领域,特别是关于一种分组加密运算中抵抗能量分析攻击的方法和装置。
技术介绍
随着计算机技术的发展,计算机软件的非法复制,通信的泄密、数据安全受到威胁的问题日趋严重,信息安全越来越受到重视。在信息安全技术中,加密技术占有不可替代的位置,对信息加密技术和加密算法的研究与开发日新月异。其中,分组密码算法是对固定长度的明文进行加密的算法。它将明文按一定的位长分组,明文和密钥经过加密运算得到密文。解密时,密文和密钥经过解密运算还原成明文。常用的分组密钥算法有DES、AES、SM4等。密码算法的安全性不仅取决于密码算法的数学安全性,更严重依赖于密码算法实现的物理安全性。侧信道攻击又称侧信道密码分析,是一种针对密码实现的物理攻击方法。这种攻击方法的本质是利用密码实现在执行密码相关操作的过程中产生的侧信息来恢复出密码实现中所使用的密钥。其中,这里的侧信息指除了攻击者通过除主通信信道以外的途径获取到的关于密钥实现运行状态相关的信息,典型的侧信息包括密码实现运行过程中的功耗消耗、电磁辐射、运行时间等信息。相较于传统密码分析主要用于分析密码算法的数学安全性,侧信道攻击主要采用能量分析攻击、电磁分析攻击、计时攻击等一系列方法对其物理实现安全性进行分析。侧信道攻击的攻击能力远远强于传统密码分析方法,因而也对密码实现的实际安全性构成了巨大的威胁。防御侧信道攻击的核心是减弱甚至消除侧信息与密钥之间的直接依赖性。随机插入伪操作,将有用信息“淹没”在噪声中从而提高密码实现的实际安全性,是防御侧信道攻击中能量分析攻击的一种有效方法。图1所示是现有的针对分组密钥算法随机插入伪操作的防护方法。随机伪操作采用随机数作为假密钥参与运算,真实的算法运算用正确的种子密钥参与运算。真实算法运算何时开启也是由随机数决定的。运算开始后,首先进行r轮的伪操作运算,r的取值由随机数决定。start_pulse是真实运算启动的脉冲信号,只有该信号为高时才会开始真实轮数运算。一旦开启真正运算,必须等待真实的轮运算结束后才会进行其他操作,这期间不会插入任何伪操作。start_pulse信号从哪个时钟周期开始变高也是由随机数决定的。当真正轮运算结束后,需要再进行q轮的伪操作运算。同时,q与r的和为一个固定数值,即插入的伪操作的总轮数是一定的。现有技术虽然引入了随机插入伪操作,但伪操作插入的位置集中在真实运算开始之前和结束之后,均不在真实的算法轮运算之内。对分组密码算法而言,侧信道攻击主要是对其第1轮、第2轮、最后一轮及倒数第二轮进行攻击。现有技术可以抵抗对其第1轮和最后一轮的攻击,但是一旦第一轮运算对齐后,第一轮轮密钥被攻击成功,之后其余的轮运算便很容易被查找对齐,进而攻击出算法密钥。公开于该
技术介绍
部分的信息仅仅旨在增加对本专利技术的总体背景的理解,而不应当被视为承认或以任何形式暗示该信息构成已为本领域一般技术人员所公知的现有技术。
技术实现思路
本专利技术的目的在于提供一种分组加密运算中抵抗能量分析攻击的方法,其能够有效抵抗侧信道能量分析攻击。所述分组加密运算中抵抗能量分析攻击的方法包括生成伪加密运算,所述伪加密运算采用伪密钥进行加密;将真实加密运算与伪加密运算组合,构成基本加密运算单元;生成伪加密运算单元,所述伪加密运算单元中仅包括伪加密运算;将基本加密运算单元与伪加密运算单元组合,执行加密运算。在该方法中,所述伪密钥使用与真实加密运算的真密钥位宽相同的随机数生成。在该方法中,所述将真实加密运算与伪加密运算组合进一步包括,在真实加密运算的第一轮之前、最后一轮之后、和各轮之间加入伪加密运算。在该方法中,所加入的伪加密运算的轮数为随机数。在该方法中,所述将基本加密运算单元与伪加密运算单元组合进一步包括,将一个基本加密运算单元与多个伪加密运算单元组合。在该方法中,所述伪加密运算单元与基本加密运算单元的运算结构相同。本专利技术还提供了一种分组加密运算中抵抗能量分析攻击的装置,其中包括:伪加密运算生成模块,用于生成伪加密运算,所述伪加密运算采用伪密钥进行加密;加密运算组合模块,用于将真实加密运算与伪加密运算组合,构成基本加密运算单元;伪加密运算单元生成模块,用于生成伪加密运算单元,所述伪加密运算单元中仅包括伪加密运算;加密运算单元组合模块,用于将基本加密运算单元与伪加密运算单元组合,执行加密运算。该装置中,所述伪密钥使用与真实加密运算的真密钥位宽相同的随机数生成。该装置中的所述加密运算组合模块中,将真实加密运算与伪加密运算组合进一步包括,在真实加密运算的第一轮之前、最后一轮之后、和各轮之间加入伪加密运算。该装置中,所加入的伪加密运算的轮数为随机数。该装置的所述加密运算单元组合模块中,所述将基本加密运算单元与伪加密运算单元组合进一步包括,将一个基本加密运算单元与多个伪加密运算单元组合。该装置中,所述伪加密运算单元与基本加密运算单元的运算结构相同。与现有技术相比,本专利技术所公开的分组加密运算在每轮运算间均随机插入了伪加密运算,以保证敏感信息被噪声掩盖,同时基于每轮运算间插入伪运算后的基本运算单元,循环调用这样的运算单元且输入数据为随机数,可以进一步增加噪声,有效抵抗侧信道能量分析攻击。最后,结合算法运算性能与安全防护的综合考虑,可以配置选择插入伪加密运算的次数,实现时方便灵活。附图说明图1是分组加密运算现有技术的随机插入伪操作的方法示意图;图2是根据本专利技术具体实施方式的插入伪加密运算的基本加密运算单元的示意图;图3是根据本专利技术具体实施方式的插入伪加密运算的分组加密运算的示意图。具体实施方式下面结合附图,对本专利技术的具体实施方式进行详细描述,但应当理解本专利技术的保护范围并不受具体实施方式的限制。除非另有其它明确表示,否则在整个说明书和权利要求书中,术语“包括”或其变换如“包含”或“包括有”等等将被理解为包括所陈述的元件或组成部分,而并未排除其它元件或其它组成部分。以下,将结合图2至图3,详细说明根据本专利技术具体实施方式的分组加密运算中抵抗能量分析攻击的方法,本方法通过将随机伪加密运算插入在分组加密运算的各轮运算之间,使得轮运算的敏感信息被噪声掩盖不会泄露,从而能够有效抵抗能量攻击。具体实现方式如下:首先,生成伪加密运算,所述伪加密运算采用与真实加密运算的密钥位宽相同的随机数作为假密钥进行加密运算,真实加密运算使用真实密钥。如图2所示,在本专利技术具体实施方式中,假设分组加密运算本身的真实加密运算为8轮,在第1轮真实加密运算之前、第8轮真实加密运算之后、以及第1-8轮真实加密运算之间均插入伪加密运算。本领域技术人员可以理解,以上具体设置仅仅是示意性的,加密运算的轮数可以在合理的范围内任意设置。伪加密运算的轮数由随机数确定,图2的具体实施方式中所使用的随机数为3bits,则插入的伪加密运算轮数范围为0-7。将图2中所描述的插入了随机轮数伪加密运算的分组加密运算作为基本加密运算单元,该基本加密运算单元包括8轮的真实加密运算,和插入在第1轮真实加密运算之前、第8轮真实加密运算之后、以及第1-8轮真实加密运算之间的伪加密运算,所述插入的各个伪加密运算的轮数在0-7之间随机确定,由此,可以确定所述基本加密运算单元的运算结构。接下来,生成伪加本文档来自技高网
...

【技术保护点】
1.一种分组加密运算中抵抗能量分析攻击的方法,其特征在于,包括生成伪加密运算,所述伪加密运算采用伪密钥进行加密;将真实加密运算与伪加密运算组合,构成基本加密运算单元;生成伪加密运算单元,所述伪加密运算单元中仅包括伪加密运算;将基本加密运算单元与伪加密运算单元组合,执行加密运算,以抵抗能量分析攻击。

【技术特征摘要】
1.一种分组加密运算中抵抗能量分析攻击的方法,其特征在于,包括生成伪加密运算,所述伪加密运算采用伪密钥进行加密;将真实加密运算与伪加密运算组合,构成基本加密运算单元;生成伪加密运算单元,所述伪加密运算单元中仅包括伪加密运算;将基本加密运算单元与伪加密运算单元组合,执行加密运算,以抵抗能量分析攻击。2.如权利要求1所述的分组加密运算中抵抗能量分析攻击的方法,其特征在于,所述伪密钥使用与真实加密运算的真密钥位宽相同的随机数生成。3.如权利要求1所述的分组加密运算中抵抗能量分析攻击的方法,其特征在于,所述将真实加密运算与伪加密运算组合进一步包括,在真实加密运算的第一轮之前、最后一轮之后、和各轮之间加入伪加密运算。4.如权利要求3所述的分组加密运算中抵抗能量分析攻击的方法,其特征在于,所加入的伪加密运算的轮数为随机数。5.如权利要求1所述的分组加密运算中抵抗能量分析攻击的方法,其特征在于,所述将基本加密运算单元与伪加密运算单元组合进一步包括,将一个基本加密运算单元与多个伪加密运算单元组合。6.如权利要求1所述的分组...

【专利技术属性】
技术研发人员:孙静莹甘杰胡晓波于艳艳刘劲松韩月
申请(专利权)人:北京智芯微电子科技有限公司国网信息通信产业集团有限公司国家电网有限公司国网辽宁省电力有限公司电力科学研究院
类型:发明
国别省市:北京,11

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

1