CN107317671B - 防御旁路攻击的crc运算电路装置和方法 - Google Patents
防御旁路攻击的crc运算电路装置和方法 Download PDFInfo
- Publication number
- CN107317671B CN107317671B CN201710724474.4A CN201710724474A CN107317671B CN 107317671 B CN107317671 B CN 107317671B CN 201710724474 A CN201710724474 A CN 201710724474A CN 107317671 B CN107317671 B CN 107317671B
- Authority
- CN
- China
- Prior art keywords
- crc operation
- crc
- unit
- mask
- random number
- 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
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/002—Countermeasures against attacks on cryptographic mechanisms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/08—Randomization, e.g. dummy operations or using noise
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/12—Details relating to cryptographic hardware or logic circuitry
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/34—Encoding or coding, e.g. Huffman coding or error correction
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Respiratory Apparatuses And Protective Means (AREA)
- Storage Device Security (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供了一种防御旁路攻击的CRC(循环冗余校验)运算电路装置和方法,针对无旁路攻击防护的CRC运算在计算不同明文输入时,会产生不同的旁路信息,从而泄漏明文的问题。该电路装置包括,包括第一异或单元,第一CRC运算单元,第二CRC运算单元,第二异或单元。其可对带有掩码保护的输入数据进行计算,因计算过程中明文不会出现,故防止了明文的旁路信息的泄漏。
Description
技术领域
本发明涉及计算机安全领域,具体而言是一种可防御旁路攻击的计算循环冗余校验(Cyclic Redundancy Check,CRC)的电路装置。
背景技术
在密码系统中,硬件电路对不同数据进行运算时,会产生不同的功耗和电磁辐射等旁路信息。
密码系统的攻击者可采集这些信息对运算数据进行推测,从而实现系统的攻击及破解,该种攻击方式即旁路攻击。
循环冗余校验(Cyclic Redundancy Check,CRC)是一种根据不定长度的数据产生简短固定位数校验码的散列函数,主要用于数据传输后的错误侦测。
如图1所示,无旁路攻击防护的CRC电路在计算不同数据时,会产生不同的旁路信息,从而泄漏被计算的数据。
发明内容
本发明目的在于解决上述问题而提供的一种防御旁路攻击的CRC运算电路装置和方法,针对无旁路攻击防护的CRC运算在计算不同明文输入时,会产生不同的旁路信息,从而泄漏明文的问题。其可对带有掩码保护的输入数据进行计算,因计算过程中明文不会出现,故防止了明文的旁路信息的泄漏。
为实现本发明目的还提供一种防御旁路攻击的CRC运算装置,包括第一异或单元,第一CRC运算单元,第二CRC运算单元,第二异或单元;其中:
所述第一异或单元,用于将明文和掩码进行异或,并将异或后的第一计算值输入到第一CRC运算单元;
所述第一CRC运算单元,用于对第一计算值进行运算,得到第一CRC运算值;
所述第二CRC运算单元,用于将所述掩码进行运算,得到第二CRC运算值;
所述第二异或单元,用于将第一CRC运算值与第二CRC运算值进行异或,得到明文的运算值。
所述的第一CRC运算单元与第二CRC运算单元为相同的CRC运算单元。
更优地,所述的安全芯片,还包括掩码生成单元,用于生成一个安全码作为掩码。
更优地,所述安全码为随机数;
所述随机数通过随机数函数random()或真随机数发生器生成。
CRC运算电路装置的随机数可以由真随机发生器生成,真随机数发生器是硬件电路,通过采集热噪声等方法生成随机数。
更优地,所述的CRC运算电路装置,还包括掩码生成单元,用于生成一个安全码作为掩码。
为实现本发明目的还提供一种防御旁路攻击的CRC运算方法,包括下列步骤:
设置两个CRC运算单元,第一CRC运算单元输入数据为明文异或掩码的第一计算值;第二CRC运算单元输入数据为掩码;
启动第一CRC运算单元的计算,故其结果为明文异或掩码的CRC运算值,得到第一CRC运算值;
启动CRC运算单元的计算,其结果为掩码的第二CRC运算值;
将第一CRC运算单元的结果即第一CRC运算值和第二CRC运算单元的结果即第二CRC运算值异或,得出明文的CRC运算值。
更优地,所述的CRC运算方法,在设置两个CRC运算单元之前,还包括如下步骤:
生成一个安全码作为掩码。
更优地,所述安全码为随机数;
所述随机数通过随机数函数random()生成。
本发明一种防御旁路攻击的安全芯片及CRC运算电路装置和方法,具有如下优点:
其可对有掩码保护的明文数据进行计算,因计算过程中明文不会出现,故防止了明文旁路信息的泄漏。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1现有的CRC运算结构;
图2为本发明实施例防御旁路攻击的CRC运算电路装置示意图;
图3为本发明实施例防御旁路攻击的CRC运算方法流程图。
具体实施方式
如图2、3所示,为了使本发明的目的、技术方案和优点更加清楚明了。结合具体的实施方式,对本发明进行详细说明。此过程中,省略了对公知结构和技术的描述,用以避免对不必要地混淆本发明的概念。对于这些描述,只是示例性的。并不是限制本发明的范围。同时,采用现有的CRC结构与本发明的技术方案进行对比,现有的CRC结构如图1所示。
本实施例的一种防御旁路攻击的CRC运算电路装置,如图2所示,包括掩码生成单元10,第一异或单元20,第一CRC运算单元30,第二CRC运算单元40,第二异或单元50;其中:
所述掩码生成单元10,用于利用随机数函数random(),生成一个随机数作为掩码;
所述第一异或单元20,用于将明文和所述掩码进行异或,并将异或后的第一计算值输入到第一CRC运算单元;
所述第一CRC运算单元30,用于对第一计算值进行运算,得到第一CRC运算值;
所述第二CRC运算单元40,用于将所述掩码进行CRC运算,得到第二CRC运算值;
所述第二异或单元50,用于将第一CRC运算值与第二CRC运算值进行异或,得到明文的CRC运算值。
本发明实施例中,利用随机数函数random()或者真随机数器生成掩码,并将掩码与明文进行异或,使得明文在进行CRC运算时不可见,利用异或后的第一计算值进行CRC运算,得到第一CRC运算值。同时,将掩码进行单独的CRC运算,得到掩码的第二CRC运算值,根据CRC运算为线性运算的特点,再利用第一CRC运算值和第二CRC运算值进行异或,从而得到明文的CRC运算值。
CRC运算电路装置的随机数可以由真随机发生器生成,真随机数发生器是硬件电路,通过采集热噪声等方法生成随机数。
本发明实施例还提供一种防御旁路攻击的CRC运算方法,如图3所示,包括下列步骤:
步骤S100,利用随机数函数random(),生成一个随机数作为掩码;
步骤S200,设置两个CRC运算单元,第一CRC运算单元输入数据为明文异或掩码的第一计算值;第二CRC运算单元输入数据为掩码;
如图3所示,用硬件电路或软件设置两个相同的CRC运算单元,分别为第一CRC运算单元和第二CRC运算单元,所述CRC运算单元与现有技术中的CRC运算单元电路结构相同,只是现有技术中输入的是明文,而本发明实施例中第一CRC运算单元输入的是明文异或掩码的第一计算值,而第二CRC运算单元输入的是掩码。
将明文与该掩码进行异或,将异或结果即第一计算值输入第一CRC运算单元,并将该掩码单独输入第二CRC运算单元。
步骤S300,启动第一CRC运算单元的计算,故其结果为明文异或掩码的CRC运算值,得到第一CRC运算值;
步骤S400,启动CRC运算单元的计算,其结果为掩码的第二CRC运算值;
步骤S500,因CRC运算为线性运算,将第一CRC运算单元的结果即第一CRC运算值和第二CRC运算单元的结果即第二CRC运算值异或,得出明文的CRC运算值。
本实施例的防御旁路攻击的CRC运算结构,针对无旁路攻击防护的CRC运算在计算不同明文输入时,会产生不同的旁路信息,从而泄漏明文的问题。其可对带有掩码保护的输入数据进行计算,因计算过程中明文不会出现,故防止了明文的旁路信息的泄漏。
本领域普通技术人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。本领域普通技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以用硬件、处理器执轨道的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上所述实施例仅表达了本发明的优选的实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (6)
1.一种防御旁路攻击的CRC运算装置,其特征在于,包括第一异或单元,第一CRC运算单元,第二CRC运算单元,第二异或单元;其中:
所述第一异或单元,用于将明文和掩码进行异或,并将异或后的第一计算值输入到第一CRC运算单元;
所述第一CRC运算单元,用于对第一计算值进行运算,得到第一CRC运算值;
所述第二CRC运算单元,用于将所述掩码进行运算,得到第二CRC运算值;
所述第二异或单元,用于将第一CRC运算值与第二CRC运算值进行异或,得到明文的运算值;
还包括掩码生成单元,用于生成一个安全码作为掩码;
所述安全码为随机数;
所述随机数通过随机数函数random()或者真随机数器生成。
2.根据权利要求1所述的CRC运算装置,其特征在于,所述真随机数器通过采集热噪声方法生成随机数。
3.根据权利要求1至2任一项所述的CRC运算装置,特征在于,所述第一CRC运算单元和所述第二CRC运算单元的电路结构相同。
4.一种防御旁路攻击的CRC运算方法,其特征在于,包括下列步骤:
设置两个CRC运算单元,第一CRC运算单元输入数据为明文异或掩码的第一计算值;第二CRC运算单元输入数据为掩码;
启动第一CRC运算单元的计算,故其结果为明文异或掩码的CRC运算值,得到第一CRC运算值;
启动CRC运算单元的计算,其结果为掩码的第二CRC运算值;
将第一CRC运算单元的结果即第一CRC运算值和第二CRC运算单元的结果即第二CRC运算值异或,得出明文的CRC运算值;
在设置两个CRC运算单元之前,还包括如下步骤:
生成一个安全码作为掩码;
所述安全码为随机数;
所述随机数通过随机数函数random()或者真随机数器生成。
5.根据权利要求4所述的CRC运算方法,其特征在于,所述真随机数器通过采集热噪声方法生成随机数。
6.根据权利要求4至5任一项所述的CRC运算方法,特征在于,所述第一CRC运算单元和所述第二CRC运算单元的电路结构相同。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710724474.4A CN107317671B (zh) | 2017-08-22 | 2017-08-22 | 防御旁路攻击的crc运算电路装置和方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710724474.4A CN107317671B (zh) | 2017-08-22 | 2017-08-22 | 防御旁路攻击的crc运算电路装置和方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107317671A CN107317671A (zh) | 2017-11-03 |
CN107317671B true CN107317671B (zh) | 2019-12-24 |
Family
ID=60176369
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710724474.4A Active CN107317671B (zh) | 2017-08-22 | 2017-08-22 | 防御旁路攻击的crc运算电路装置和方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107317671B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101180606A (zh) * | 2005-05-25 | 2008-05-14 | 西门子威迪欧汽车电子股份公司 | 模逆元的确定 |
CN101911009A (zh) * | 2008-01-23 | 2010-12-08 | 英赛康特雷斯公司 | 用于以签名方案进行非对称加密的对策方法和设备 |
CN102025501A (zh) * | 2009-09-09 | 2011-04-20 | 质子世界国际公司 | 防止边信道攻击的素数生成保护 |
CN104285378A (zh) * | 2012-04-25 | 2015-01-14 | 英赛瑟库尔公司 | 具有免受侧信道攻击保护的循环冗余校验方法 |
WO2016083864A1 (en) * | 2014-11-25 | 2016-06-02 | Institut Mines-Telecom | Methods for recovering secret data of a cryptographic device and for evaluating the security of such a device |
CN106161005A (zh) * | 2015-03-31 | 2016-11-23 | 北京南瑞智芯微电子科技有限公司 | 一种分组加密算法防攻击的掩码方法和装置 |
CN106656460A (zh) * | 2016-11-22 | 2017-05-10 | 浙江大学 | 一种针对密码芯片电磁脉冲故障分析的防御装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7318185B2 (en) * | 2001-08-23 | 2008-01-08 | Nortel Networks Limited | Method and apparatus for scrambling based peak-to-average power ratio reduction without side information |
-
2017
- 2017-08-22 CN CN201710724474.4A patent/CN107317671B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101180606A (zh) * | 2005-05-25 | 2008-05-14 | 西门子威迪欧汽车电子股份公司 | 模逆元的确定 |
CN101911009A (zh) * | 2008-01-23 | 2010-12-08 | 英赛康特雷斯公司 | 用于以签名方案进行非对称加密的对策方法和设备 |
CN102025501A (zh) * | 2009-09-09 | 2011-04-20 | 质子世界国际公司 | 防止边信道攻击的素数生成保护 |
CN104285378A (zh) * | 2012-04-25 | 2015-01-14 | 英赛瑟库尔公司 | 具有免受侧信道攻击保护的循环冗余校验方法 |
WO2016083864A1 (en) * | 2014-11-25 | 2016-06-02 | Institut Mines-Telecom | Methods for recovering secret data of a cryptographic device and for evaluating the security of such a device |
CN106161005A (zh) * | 2015-03-31 | 2016-11-23 | 北京南瑞智芯微电子科技有限公司 | 一种分组加密算法防攻击的掩码方法和装置 |
CN106656460A (zh) * | 2016-11-22 | 2017-05-10 | 浙江大学 | 一种针对密码芯片电磁脉冲故障分析的防御装置 |
Also Published As
Publication number | Publication date |
---|---|
CN107317671A (zh) | 2017-11-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Al-Zubaidie et al. | Efficient and secure ECDSA algorithm and its applications: A survey | |
Karaklajić et al. | Hardware designer's guide to fault attacks | |
Subramanian et al. | Reliable hardware architectures for cryptographic block ciphers LED and HIGHT | |
Canto et al. | Algorithmic security is insufficient: A comprehensive survey on implementation attacks haunting post-quantum security | |
Mozaffari-Kermani et al. | Fault-resilient lightweight cryptographic block ciphers for secure embedded systems | |
US9906363B2 (en) | Encrypted data verification system, method and recording medium | |
US20130195266A1 (en) | Apparatus and Method for Producing a Message Authentication Code | |
Ronen et al. | Pseudo constant time implementations of TLS are only pseudo secure | |
Ngo et al. | Breaking masked and shuffled CCA secure Saber KEM by power analysis | |
Merli et al. | Protecting PUF error correction by codeword masking | |
Tebelmann et al. | EM side-channel analysis of BCH-based error correction for PUF-based key generation | |
US9882712B2 (en) | Encrypted text matching system, method, and computer readable medium | |
RU2579990C2 (ru) | Защита от пассивного сниффинга | |
Canto et al. | Reliable CRC-based error detection constructions for finite field multipliers with applications in cryptography | |
CN109600232B (zh) | 针对sm2签名算法的攻击验证、防护方法及装置 | |
EP2452484A1 (en) | Systems and methods for providing physical layer security | |
CN113839781A (zh) | 用于对受保护的签名操作和密钥交换操作的侧信道攻击的对策 | |
JP2017526981A5 (zh) | ||
JP2017526981A (ja) | 暗号アルゴリズム向けのワンタイムの中国剰余定理のべき乗のためのシステムおよび方法 | |
KR101731645B1 (ko) | 오류 주입 공격들을 대비하여 보호되는 데이터 처리 방법 및 관련 장치 | |
US9985779B2 (en) | Encrypted text matching system, method, and computer readable medium | |
Luo et al. | Concurrent error detection for reliable SHA-3 design | |
Potestad-Ordonez et al. | Design and evaluation of countermeasures against fault injection attacks and power side-channel leakage exploration for AES block cipher | |
Sim et al. | A study on the side-channel analysis trends for application to IoT devices | |
EP3142292B1 (en) | Encrypted-data processing method, system, apparatus, and program |
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 | ||
CP01 | Change in the name or title of a patent holder |
Address after: 100080, Beijing, Suzhou Street, Haidian District No. 20, building 2, on the north side of the four floor Patentee after: Zhaoxun Hengda Technology Co., Ltd Address before: 100080, Beijing, Suzhou Street, Haidian District No. 20, building 2, on the north side of the four floor Patentee before: MEGAHUNT MICROELECTRONIC TECH. (BEIJING) Co.,Ltd. |
|
CP01 | Change in the name or title of a patent holder |