CN115883064A - 一种基于sm3密码杂凑算法的抗旁路攻击方法 - Google Patents
一种基于sm3密码杂凑算法的抗旁路攻击方法 Download PDFInfo
- Publication number
- CN115883064A CN115883064A CN202211474743.3A CN202211474743A CN115883064A CN 115883064 A CN115883064 A CN 115883064A CN 202211474743 A CN202211474743 A CN 202211474743A CN 115883064 A CN115883064 A CN 115883064A
- Authority
- CN
- China
- Prior art keywords
- message
- message block
- wheel
- redundancy
- mask
- 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.)
- Pending
Links
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Landscapes
- Detection And Prevention Of Errors In Transmission (AREA)
Abstract
本发明公开了一种基于SM3密码杂凑算法的抗旁路攻击方法,为抵抗故障注入的攻击采用时间冗余的方式进行错误检测,引入冗余轮的设计,对其加密轮和冗余轮第一个消息块修正后的结果以及后续每一个消息块的输出都进行异或运算,若加密轮与冗余轮的输出一致error信号为低电平信号,证明算法未遭受故障注入攻击;为防止侧信道信息泄露,针对对加密轮和冗余轮消息明文的第1个消息块引入了不同的随机掩码值进行防护,并对其输出进行掩码修正后的结果作为下一个消息块的IV初始值,避免了第1个消息块摘要运算过程中受到同位置的同步故障注入,由于只对第1个消息块进行掩码防护,不仅防止了侧信道信息的泄露还减小了硬件资源的消耗。
Description
技术领域
本发明涉及信息安全技术领域,特别涉及一种基于SM3密码杂凑算法的抗旁路攻击方法。
背景技术
密码杂凑算法被广泛应用于数字签名和验证、消息认证码的生成和验证以及随机数的生成等方面,满足了多种密码应用的安全需求。其中,SM3密码算法是我国唯一的密码杂凑算法,应用较为广泛。
旁路攻击又称侧信道攻击,是指攻击者通过采集并分析加密设备运行过程中产生的各种泄漏的侧信道信息获取密文信息的方法,主要包括计时攻击、功耗攻击、电磁攻击、故障注入攻击等。
现有密码算法的防护是采用全掩码的方式进行防护,硬件资源消耗较大;并且没有针对运行过程中对其进行故障攻击的校验装置,对故障注入无法进行检测,有被攻击的风险。
发明内容
为了解决上述技术问题,本发明提供一种硬件资源消耗小、安全可靠的基于SM3密码杂凑算法的抗旁路攻击方法。
本发明解决上述技术问题的技术方案是:一种基于SM3密码杂凑算法的抗旁路攻击方法,包括以下步骤:
步骤一:采用时间冗余的方式进行错误检测,防止加密过程中算法受到故障注入的攻击;
步骤二:利用随机掩码对第一个消息块进行掩码防护,防止侧信道信息的泄露。
上述基于SM3密码杂凑算法的抗旁路攻击方法,所述步骤一具体过程为:
1-1)通过设置两条相同的路径,分别为加密轮和冗余轮,把加密轮和冗余轮经过填充的明文消息m'按512比特都分成n个消息块,m'=B(0)B(1)·····B(n-1),B(0)为消息m'对消息的第一个分组,称为第1个消息块。对加密轮和冗余轮的第1个消息块引入不同的随机掩码值M1和M2,以防止在第1个消息摘要运算过程中受到同位置的同步故障注入;
1-2)第一个消息块摘要运算结束之后,加密轮、冗余轮分别用掩码修正值M1'、M2'进行解掩码,其中掩码修正值M1'、M2'分别为M1、M2经过摘要运算的输出,解掩码操作为掩码修正值与第一个消息块的输出进行异或操作;
1-3)将加密轮和冗余轮修正后的结果进行异或操作进行比较,若不一致算法遭受故障注入攻击,error信号拉高报警,若一致error信号为低电平信号,证明第一个消息块未遭受故障注入攻击,检测成功,允许进入下一个消息块进行摘要运算;
1-4)经M1'和M2'修正的中间变量作为下一个消息块的IV初始值继续进行后续的迭代压缩,将后续加密轮和冗余轮每一个消息块的输出都进行异或运算,直到完成所有的摘要运算输出杂凑值1和杂凑值2,若error信号一直为低电平信号,证明算法未遭受故障注入攻击,反之结果不一致算法遭受故障注入攻击,error信号拉高报警;若某一时刻的error信号拉高,可知上一个消息块遭受到故障注入攻击。
上述基于SM3密码杂凑算法的抗旁路攻击方法,所述步骤二具体过程为:
每一个消息块的长度为512bit,随机数发生器产生512bit的随机掩码M与第1个消息块B(0)进行异或,异或的结果B'(0)经过消息拓展、迭代压缩后输出V'(1),掩码M经过消息拓展、迭代压缩后的输出为M_V'(1),即步骤一所述的掩码修正值M';将V'(1)与M_V'(1)进行异或输出V(1),作为下一个消息块的IV初始值进行迭代压缩;通过对第1个消息块引入随机掩码值进行掩码防护,避免运行过程中出现真实的中间值。
本发明的有益效果在于:本发明提出的抗旁路攻击方法中,为抵抗故障注入的攻击采用时间冗余的方式进行错误检测,引入冗余轮的设计,对其加密轮和冗余轮第一个消息块修正后的结果以及后续每一个消息块的输出都进行异或运算,若加密轮与冗余轮的输出一致error信号为低电平信号,证明算法未遭受故障注入攻击,反之,结果不一致算法遭受故障注入攻击,error信号拉高报警;为防止侧信道信息泄露,针对加密轮和冗余轮消息明文的第1个消息块引入了不同的随机掩码值进行防护,并对其输出进行掩码修正后的结果作为下一个消息块的IV初始值,避免了第1个消息块摘要运算过程中受到同位置的同步故障注入,由于对消息不是采用全掩码防护的方式,而是对第1个消息块进行掩码防护,不仅防止了侧信道信息的泄露还减小了硬件资源的消耗。
附图说明
图1为本发明的流程图。
图2为本发明实施例中对消息的第1个消息块B(0)进行掩码防护的流程图。
具体实施方式
下面结合附图和实施例对本发明专利做进一步的说明。
一种基于SM3密码杂凑算法的抗旁路攻击方法,包括以下步骤:
步骤一:采用时间冗余的方式进行错误检测,防止加密过程中算法受到故障注入的攻击。
步骤二具体过程为:
1-1)如图1所示,通过设置两条相同的路径,分别为加密轮和冗余轮,把加密轮和冗余轮经过填充的明文消息m'按512比特都分成n个消息块,m'=B(0)B(1)·····B(n-1),B(0)为消息m'对消息的第一个分组,称为第1个消息块;对加密轮和冗余轮的第1个消息块引入不同的随机掩码值M1和M2,以防止在第1个消息摘要运算过程中受到同位置的同步故障注入。
1-2)第一个消息块摘要运算结束之后,加密轮、冗余轮分别用掩码修正值M1'、M2'进行解掩码,其中掩码修正值M1'、M2'分别为M1、M2经过摘要运算的输出,解掩码操作为掩码修正值与第一个消息块的输出进行异或操作;
1-3)将加密轮和冗余轮修正后的结果进行异或操作进行比较,若不一致算法遭受故障注入攻击,error信号拉高报警,若一致error信号为低电平信号,证明第一个消息块未遭受故障注入攻击,检测成功,允许进入下一个消息块进行摘要运算;
1-4)经M1'和M2'修正的中间变量作为下一个消息块的IV初始值继续进行后续的迭代压缩,这里的IV初始值是上一个消息块的摘要输出,然后作为下一个消息块的IV初值;将后续加密轮和冗余轮每一个消息块的输出都进行异或运算,直到完成所有的摘要运算输出杂凑值1和杂凑值2,若error信号一直为低电平信号,证明算法未遭受故障注入攻击,反之结果不一致算法遭受故障注入攻击,error信号拉高报警;若某一时刻的error信号拉高,可知上一个消息块遭受到故障注入攻击。
步骤二:利用随机掩码对第一个消息块进行掩码防护,防止侧信道信息的泄露。
步骤二具体过程为:
如图2所示,每一个消息块的长度为512bit,随机数发生器产生512bit的随机掩码M与第1个消息块B(0)进行异或,异或的结果B'(0)经过消息拓展、迭代压缩后输出V'(1),掩码M经过消息拓展、迭代压缩后的输出为M_V'(1),即步骤一所述的掩码修正值M';将V'(1)与M_V'(1)进行异或输出V(1),作为下一个消息块的IV初始值进行迭代压缩;通过对第1个消息块引入随机掩码值进行掩码防护,避免运行过程中出现真实的中间值,有效防止侧信道信息的泄露,保证消息的安全性。
Claims (3)
1.一种基于SM3密码杂凑算法的抗旁路攻击方法,其特征在于,包括以下步骤:
步骤一:采用时间冗余的方式进行错误检测,防止加密过程中算法受到故障注入的攻击;
步骤二:利用随机掩码对第一个消息块进行掩码防护,防止侧信道信息的泄露。
2.根据权利要求1所述的基于SM3密码杂凑算法的抗旁路攻击方法,其特征在于,所述步骤一具体过程为:
1-1)通过设置两条相同的路径,分别为加密轮和冗余轮,把加密轮和冗余轮经过填充的明文消息m'按512比特都分成n个消息块,m'=B(0)B(1)·····B(n-1),B(0)为消息m'对消息的第一个分组,称为第1个消息块。对加密轮和冗余轮的第1个消息块引入不同的随机掩码值M1和M2,以防止在第1个消息摘要运算过程中受到同位置的同步故障注入;
1-2)第一个消息块摘要运算结束之后,加密轮、冗余轮分别用掩码修正值M1'、M2'进行解掩码,其中掩码修正值M1'、M2'分别为M1、M2经过摘要运算的输出,解掩码操作为掩码修正值与第一个消息块的输出进行异或操作;
1-3)将加密轮和冗余轮修正后的结果进行异或操作进行比较,若不一致算法遭受故障注入攻击,error信号拉高报警,若一致error信号为低电平信号,证明第一个消息块未遭受故障注入攻击,检测成功,允许进入下一个消息块进行摘要运算;
1-4)经M1'和M2'修正的中间变量作为下一个消息块的IV初始值继续进行后续的迭代压缩,将后续加密轮和冗余轮每一个消息块的输出都进行异或运算,直到完成所有的摘要运算输出杂凑值1和杂凑值2,若error信号一直为低电平信号,证明算法未遭受故障注入攻击,反之结果不一致算法遭受故障注入攻击,error信号拉高报警;若某一时刻的error信号拉高,可知上一个消息块遭受到故障注入攻击。
3.根据权利要求2所述的基于SM3密码杂凑算法的抗旁路攻击方法,其特征在于,所述步骤二具体过程为:
每一个消息块的长度为512bit,随机数发生器产生512bit的随机掩码M与第1个消息块B(0)进行异或,异或的结果B'(0)经过消息拓展、迭代压缩后输出V'(1),掩码M经过消息拓展、迭代压缩后的输出为M_V'(1),即步骤一所述的掩码修正值M';将V'(1)与M_V'(1)进行异或输出V(1),作为下一个消息块的IV初始值进行迭代压缩;通过对第1个消息块引入随机掩码值进行掩码防护,避免运行过程中出现真实的中间值,防止侧信道信息的泄露。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211474743.3A CN115883064A (zh) | 2022-11-23 | 2022-11-23 | 一种基于sm3密码杂凑算法的抗旁路攻击方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211474743.3A CN115883064A (zh) | 2022-11-23 | 2022-11-23 | 一种基于sm3密码杂凑算法的抗旁路攻击方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115883064A true CN115883064A (zh) | 2023-03-31 |
Family
ID=85760674
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211474743.3A Pending CN115883064A (zh) | 2022-11-23 | 2022-11-23 | 一种基于sm3密码杂凑算法的抗旁路攻击方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115883064A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116232561A (zh) * | 2023-05-09 | 2023-06-06 | 杭州海康威视数字技术股份有限公司 | 抵抗差分故障攻击的冗余加密优化方法、装置及设备 |
-
2022
- 2022-11-23 CN CN202211474743.3A patent/CN115883064A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116232561A (zh) * | 2023-05-09 | 2023-06-06 | 杭州海康威视数字技术股份有限公司 | 抵抗差分故障攻击的冗余加密优化方法、装置及设备 |
CN116232561B (zh) * | 2023-05-09 | 2023-08-25 | 杭州海康威视数字技术股份有限公司 | 抵抗差分故障攻击的冗余加密优化方法、装置及设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20120019355A1 (en) | Protective-control measuring system and device and data transmission method | |
CN114826656A (zh) | 一种数据链路可信传输方法和系统 | |
CN113312608B (zh) | 一种基于时间戳的电力计量终端身份认证方法及系统 | |
CN115883064A (zh) | 一种基于sm3密码杂凑算法的抗旁路攻击方法 | |
CN114915396B (zh) | 一种基于国密算法的跳变密钥数字通信加密系统和方法 | |
Kermani et al. | Lightweight hardware architectures for fault diagnosis schemes of efficiently-maskable cryptographic substitution boxes | |
CN114003970B (zh) | 一种基于哈希链的低开销消息完整性保护方法 | |
Jolfaei et al. | A lightweight integrity protection scheme for fast communications in smart grid | |
US20190042711A1 (en) | Dynamic functional obfuscation | |
Mestiri et al. | Fault attacks resistant aes hardware implementation | |
CN113193955B (zh) | 一种密码算法的故障攻击防护方法 | |
CN110601818B (zh) | 一种检测sms4密码算法抵御统计故障攻击的方法 | |
CN110795754B (zh) | 一种基于fpga的维护信息安全方法 | |
CN116781265A (zh) | 一种数据加密的方法和装置 | |
CN113541955A (zh) | 一种安控系统2m通信的加密方法及装置 | |
Guo et al. | Differential power analysis on dynamic password token based on SM3 algorithm, and countermeasures | |
Ren et al. | A Defensive Strategy for Integrity Detection in Cyber-Physical Systems Subject to Deception Attacks | |
CN118249990A (zh) | 数据加密认证方法 | |
CN116318629A (zh) | 一种数据加密装置 | |
CN116015679B (zh) | 政务云基于sm2数字签名的多云管理认证系统 | |
Nikodem | DSA signature scheme immune to the fault cryptanalysis | |
CN112131616B (zh) | 一种sm2算法的掩码运算方法及装置 | |
CN108599920A (zh) | 一种故障攻击检测电路及故障攻击防护方法 | |
Li et al. | Fault analysis of the piccolo block cipher | |
CN115296806B (zh) | 一种不需要隐私放大的量子数字签名方法及其系统 |
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 |