CN108737073B - 分组加密运算中抵抗能量分析攻击的方法和装置 - Google Patents
分组加密运算中抵抗能量分析攻击的方法和装置 Download PDFInfo
- Publication number
- CN108737073B CN108737073B CN201810653301.2A CN201810653301A CN108737073B CN 108737073 B CN108737073 B CN 108737073B CN 201810653301 A CN201810653301 A CN 201810653301A CN 108737073 B CN108737073 B CN 108737073B
- Authority
- CN
- China
- Prior art keywords
- encryption operation
- pseudo
- encryption
- operation unit
- basic
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 26
- 238000004458 analytical method Methods 0.000 title claims abstract description 20
- 238000005516 engineering process Methods 0.000 description 4
- 238000003780 insertion Methods 0.000 description 4
- 230000037431 insertion Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 1
- 230000005670 electromagnetic radiation Effects 0.000 description 1
- 230000007717 exclusion Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012827 research and development Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/002—Countermeasures against attacks on cryptographic mechanisms
- H04L9/003—Countermeasures against attacks on cryptographic mechanisms for power analysis, e.g. differential power analysis [DPA] or simple power analysis [SPA]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种分组加密运算中抵抗能量分析攻击的方法和装置,所述方法包括生成伪加密运算,所述伪加密运算采用伪密钥进行加密;将真实加密运算与伪加密运算组合,构成基本加密运算单元;生成伪加密运算单元,所述伪加密运算单元中仅包括伪加密运算;将基本加密运算单元与伪加密运算单元组合,执行加密运算。与现有技术相比,本发明所公开的分组加密运算在每轮运算间均随机插入了伪加密运算,以保证敏感信息被噪声掩盖,同时基于每轮运算间插入伪运算后的基本运算单元,循环调用这样的运算单元且输入数据为随机数,可以进一步增加噪声,有效抵抗侧信道能量分析攻击。
Description
技术领域
本发明涉及安全芯片领域,特别是关于一种分组加密运算中抵抗能量分析攻击的方法和装置。
背景技术
随着计算机技术的发展,计算机软件的非法复制,通信的泄密、数据安全受到威胁的问题日趋严重,信息安全越来越受到重视。在信息安全技术中,加密技术占有不可替代的位置,对信息加密技术和加密算法的研究与开发日新月异。其中,分组密码算法是对固定长度的明文进行加密的算法。它将明文按一定的位长分组,明文和密钥经过加密运算得到密文。解密时,密文和密钥经过解密运算还原成明文。常用的分组密钥算法有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之间随机确定,由此,可以确定所述基本加密运算单元的运算结构。
接下来,生成伪加密运算单元,所述伪加密运算单元与基本加密运算单元的运算结构相同,但是其中仅包含伪加密运算,并不包含真实加密运算,所述伪加密运算的输入均采用随机数。
图3所示的示意性的加密运算包括16个加密运算单元,其中第1-6、8-16加密运算单元为伪加密运算单元,只有第7运算单元为真实加密运算单元。
在本具体实施方式中,将基本加密运算单元设置在7个运算单元,本领域技术人员可以理解,可以根据实际使用需要,将基本加密运算单元设置在任意的位置。
图3所示的加密运算的字数可以根据使用时的具体需求进行设置,假设可设置范围为8~16,若设置为8,则表示8个运算单元中有1个真实加密运算单元,7个伪加密运算单元;若设置为16,则表示16个运算单元中有1个真实加密运算单元,15个伪加密运算单元。
通过以上具体实施例可见,本发明所公开的分组加密运算在每轮运算间均随机插入了伪加密运算,以保证真实运算中的敏感信息被噪声掩盖,同时基于每轮运算间插入伪运算后的基本运算单元,循环调用这样的运算单元且输入数据为随机数,可以进一步增加噪声,有效抵抗侧信道能量分析攻击。最后,结合算法运算性能与安全防护的综合考虑,可以配置选择插入伪加密运算的次数,实现时方便灵活。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
前述对本发明的具体示例性实施方案的描述是为了说明和例证的目的。这些描述并非想将本发明限定为所公开的精确形式,并且很显然,根据上述教导,可以进行很多改变和变化。对示例性实施例进行选择和描述的目的在于解释本发明的特定原理及其实际应用,从而使得本领域的技术人员能够实现并利用本发明的各种不同的示例性实施方案以及各种不同的选择和改变。本发明的范围意在由权利要求书及其等同形式所限定。
Claims (5)
1.一种分组加密运算中抵抗能量分析攻击的方法,其特征在于,包括
生成伪加密运算,所述伪加密运算采用伪密钥进行加密;
将真实加密运算与伪加密运算组合,构成基本加密运算单元;
生成伪加密运算单元,所述伪加密运算单元中仅包括伪加密运算;
将基本加密运算单元与伪加密运算单元组合,执行加密运算,以抵抗能量分析攻击;
其中,所述伪密钥使用与真实加密运算的真密钥位宽相同的随机数生成;
其中,所述将真实加密运算与伪加密运算组合进一步包括,在真实加密运算的第一轮之前、最后一轮之后、和各轮之间加入伪加密运算;
其中,将基本加密运算单元与伪加密运算单元组合进一步包括,将一个基本加密运算单元与多个伪加密运算单元组合。
2.如权利要求1所述的分组加密运算中抵抗能量分析攻击的方法,其特征在于,所加入的伪加密运算的轮数为随机数。
3.如权利要求1所述的分组加密运算中抵抗能量分析攻击的方法,其特征在于,所述伪加密运算单元与基本加密运算单元的运算结构相同。
4.一种分组加密运算中抵抗能量分析攻击的装置,其特征在于,包括
伪加密运算生成模块,用于生成伪加密运算,所述伪加密运算采用伪密钥进行加密;
加密运算组合模块,用于将真实加密运算与伪加密运算组合,构成基本加密运算单元;
伪加密运算单元生成模块,用于生成伪加密运算单元,所述伪加密运算单元中仅包括伪加密运算;
加密运算单元组合模块,用于将基本加密运算单元与伪加密运算单元组合,执行加密运算;
其中,所述伪密钥使用与真实加密运算的真密钥位宽相同的随机数生成;
其中,所述加密运算组合模块中,将真实加密运算与伪加密运算组合进一步包括,在真实加密运算的第一轮之前、最后一轮之后、和各轮之间加入伪加密运算。
5.如权利要求4所述的分组加密运算中抵抗能量分析攻击的装置,其特征在于,所加入的伪加密运算的轮数为随机数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810653301.2A CN108737073B (zh) | 2018-06-22 | 2018-06-22 | 分组加密运算中抵抗能量分析攻击的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810653301.2A CN108737073B (zh) | 2018-06-22 | 2018-06-22 | 分组加密运算中抵抗能量分析攻击的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108737073A CN108737073A (zh) | 2018-11-02 |
CN108737073B true CN108737073B (zh) | 2021-09-28 |
Family
ID=63930651
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810653301.2A Active CN108737073B (zh) | 2018-06-22 | 2018-06-22 | 分组加密运算中抵抗能量分析攻击的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108737073B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112417525B (zh) * | 2020-11-28 | 2022-03-22 | 郑州信大捷安信息技术股份有限公司 | 一种SoC安全芯片抗侧信道攻击方法及抗侧信道攻击的电子系统 |
CN112511292B (zh) * | 2021-02-05 | 2021-05-04 | 浙江地芯引力科技有限公司 | 安全芯片的工作性能检测及适应性引导方法及装置 |
CN117614608B (zh) * | 2024-01-22 | 2024-04-16 | 南京航空航天大学 | 一种抗能量分析攻击的ntt防御方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7848515B2 (en) * | 2005-11-21 | 2010-12-07 | Atmel Rousset S.A.S. | Encryption protection method |
CN102970132B (zh) * | 2011-08-31 | 2015-02-18 | 北京中电华大电子设计有限责任公司 | 一种防止对分组算法进行功耗分析和电磁辐射分析的防护方法 |
CN105376046A (zh) * | 2014-08-06 | 2016-03-02 | 国家电网公司 | 一种分组密码防攻击的加解密方法和装置 |
CN106301761A (zh) * | 2016-08-09 | 2017-01-04 | 北京智芯微电子科技有限公司 | 一种基于密码杂凑算法的压缩方法及装置 |
CN106921486A (zh) * | 2015-12-28 | 2017-07-04 | 航天信息股份有限公司 | 数据加密的方法和装置 |
CN104734842B (zh) * | 2015-03-13 | 2018-06-08 | 上海交通大学 | 基于伪操作的电路旁路攻击抵御方法 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100800468B1 (ko) * | 2004-01-29 | 2008-02-01 | 삼성전자주식회사 | 저전력 고속 동작을 위한 하드웨어 암호화/복호화 장치 및그 방법 |
CN103916235A (zh) * | 2012-12-28 | 2014-07-09 | 北京中电华大电子设计有限责任公司 | 随机插入伪轮运算对的抗功耗攻击方法 |
CN105656629B (zh) * | 2014-11-25 | 2018-12-11 | 上海华虹集成电路有限责任公司 | 芯片中安全的非相邻表示型实现方法 |
CN105809063B (zh) * | 2014-12-29 | 2019-01-15 | 联想(北京)有限公司 | 一种数据处理方法及安全芯片装置 |
JP6484519B2 (ja) * | 2015-07-15 | 2019-03-13 | 日立オートモティブシステムズ株式会社 | ゲートウェイ装置およびその制御方法 |
TWI580243B (zh) * | 2015-10-06 | 2017-04-21 | 瑞昱半導體股份有限公司 | 解密裝置、方法及電路 |
CN106571922B (zh) * | 2015-10-12 | 2020-03-10 | 瑞昱半导体股份有限公司 | 解密装置、方法及电路 |
CN107154843A (zh) * | 2017-05-18 | 2017-09-12 | 北京万协通信息技术有限公司 | 一种抗功耗攻击的sm4算法的硬件实现系统 |
-
2018
- 2018-06-22 CN CN201810653301.2A patent/CN108737073B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7848515B2 (en) * | 2005-11-21 | 2010-12-07 | Atmel Rousset S.A.S. | Encryption protection method |
CN101371480B (zh) * | 2005-11-21 | 2013-08-21 | 英赛瑟库尔公司 | 加密保护方法 |
CN102970132B (zh) * | 2011-08-31 | 2015-02-18 | 北京中电华大电子设计有限责任公司 | 一种防止对分组算法进行功耗分析和电磁辐射分析的防护方法 |
CN105376046A (zh) * | 2014-08-06 | 2016-03-02 | 国家电网公司 | 一种分组密码防攻击的加解密方法和装置 |
CN104734842B (zh) * | 2015-03-13 | 2018-06-08 | 上海交通大学 | 基于伪操作的电路旁路攻击抵御方法 |
CN106921486A (zh) * | 2015-12-28 | 2017-07-04 | 航天信息股份有限公司 | 数据加密的方法和装置 |
CN106301761A (zh) * | 2016-08-09 | 2017-01-04 | 北京智芯微电子科技有限公司 | 一种基于密码杂凑算法的压缩方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN108737073A (zh) | 2018-11-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US12081648B2 (en) | Block cryptographic method for encrypting/decrypting messages and cryptographic devices for implementing this method | |
CN104734845B (zh) | 基于全加密算法伪操作的旁路攻击防护方法 | |
CN104734842B (zh) | 基于伪操作的电路旁路攻击抵御方法 | |
Niu et al. | An efficient collision power attack on AES encryption in edge computing | |
Samwel et al. | DPA on hardware implementations of Ascon and Keyak | |
CN108737073B (zh) | 分组加密运算中抵抗能量分析攻击的方法和装置 | |
WO2015117144A1 (en) | Countermeasures against side-channel attacks on cryptographic algorithms using permutations | |
Yao et al. | Fault-assisted side-channel analysis of masked implementations | |
Dassance et al. | Combined fault and side-channel attacks on the AES key schedule | |
Dutertre et al. | Fault round modification analysis of the advanced encryption standard | |
Pan et al. | One fault is all it needs: Breaking higher-order masking with persistent fault analysis | |
AlTawy et al. | Fault analysis of Kuznyechik | |
Gu et al. | Differential fault analysis on lightweight blockciphers with statistical cryptanalysis techniques | |
Biryukov et al. | Differential resynchronization attacks on reduced round SNOW 3G⊕ | |
Liu et al. | Improving tag generation for memory data authentication in embedded processor systems | |
Mankar | Key updating for leakage resiliency with application to Shannon security OTP and AES modes of operation | |
Liu et al. | iCETD: An improved tag generation design for memory data authentication in embedded processor systems | |
Krishnan et al. | Modified AES with Random S box generation to overcome the side channel assaults using cloud | |
Marpaung et al. | Higher-Order Countermeasures against Side-Channel Cryptanalysis on Rabbit Stream Cipher | |
Bae et al. | A practical analysis of fault attack countermeasure on AES using data masking | |
Zhu et al. | Symmetric key based RFID authentication protocol with a secure key-updating scheme | |
CN109361502B (zh) | 一种抵御能量分析攻击的解密方法及解密电路 | |
Lumbiarres-López et al. | Implementation on MicroBlaze of AES algorithm to reveal fake keys against side-channel attacks | |
Kang et al. | Proposal of PingPong-128 Countermeasure against Power Analysis Attack | |
Aumasson | Eve’s SHA3 candidate: malicious hashing |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |