CN117061092B - 一种Simon加密算法的可逆电路构造方法 - Google Patents
一种Simon加密算法的可逆电路构造方法 Download PDFInfo
- Publication number
- CN117061092B CN117061092B CN202311315697.7A CN202311315697A CN117061092B CN 117061092 B CN117061092 B CN 117061092B CN 202311315697 A CN202311315697 A CN 202311315697A CN 117061092 B CN117061092 B CN 117061092B
- Authority
- CN
- China
- Prior art keywords
- simon
- round
- reversible
- key
- reversible circuit
- 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
- 230000002441 reversible effect Effects 0.000 title claims abstract description 54
- 238000010276 construction Methods 0.000 title claims abstract description 10
- 230000009466 transformation Effects 0.000 claims abstract description 21
- 238000000034 method Methods 0.000 claims abstract description 15
- 230000008569 process Effects 0.000 claims description 6
- 238000004806 packaging method and process Methods 0.000 claims description 5
- 125000004122 cyclic group Chemical group 0.000 claims description 3
- 230000000694 effects Effects 0.000 abstract description 7
- 238000013461 design Methods 0.000 abstract description 5
- 230000005672 electromagnetic field Effects 0.000 abstract description 4
- 238000004364 calculation method Methods 0.000 abstract 1
- 230000006870 function Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- 230000006399 behavior Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000003542 behavioural effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种Simon加密算法的可逆电路构造方法,本发明的电路结构为可逆电路,即输入输出一一对应且相等电路,Simon轮变换的基本单元模块采用与门和异或门与封装的L器件一起构造成可逆电路,并将构造的可逆电路封装成Round模块,实现Simon轮变换计算;在此基础上,可实现不同规模的Simon加密算法的可逆电路。本发明采用了可逆电路设计,可有效屏蔽功耗和电磁场的行为属性,防止边信道攻击方法的攻击,降低被非法破取的可能性,提升加密效果,同时,本发明设计的可逆逻辑单元,可以作为可逆Simon加密算法基础单元,实现2n!的加密效果。
Description
技术领域
本发明涉及的是信息科学技术领域,更具体地说是一种Simon加密算法的可逆电路构造方法。
背景技术
近年来,轻量级加密技术为高度受限的轻量级终端设备(物联网终端)提供了安全解决方案,随着物联网设备在不同场景中的应用,为物联网设备提供不同级别的安全性至关重要,为相关设备设计合适的加密算法问题已被广泛研究。解决这个问题的主要方法是研究不同的技术,以更有效提升加密效果,为更高加密级别提供更多的可能性,尽可能减少设备上实现标准算法复杂性。在这一领域已经进行了大量的研究工作,专门实现了适合轻量级密码应用的优化分组密码。
加密算法是信息安全的基本组成部分。在物联网等受限环境中,需要轻量级和低成本的加密算法。不同的应用场景有不同的安全需求,在任何情况下,为了达到所需的安全级别,都应该选择开发相应的协议。一般地,针对轻量级协议可以基于具有适当数据块和密钥大小的分组密码进行开发。目前,只有少量的分组密码算法可以用在功率和面积要求小、可以嵌入有限闪存、SRAM和电源的微控制器的小电路上实现。
2013年美国国家安全局(NSA)提出了一个名为Simon的新的分组密码系列,并宣布Simon设计的目的是填补安全、灵活和可分析的空白,并在全范围的轻量级应用程序中表现出色。新的高度优化的分组密码系列Simon,在硬件和软件环境中都具有灵活性和卓越的性能。为了增加灵活性,Simon算法具有多种数据块和密钥大小,可适应于不同的实现,用户可以通过算法协调安全需求和特定应用。通常情况,安全性与密钥大小有直接关系,随着密钥长度的增加,安全性级别也会提高。另一方面,选择适当的块和密钥大小,可以匹配应用环境所需的安全级别和负载。
目前,只有少量的分组密码算法可以用在功率和面积要求小、可以嵌入有限闪存、SRAM和电源的微控制器的小电路上实现。传统的分组密码难以有效屏蔽功耗和电磁场的行为属性,对边信道攻击缺乏有效的解决方案,且加密效果一定程度受限。Simon也属于分组密码系列,一定程序上也存在以上问题。
本发明给出了Simon分组密码算法的可逆电路实现,新的高度优化的分组密码系列Simon,在硬件和软件环境中都具有灵活性和卓越的性能,为了增加灵活性,本发明的Simon算法具有多种数据块和密钥大小,可适应于不同的实现,用户可以通过算法协调安全需求和特定应用。
发明内容
本发明公开的是一种Simon加密算法的可逆电路构造方法,其主要目的在于克服现有技术存在的上述不足和缺点。
本发明采用的技术方案如下:
一种Simon加密算法的可逆电路构造方法,所述可逆电路的构造方法包括以下具体步骤:
步骤一:Simon轮变换函数的定义构成,Simon是一组平衡的Feistel结构轻量级分组密码,Simon分组密码的Feistel结构中使用的Round变换函数由循环移位、位与(&)和位异或(⊕)操作组成,轮变换状态变换函数定义为:
其中,Si(x)表示x上向左轮替i次,x为输入状态值,y为输出状态值;k表示密钥的大小;
步骤二:Simon轮密钥的生成,根据密钥大小的不同,实施Simon的密钥操作有三个不同的过程,前m轮密钥键直接从主密钥初始化,其余的(Tm)轮密钥由以下过程生成:
其中,ci是与轮相关的常数,S-j(x)表示在x上向右轮替j次;
步骤三:Simon加密,加密模块的输入是一个2n位的明文块P,该块被分成n位的子块P=(L0,R0),这是密码的初始状态,加密由T个轮变换和密钥调度产生的各自的轮密钥组成,得到的密文是一个2n位的块C=(LT1,RT1);
步骤四:Simon解密,对密文C=(LT1,RT1)的解密,首先将块密码的L和R部分轮替,即解密模块的输入为(RT1,LT1),然后T轮密钥逆序函数,即轮密钥kT1,…,k0,然后最后交换两个子块,由Simon的结构可写成:
其中,i表示一轮的L位和R位的位置;
步骤五:Simon轮变换的可逆电路的L器件的确定,根据公式(3)得到L的三个取值,分别为LP((i+1)mod(n/2))、LP((i+8)mod(n/2))和LP((i+2)mod(n/2)),将其封装成一个L器件,该器件为三输入/输出,然后根据轮变换确定L(L=L0L1……Ln)三个位置的取值,三个输入/输出值一一对应且相等;
步骤六:Simon轮变换的可逆电路基本单元的构成,采用逻辑器件AND门(与门)和XOR门(异或门)与步骤五中确定的L器件联成可逆电路模块,其实现Simon算法的核心公式左端的表达式为表达式(1),构造成Simon轮变换的可逆电路基本单元,其中,k=k0,k1,……kn;R=R0,R1,……Rn;L=L0,L1,……Ln;
步骤七:封装Round器件实现电路的构造,将步骤六得到的Simon轮变换的可逆电路基本单元封装成一个5输入、5输出的Round器件,并利用该Round器件实现表达式(3)的变换,得到相应的输出值,最终实现Simon算法的可逆电路构造。
更进一步,所述步骤一中i的取值为1。
更进一步,所述步骤七中的Round器件构造的密钥大小为nm=8×2=16的Simon算法可逆电路,其电路的状态被分成L、R两部分,每个L、R的大小分别为8,密钥被分成两个轮密钥(k0、k1),大小分别为8。
通过上述对本发明的描述可知,和现有技术相比,本发明的优点在于:
本发明采用可逆电路设计,给出了一种Simon分组密码算法的可逆电路实现,可有效屏蔽功耗和电磁场的行为属性,防止边信道攻击方法的攻击,降低被非法破取的可能性,提升加密效果,本方案的可逆逻辑单元,可以作为可逆Simon加密算法基础单元,实现2n!的加密效果。
附图说明
图1是本发明一轮Simon加密的结构示意图。
图2是本发明L器件封装结构的示意图。
图3是本发明Simon轮变换的可逆电路基本单元的结构示意图。
图4是本发明Round器件的结构示意图。
图5是本发明Simon可逆电路图。
图6是本发明Simon可逆电路图的局部放大结构示意图。
具体实施方式
下面参照附图说明来进一步地说明本发明的具体实施方式。
如图1至图6所示,一种Simon加密算法的可逆电路构造方法,所述可逆电路的构造方法包括以下具体步骤:
步骤一:Simon轮变换函数的定义构成,Simon是一组平衡的Feistel结构轻量级分组密码,Simon分组密码的Feistel结构中使用的Round变换函数由循环移位、位与(&)和位异或(⊕)操作组成,轮变换状态变换函数定义为:
其中,Si(x)表示x上向左轮替i次,x为输入状态值,y为输出状态值;k表示密钥的大小;
如图1所示,该一轮Simon加密的结构,其中Li和Ri是构成Simon第i轮状态的n位字,ki是密钥调度算法生成的轮密钥。Simon的不同变体用Simon2n/mn表示,其中,2n表示变体的块大小,mn表示密钥的大小。这里,n可以取16、24、32、48或64的值,m可以取2、3或4的值。例如,Simon32/64指的是Simon的版本作用于32位纯文本块并使用64位密钥。对于(m,n)的每一个组合,取相应的整数T。详细参数见下表1:
步骤二:Simon轮密钥的生成,根据密钥大小的不同,实施Simon的密钥操作有三个不同的过程,前m轮密钥键直接从主密钥初始化,其余的(Tm)轮密钥由以下过程生成:
其中,ci是与轮相关的常数,S-j(x)表示在x上向右轮替j次;
步骤三:Simon加密,加密模块的输入是一个2n位的明文块P,该块被分成n位的子块P=(L0,R0),这是密码的初始状态,加密由T个轮变换和密钥调度产生的各自的轮密钥组成,得到的密文是一个2n位的块C=(LT1,RT1);
步骤四:Simon解密,对密文C=(LT1,RT1)的解密,首先将块密码的L和R部分轮替,即解密模块的输入为(RT1,LT1),然后T轮密钥逆序函数,即轮密钥kT1,…,k0,然后最后交换两个子块,由Simon的结构可写成:
其中,i表示一轮的L位和R位的位置,假设为密钥保留了k个量子比特,为L和R分别保留了k和n个量子比特,设(L0,R0)为初始状态,状态传播为(L0,R0)(L1,R1)(L2,R2)……(Lj,Rj),共j轮。
如果我们考虑两轮,那么R2的每个比特将是R0、F(L0)和k0的每个比特的异或运算,其中,,同样,L2的每一位都是L0、F(R2)和k1的每一位的异或运算。所以为R0保留的量子位可以用来存储R2的值,同样,为L0保留的量子位可以用来存储L2的值。
步骤五:Simon轮变换的可逆电路的L器件的确定,根据公式(3)得到L的三个取值,分别为LP((i+1)mod(n/2))、LP((i+8)mod(n/2))和LP((i+2)mod(n/2)),将其封装成一个L器件,如图2所示,该器件为三输入/输出,然后根据轮变换确定L(L=L0L1……Ln)三个位置的取值,三个输入/输出值一一对应且相等;
步骤六:Simon轮变换的可逆电路基本单元的构成,采用逻辑器件AND门(与门)和XOR门(异或门)与步骤五中确定的L器件联成可逆电路模块,其实现Simon算法的核心公式左端的表达式为表达式(1),构造成Simon轮变换的可逆电路基本单元,其中,k=k0,k1,……kn;R=R0,R1,……Rn;L=L0,L1,……Ln;
步骤七:封装Round器件实现电路的构造,如图3所示,将步骤六得到的Simon轮变换的可逆电路基本单元封装成一个5输入、5输出的Round器件,如图4所示,利用该Round器件实现表达式(3)的一系列逻辑门变换,得到相应的输出值,最终实现Simon算法的可逆电路构造。
如图5和图6所示,所述步骤七中的Round器件构造的密钥大小为nm=8×2=16的Simon算法可逆电路,其电路的状态被分成L、R两部分,每个L、R的大小分别为8,密钥被分成两个轮密钥(k0、k1),大小分别为8。
本发明采用可逆电路设计,给出了一种Simon分组密码算法的可逆电路实现。可有效屏蔽功耗和电磁场的行为属性,防止边信道攻击方法的攻击,降低加密信息被非法破取的可能性,提升加密效果。本发明设计的可逆逻辑单元,可以作为可逆Simon加密算法基础单元,实现2n!的加密效果,相对更安全。
上述仅为本发明的具体实施方式,但本发明的设计构思并不仅局限于此,凡是利用此构思对本发明进行非实质性地改进,均应该属于侵犯本发明保护范围的行为。
Claims (3)
1.一种Simon加密算法的可逆电路构造方法,其特征在于:所述可逆电路的构造方法包括以下具体步骤:
步骤一:Simon轮变换函数的定义构成,Simon是一组平衡的Feistel结构轻量级分组密码,Simon分组密码的Feistel结构中使用的Round变换函数由循环移位、位与(&)和位异或(⊕)操作组成,轮变换状态变换函数定义为:
其中,Si(x)表示x上向左轮替i次;x为输入状态值,y为输出状态值;k表示密钥的大小;
步骤二:Simon轮密钥的生成,根据密钥大小的不同,实施Simon的密钥操作有三个不同的过程,前m轮密钥直接从主密钥初始化,其余的Tm轮密钥由以下过程生成:
其中,ci是与轮相关的常数,S-j(x)表示在x上向右轮替j次;
步骤三:Simon加密,加密模块的输入是一个2n位的明文块P,该块被分成n位的子块,P=(L0,R0),这是密码的初始状态,加密密钥由T个轮密钥组成,每个轮密钥由轮变换和密钥调度产生,得到的密文是一个2n位的块C=(LT1,RT1);
步骤四:Simon解密,对密文C=(LT1,RT1)的解密,首先将块密码的L和R部分轮替,即解密模块的输入为(RT1,LT1),然后执行T轮密钥逆序函数,即轮密钥kT1,…,k0,最后交换两个子块,由Simon的结构可写成:
Rp+2(i)=Lp+1(i)=Rp(i)⊕Kp(i)⊕Lp((i+1)mod(n/2))&Lp((i+8)mod(n/2))⊕Lp((i+2)mod(n/2)),其中,0≤i≤(n/2),0≤p≤Rk (3)
其中,公式(3)中的i表示一轮的L位和R位的位置;
步骤五:Simon轮变换的可逆电路的L器件的确定,根据公式(3)得到L的三个取值,分别为LP((i+1)mod(n/2))、LP((i+8)mod(n/2))和LP((i+2)mod(n/2)),将其封装成一个L器件,该器件为三输入/输出,然后根据轮变换确定L三个位置的取值,L=L0,L1,……Ln,三个输入/输出值一一对应且相等;
步骤六:Simon轮变换的可逆电路基本单元的构成,采用逻辑器件与门和异或门与步骤五中确定的L器件联成可逆电路模块,其实现Simon算法的核心公式左端的表达式为表达式(1),构造成Simon轮变换的可逆电路基本单元,其中R=R0,R1,……Rn;L=L0,L1,……Ln;
步骤七:封装Round器件实现电路的构造,将步骤六得到的Simon轮变换的可逆电路基本单元封装成一个5输入、5输出的Round器件,并利用该Round器件实现表达式(3)的变换,得到相应的输出值,最终实现Simon算法的可逆电路构造。
2.根据权利要求1所述的一种Simon加密算法的可逆电路构造方法,其特征在于:所述步骤一中i的取值为1。
3.根据权利要求1所述的一种Simon加密算法的可逆电路构造方法,其特征在于:所述步骤七中的Round器件构造的密钥大小为nm=8×2=16的Simon算法可逆电路,其电路的状态被分成L、R两部分,每个L、R的大小分别为8。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311315697.7A CN117061092B (zh) | 2023-10-12 | 2023-10-12 | 一种Simon加密算法的可逆电路构造方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311315697.7A CN117061092B (zh) | 2023-10-12 | 2023-10-12 | 一种Simon加密算法的可逆电路构造方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117061092A CN117061092A (zh) | 2023-11-14 |
CN117061092B true CN117061092B (zh) | 2023-12-15 |
Family
ID=88653981
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311315697.7A Active CN117061092B (zh) | 2023-10-12 | 2023-10-12 | 一种Simon加密算法的可逆电路构造方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117061092B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1761185A (zh) * | 2005-11-18 | 2006-04-19 | 清华大学 | 乱序执行的数据流aes加密电路结构 |
WO2008061395A1 (fr) * | 2006-11-23 | 2008-05-29 | Tsinghua University | Circuit de cryptage aes d'un flot de données exécuté lors d'un déséquencement |
CN109981256A (zh) * | 2019-04-03 | 2019-07-05 | 华南师范大学 | 基于FeisitelBox结构的白盒分组密码构造方法及系统 |
CN111262685A (zh) * | 2020-01-17 | 2020-06-09 | 衡阳师范学院 | 一种新型密钥生成的Shield分组密码实现方法、装置及可读存储介质 |
CN111614457A (zh) * | 2020-05-21 | 2020-09-01 | 衡阳师范学院 | 基于p置换改进的轻量级分组加解密方法、装置及存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3584989B1 (en) * | 2018-06-18 | 2023-09-27 | Secure-IC SAS | Tweakable block ciphers for secure data encryption |
-
2023
- 2023-10-12 CN CN202311315697.7A patent/CN117061092B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1761185A (zh) * | 2005-11-18 | 2006-04-19 | 清华大学 | 乱序执行的数据流aes加密电路结构 |
WO2008061395A1 (fr) * | 2006-11-23 | 2008-05-29 | Tsinghua University | Circuit de cryptage aes d'un flot de données exécuté lors d'un déséquencement |
CN109981256A (zh) * | 2019-04-03 | 2019-07-05 | 华南师范大学 | 基于FeisitelBox结构的白盒分组密码构造方法及系统 |
CN111262685A (zh) * | 2020-01-17 | 2020-06-09 | 衡阳师范学院 | 一种新型密钥生成的Shield分组密码实现方法、装置及可读存储介质 |
CN111614457A (zh) * | 2020-05-21 | 2020-09-01 | 衡阳师范学院 | 基于p置换改进的轻量级分组加解密方法、装置及存储介质 |
Non-Patent Citations (4)
Title |
---|
Differential Power Attack Analysis of Ultra-Lightweight Block Cipher BORON;Swapnil A. Sutar;《 2018 Second International Conference on Electronics, Communication and Aerospace Technology (ICECA)》;全文 * |
Simon算法对SIMON密码的密钥恢复攻击;彭信行;《河南师范大学学报(自然科学版)》;全文 * |
一种SMS4加密算法差分功耗攻击;李浪;李仁发;李静;吴克寿;;计算机科学(07);全文 * |
基于整数的轻量级分组密码电路的同态运算;毛和风;《计算机科学》;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN117061092A (zh) | 2023-11-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TW201826162A (zh) | 用於藉由位元混合器來產生保密器回合金鑰的方法和系統 | |
US7720225B2 (en) | Table splitting for cryptographic processes | |
AU773982B2 (en) | Method for making data processing resistant to extraction of data by analysis of unintended side-channel signals | |
CN102006161B (zh) | 一种对称密钥加密的非线性变换方法及其实现装置 | |
CN110120867B (zh) | 一种基于量子可逆线路的aes硬件加密系统的实现方法 | |
CN101938349A (zh) | 一种适用于硬件实现的s盒及其电路实现方法 | |
US8619985B2 (en) | Table splitting for cryptographic processes | |
CN107257279A (zh) | 一种明文数据加密方法及设备 | |
Gayathri et al. | Hybrid cryptography for random-key generation based on ECC algorithm | |
Fadhil et al. | A new lightweight AES using a combination of chaotic systems | |
Luo et al. | [Retracted] Optimization of AES‐128 Encryption Algorithm for Security Layer in ZigBee Networking of Internet of Things | |
CN101826959B (zh) | 一种面向字节的密钥流生成方法及加密方法 | |
CN111614457B (zh) | 基于p置换改进的轻量级分组加解密方法、装置及存储介质 | |
CN117061092B (zh) | 一种Simon加密算法的可逆电路构造方法 | |
CN111478766B (zh) | 一种分组密码meg实现方法、装置及存储介质 | |
CN107171782A (zh) | 一种基于可逆逻辑电路的aes私密日志加密方法 | |
Purohit et al. | FPGA Implementation of the AES Algorithm with Lightweight LFSR-Based Approach and Optimized Key Expansion | |
CN116647328A (zh) | 一种新型psp结构的轻量级分组密码实现方法及系统 | |
CN116796345A (zh) | 加解密方法、装置、设备及存储介质 | |
CN112737767B (zh) | 抗差分功耗分析与时间攻击的消息认证码生成方法及系统 | |
CN108322305A (zh) | 用于aes加密硬件系统的量子字节替换硬件模块的实现方法 | |
Kumar et al. | SHC: 8-bit Compact and Efficient S-Box Structure for Lightweight Cryptography | |
Aboshosha et al. | Enhanced Version of GOST Cryptosystem for Lightweight Applications | |
Chen et al. | Lightweight and High‐Performance Data Protection for Edge Network Security | |
Huang et al. | IoVCipher: A low-latency lightweight block cipher for internet of vehicles |
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 |