CN110113149B - 一种用于aes硬件加密系统的量子秘钥扩展模块的实现方法 - Google Patents
一种用于aes硬件加密系统的量子秘钥扩展模块的实现方法 Download PDFInfo
- Publication number
- CN110113149B CN110113149B CN201910354131.2A CN201910354131A CN110113149B CN 110113149 B CN110113149 B CN 110113149B CN 201910354131 A CN201910354131 A CN 201910354131A CN 110113149 B CN110113149 B CN 110113149B
- Authority
- CN
- China
- Prior art keywords
- quantum
- bit
- rcon
- data
- key
- 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
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
- H04L9/0631—Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms
-
- 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/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0852—Quantum cryptography
- H04L9/0858—Details about key distillation or coding, e.g. reconciliation, error correction, privacy amplification, polarisation coding or phase coding
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Electromagnetism (AREA)
- Theoretical Computer Science (AREA)
- Error Detection And Correction (AREA)
Abstract
本发明提供了一种用于AES硬件加密系统的量子秘钥扩展模块的实现方法,属于信息安全技术领域。其技术方案为:一种用于AES硬件加密系统的量子秘钥扩展模块的实现方法,包括以下步骤:步骤A,g函数的实现;步骤B,秘钥扩展算法的实现。本发明的有益效果为:本发明的秘钥扩展模块由量子可逆线路构造实现,能够将秘钥扩展算法的复杂度增加(2n‑1)!倍,主要针对128位的种子秘钥进行操作,对16字节秘钥进行运算,扩展生成新的第一轮16字节的秘钥,然后对第一轮秘钥进行运算得到第二轮秘钥,以此方式得到十轮秘钥,为基于量子线路的AES硬件加密系统中的加解密过程提供秘钥,提高AES硬件加密系统的加密效果与复杂度。
Description
技术领域
本发明涉及信息安全技术领域,尤其涉及一种用于AES硬件加密系统的量子秘钥扩展模块的实现方法。
背景技术
网络社会的发展使得每天都有大量的数据产生与传输,尤其是随着云计算、物联网等新兴信息技术的蓬勃兴起,各类信息数据正在迅速膨胀变大,大数据时代为企业和个人带来了新的服务和机遇。然而,各类新兴技术还处于发展的初始阶段,信息保护技术还不够成熟,大量敏感信息在网络上处理、传输和存储,必定会存在信息被窃取、篡改、泄露等安全问题,安全、可靠、高效的信息加密技术已然成为网络各界的研究热点。
基于量子可逆线路的AES加密系统,将量子可逆线路的可逆、高复杂度等特点用于加密技术领域,在加密速率提高的前提下又增加加密的复杂度、抗攻击能力。目前,将AES算法中秘钥扩展模块硬件化的方式都是通过FPGA等可编程器件用硬件描述语言实现的,这种方式实现的秘钥扩展模块不仅不适用于量子可逆逻辑加密系统,而且复杂度不高,易被破解。
发明内容
本发明的目的在于提供一种用于AES硬件加密系统的量子秘钥扩展模块的实现方法。
本发明是通过如下措施实现的:一种用于AES硬件加密系统的量子秘钥扩展模块的实现方法,其中,所述方法根据秘钥扩展算法,将若干量子逻辑门、量子逻辑线路通过量子加密的运算规则进行级联,构造出能实现秘钥扩展功能的量子线路,之后再转化为电子线路构成量子秘钥扩展模块;
所述量子秘钥扩展模块通过对128位的种子秘钥进行操作,将128位AES种子秘钥扩展成1408位秘钥,能够将秘钥扩展算法的复杂度增加(2n-1)!倍,为基于量子线路的AES硬件加密系统中的加解密过程提供秘钥。
其中,所述量子秘钥扩展模块的算法原理为:将128位种子秘钥排列成的4个32比特的字扩展成44个32比特的字的操作,得到44个字,记为W[j](0<=j<=43),若j%4=0,则w[j]=w[j-4]⊕g(w[j-1]),否则w[j]=w[j-4]⊕w[j-1];
其中g()代表一个函数,g函数的主要步骤包括循环左移、S盒置换、Rcon异或;种子秘钥为3e 19 3d 71 25 56 6a 49 4f 4b 3f 7c 2a 8c 62 23,经量子秘钥扩展模块操作后得到扩展之后的秘钥如下:
W[0]={3e 19 3d 71},W[1]={25 56 6a 49},W[2]={4f 4b 3f 7c},W[3]={2a8c 62 23}
W[4]={c8 b6 cc e9},W[5]={ed e0 a6 a0},W[6]={a2 ab 99 dc},W[7]={8827 fb ff}
W[8]={03 16 d0 72},W[9]={ee f6 76 d2},W[10]={4c 5d ef 0e},W[11]={c4 7a 14 f1}
W[12]={d7 8f f3a8},W[13]={39 79 85 7a},W[14]={75 24 6a 74},W[15]={b1 5e 7e 85}
W[16]={be 0e 80 48},W[17]={87 77 05 32},W[18]={f2 53 6f 46},W[19]={43 0d 11 c3}
W[20]={4f ba 23 2f},W[21]={c8 cd 26 1d},W[22]={3a 9e 49 5b},W[23]={79 93 58 98}
W[24]={02 a2 09 5f},W[25]={ca 6f 2f 42},W[26]={f0 f1 66 19},W[27]={89 62 3e 81}
W[28]={ed fb 77 c1},W[29]={27 94 58 83},W[30]={d7 65 3e 9a},W[31]={5e 07 00 1b}
W[32]={bc fb bb a0},W[33]={9b 6f e3 23},W[34]={4c 0a dd b9},W[35]={12 0d dd a2}
W[36]={46 03 95 0a},W[37]={dd 6c 76 29},W[38]={91 66ab 90},W[39]={83 6b 76 32}
W[40]={af b9 07 8a},W[41]={72 d5 71 a3},W[42]={e3 b3 da 33},W[43]={60 d8 ac 01}
所得结果符合秘钥扩展逻辑关系。
所述方法包括以下步骤:
步骤A,g函数的实现;
步骤B,秘钥扩展算法的实现。
其中,所述步骤A中具体包括以下步骤:
步骤A-1,W[j]循环左移8比特;
步骤A-2,分别对每个字节B1,B2,B3,B0做S盒置换;
步骤A-3,将W[j]与32比特的常量(Rcon[j/4],0,0,0)进行异或;
步骤A-4,g函数电路将步骤A-1、步骤A-2、步骤A-1三步用量子线路及硬件电路构造的g函数封装成G器件。
其中,所述步骤B中秘钥扩展算法为:种子秘钥为W[0]至W[3],扩展求得W[4]至W[43];若j%4=0,则w[j]=w[j-4]⊕g(w[j-1]),否则w[j]=w[j-4]⊕w[j-1];
其中g(w[j-1])表示将w[j-1]经g函数处理之后得到的数据;
量子线路实现该算法时,异或可用控制非门实现,g函数为步骤A中的g函数,使用步骤A-4中所述封装成G器件表示,硬件线路实现整体算法使用异或门。
其中,所述步骤A-1具体为W[j]是由4个8比特字节B0,B1,B2,B3构成,将W循环左移8比特是将B0,B1,B2,B3循环左移一位得到B1,B2,B3,B0;量子线路构造左移操作用量子逻辑交换门实现;对于该步骤量子线路的硬件实现,8比特电子线路总线可表示8比特量子线路总线,移位操作,需在布线时将输入按照移位后的顺序输出。
其中,所述步骤A-2具体为:通过量子字节替换将有限域GF(28)上的数据B1,B2,B3,B0变换到其复合域GF((24)2)中,并在复合域上进行求逆后,将数据再变换回有限域上,最后再进行可逆的仿射变换,完成量子字节替换操作;
其中,所述量子字节替换方法包括以下步骤:
(1)将有限域上数据变换到复合域上,采用公式: 其中a0,a1,a2,a3,a4,a5,a6,a7表示有限域上的8位数据,al0,al1,al2,al3,ah0,ah1,ah2,ah3表示有限域上数据变换到复合域上的8位数据,该步骤对8位量子位进行操作,可用11个CNOT门实现,采用11个电子线路中的异或门级联构成,对其进行硬件化设置;
(2)对数据在复合域上进行求逆,该步骤针对所述步骤(1)输出的复合域上的8位数据进行操作,其变换公式为: 其中al0,al1,al2,al3,ah0,ah1,ah2,ah3表示复合域上求逆之前的8位数据,d0,d1,d2,d3的表达式为a′h0,a′h1,a′h2,a′h3,a′l0,a′l1,a′l2,al3′表示对数据在复合域上求逆之后的8位数据,可用8个CNOT门和36个Toffi门实现,对其进行硬件化使用电子线路中的异或门和与门构成;
(3):将步骤(2)求逆后复合域上的数据变换回有限域上,其变换公式为: 其中a′h0,a′h1,a′h2,a′h3,a′l0,a′l1,a′l2,al3′表示步骤(2)中对数据在复合域上求逆之后的8位数据,a0,a1,a2,a3,a4,a5,a6,a7表示将步骤(2)在复合域上求逆之后的8位数据变换为有限域上的8位数据,该步骤针对步骤(2)求逆后复合域上的8位数据进行操作,可用12个CNOT门实现,对其进行硬件化可以使用12个电子线路中的异或门级联构成;
(4):对步骤(3)变换后有限域上的数据进行仿射变换,其变换公式为: 其中bi表示步骤(3)变换后有限域上的数据,bi′表示对步骤(3)变换后有限域上的数据进行仿射变换后的数据,mod8表示除8取余,该步骤针对步骤(3)变换之后的有限域上的8位数据进行操作,需要制备初始状态为|11000110>的辅助量子位,并使用40个CNOT门实现,对其进行硬件化可以使用电子线路中的高电平表示量子辅助位|1>,使用低电平来表示量子辅助位|0>,使用异或门来代替CNOT门,通过上面的公式(1)搭建硬件电路。
其中,所述步骤A-3具体为用量子线路构造Rcon数组的生成公式,完成Rcon数组所需值的计算,由于与不同Rcon值异或取决于(j/4)的值,构造除四运算的量子线路,并转化成电子线路;Rcon数组生成公式内容为:Rcon是一个一维数组,Rcon[1]=0x01;Rcon[i]=Rcon[i-1]*(02),128位的秘钥扩展10轮,4<=j<=43,则1<=j/4<=10,Rcon数组计算Rcon[1]至Rcon[10]的值。
其中,所述步骤A-2具体还包括以下步骤:
步骤A-3-1,Rcon数组的生成,用辅助比特|0>以及|1>表示出Rcon[1]的值,初始化第一个输入值In,ln表示Rcon[1]的值,构造9根量子线,第一根量子线的输入为ln,其余输入皆为8位辅助比特|0>,Rcon[i]=Rcon[i-1]*(02),在每条量子线路设置一个表示乘2运算量子线路的U器件,用控制非门将每条量子线级联,分别求得Rcon[1]至Rcon[10]的值;
步骤A-3-2,与不同Rcon值异或取决于(j/4)的值,8比特数据除4运算是将该数据右移两位得到,假如j的值为b7b6b5b4b3b2b1b0,则右移出的两位b1b0即为除4的余数,右移之后的值在高位补0即为除4取整的值,即为00b7b6b5b4b3b2,量子线路构造除4运算,用辅助比特|0>补高两位,右移操作可用SWAP门实现;硬件电路实现除4运算,可用低电平代替辅助比特|0>,移位操作,需在布线时将输入按照移位后的顺序输出。
其中,所述步骤A-3-1中辅助比特|0>以及|1>初始化已知的输入值In为Rcon[1]的值。
具体说,AES硬件加密系统的量子秘钥扩展模块的实现方法包括以下步骤:
所述量子秘钥扩展模块通过函数算法,将128位种子秘钥排列成的4个32比特的字扩展成44个32比特的字的操作,得到44个字记为W[j](0<=j<=43),若j%4=0,则w[j]=w[j-4]⊕g(w[j-1]),否则w[j]=w[j-4]⊕w[j-1];其中g()代表一个函数,g函数的主要步骤包括循环左移、S盒置换、Rcon异或;
步骤A,g函数的实现;
所述步骤A还包括如下步骤:
步骤A-1,W[j]循环左移8比特;
由于W[j]是由4个8比特字节B0,B1,B2,B3构成,将W循环左移8比特就是将B0,B1,B2,B3循环左移一位得到B1,B2,B3,B0,量子线路构造左移操作用量子逻辑交换门(SWAP门)就可以实现,对于该步骤量子线路的硬件实现,8比特电子线路总线可表示8比特量子线路总线,移位操作,需在布线时将输入按照移位后的顺序输出。
步骤A-2,分别对每个字节B1,B2,B3,B0做S盒置换;
所述步骤A-2可通过量子字节替换;
将有限域GF(28)上的数据B1,B2,B3,B0变换到其复合域GF((24)2)中,并在复合域上进行求逆操作之后,将数据再变换回有限域上,最后再进行可逆的仿射变换,便可完成量子字节替换操作;
步骤A-3,将W[j]与32比特的常量(Rcon[j/4],0,0,0)进行异或;种子秘钥为3e 193d 71 25 56 6a 49 4f 4b 3f 7c 2a 8c 62 23,经量子秘钥扩展模块操作后得到扩展之后的秘钥如下:
W[0]={3e 19 3d 71},W[1]={25 56 6a 49},W[2]={4f 4b 3f 7c},W[3]={2a8c 62 23}
W[4]={c8 b6 cc e9},W[5]={ed e0 a6 a0},W[6]={a2ab 99dc},W[7]={8827 fb ff}
W[8]={03 16 d0 72},W[9]={ee f6 76 d2},W[10]={4c 5d ef 0e},W[11]={c4 7a 14 f1}
W[12]={d7 8f f3 a8},W[13]={39 79 85 7a},W[14]={75 24 6a 74},W[15]={b1 5e 7e 85}
W[16]={be 0e 80 48},W[17]={87 77 05 32},W[18]={f2 53 6f 46},W[19]={43 0d 11 c3}
W[20]={4f ba 23 2f},W[21]={c8 cd 26 1d},W[22]={3a 9e 49 5b},W[23]={79 93 58 98}
W[24]={02 a2 09 5f},W[25]={ca 6f 2f 42},W[26]={f0f1 66 19},W[27]={89 62 3e 81}
W[28]={ed fb 77 c1},W[29]={27 94 58 83},W[30]={d7 65 3e 9a},W[31]={5e 07 00 1b}
W[32]={bc fb bb a0},W[33]={9b 6f e3 23},W[34]={4c 0a dd b9},W[35]={12 0d dd a2}
W[36]={46 03 95 0a},W[37]={dd 6c 76 29},W[38]={91 66 ab 90},W[39]={83 6b 76 32}
W[40]={af b9 07 8a},W[41]={72 d5 71a3},W[42]={e3 b3 da 33},W[43]={60 d8 ac 01}
所得结果符合秘钥扩展逻辑关系。
Rcon是一个一维数组,Rcon[1]=0x01;Rcon[i]=Rcon[i-1]*(02);由于128位的秘钥只需扩展10轮,所以4<=j<=43,则1<=j/4<=10,所以Rcon数组只需计算Rcon[1]至Rcon[10]的值;
所述步骤A-3还包括以下步骤;
步骤A-3-1,将Rcon[1]值带入乘2运算,构造八根量子线,用辅助比特|0>以及|1>初始化已知的输入值In,也就是Rcon[1]的值,输入值In初始化后,将8根量子线简化为一根总线,然后用9个U器件实现乘2运算的量子线路进行级联,分别求得Rcon[1]至Rcon[10]的值;
步骤A-3-2,与不同Rcon值异或取决于(j/4)的值,8比特数据除4运算可通过将该数据右移两位得到,假如j的值为b7b6b5b4b3b2b1b0,则右移出的两位b1b0即为除4的余数,右移之后的值在高位补0即为除4取整的值,也就是00b7b6b5b4b3b2,量子线路构造除4运算,用辅助比特|0>补高两位,右移操作可用交换门(SWAP门)实现。硬件电路实现除4运算,可用低电平代替辅助比特|0>,移位操作,需在布线时将输入按照移位后的顺序输出。
步骤A-4,简化g函数电路;
为了简化电路将步骤A-1、步骤A-2、步骤A-3三步用量子线路及硬件电路所综合构造的g函数,将g函数封装成G器件。
步骤B,秘钥扩展算法的实现;
由于种子秘钥表示为W[0]至W[3],所以扩展求得的是W[4]至W[43],若j%4=0,则w[j]=w[j-4]⊕g(w[j-1]),否则w[j]=w[j-4]⊕w[j-1];其中g(w[j-1])表示将w[j-1]经g函数处理之后得到的数据,量子线路实现该算法时,异或可用控制非门(CNOT门)实现,用G器件表示,硬件线路实现该算法时有异或门可直接使用。
本发明的有益效果为:本发明的秘钥扩展模块由若干量子逻辑门、量子可逆线路构造实现,能够将秘钥扩展算法的复杂度增加(2n-1)!倍,主要针对128位的种子秘钥进行操作,对16字节秘钥进行运算,扩展生成新的第一轮16字节的秘钥,然后对第一轮秘钥进行运算得到第二轮秘钥,以此方式得到十轮秘钥,为基于量子线路的AES硬件加密系统中的加解密过程提供秘钥,提高AES硬件加密系统的加密效果与复杂度。
附图说明
图1为本发明实施例中乘二运算量子线路封装成U器件示意图。
图2为本发明实施例中的Rcon数组值生成量子电路示意图。
图3为本发明实施例中Rcon数组值生成硬件实现电路示意图。
图4为本发明实施例中除4运算量子电路示意图。
图5为本发明实施例中除4运算硬件实现电路示意图。
图6为本发明实施例中g函数封装成的G器件示意图。
图7为本发明实施例中秘钥扩展模块量子线路示意图。
图8为本发明实施例中秘钥扩展模块硬件实现电路示意图。
图9为本发明实施例中秘钥扩展模块具体操作数据示意图。
具体实施方式
为能清楚说明本方案的技术特点,下面通过具体实施方式,对本方案进行阐述。
参见图1至图9,本发明是:一种用于AES硬件加密系统的量子秘钥扩展模块的实现方法,其中,所述方法根据秘钥扩展算法,将若干量子逻辑门、量子逻辑线路通过量子加密的运算规则进行级联,构造出能实现秘钥扩展功能的量子线路,之后再转化为电子线路构成量子秘钥扩展模块;
所述量子秘钥扩展模块通过对128位的种子秘钥进行操作,将128位AES种子秘钥扩展成1408位秘钥,能够将秘钥扩展算法的复杂度增加(2n-1)!倍,为基于量子线路的AES硬件加密系统中的加解密过程提供秘钥。
其中,所述量子秘钥扩展模块的算法原理为:将128位种子秘钥排列成的4个32比特的字扩展成44个32比特的字的操作,得到44个字,记为W[j](0<=j<=43),若j%4=0,则w[j]=w[j-4]⊕g(w[j-1]),否则w[j]=w[j-4]⊕w[j-1];
其中g()代表一个函数,g函数的主要步骤包括循环左移、S盒置换、Rcon异或;如图9所示,种子秘钥为3e 19 3d 71 25 56 6a 49 4f 4b 3f 7c 2a 8c 62 23,经量子秘钥扩展模块操作后得到扩展之后的秘钥如下:
W[0]={3e 19 3d 71},W[1]={25 56 6a 49},W[2]={4f 4b 3f 7c},W[3]={2a8c 62 23}
W[4]={c8 b6 cc e9},W[5]={ed e0 a6 a0},W[6]={a2ab 99dc},W[7]={8827 fb ff}
W[8]={03 16 d0 72},W[9]={ee f6 76 d2},W[10]={4c 5d ef 0e},W[11]={c4 7a 14 f1}
W[12]={d7 8f f3a8},W[13]={39 79 85 7a},W[14]={75 24 6a 74},W[15]={b1 5e 7e 85}
W[16]={be 0e 80 48},W[17]={87 77 05 32},W[18]={f2 53 6f 46},W[19]={43 0d 11 c3}
W[20]={4f ba 23 2f},W[21]={c8 cd 26 1d},W[22]={3a 9e 49 5b},W[23]={79 93 58 98}
W[24]={02 a2 09 5f},W[25]={ca 6f 2f 42},W[26]={f0 f1 66 19},W[27]={89 62 3e 81}
W[28]={ed fb 77 c1},W[29]={27 94 58 83},W[30]={d7 65 3e 9a},W[31]={5e 07 00 1b}
W[32]={bc fb bb a0},W[33]={9b 6f e3 23},W[34]={4c 0a dd b9},W[35]={12 0d dd a2}
W[36]={46 03 95 0a},W[37]={dd 6c 76 29},W[38]={91 66 ab 90},W[39]={83 6b 76 32}
W[40]={af b9 07 8a},W[41]={72 d5 71 a3},W[42]={e3 b3 da 33},W[43]={60 d8 ac 01}
所得结果符合秘钥扩展逻辑关系。
所述方法包括以下步骤:
步骤A,g函数的实现;
步骤B,秘钥扩展算法的实现。
其中,所述步骤A中具体包括以下步骤:
步骤A-1,W[j]循环左移8比特;
步骤A-2,分别对每个字节B1,B2,B3,B0做S盒置换;
步骤A-3,将W[j]与32比特的常量(Rcon[j/4],0,0,0)进行异或;
步骤A-4,g函数电路将步骤A-1、步骤A-2、步骤A-1三步用量子线路及硬件电路构造的g函数封装成G器件。
其中,所述步骤B中秘钥扩展算法为:种子秘钥为W[0]至W[3],扩展求得W[4]至W[43];若j%4=0,则w[j]=w[j-4]⊕g(w[j-1]),否则w[j]=w[j-4]⊕w[j-1];
其中g(w[j-1])表示将w[j-1]经g函数处理之后得到的数据;
量子线路实现该算法时,异或可用控制非门实现,g函数为步骤A中的g函数,使用步骤A-4中所述封装成G器件表示,硬件线路实现整体算法使用异或门。
其中,所述步骤A-1具体为W[j]是由4个8比特字节B0,B1,B2,B3构成,将W循环左移8比特是将B0,B1,B2,B3循环左移一位得到B1,B2,B3,B0;量子线路构造左移操作用量子逻辑交换门实现;对于该步骤量子线路的硬件实现,8比特电子线路总线可表示8比特量子线路总线,移位操作,需在布线时将输入按照移位后的顺序输出。
其中,所述步骤A-2具体为:通过量子字节替换将有限域GF(28)上的数据B1,B2,B3,B0变换到其复合域GF((24)2)中,并在复合域上进行求逆后,将数据再变换回有限域上,最后再进行可逆的仿射变换,完成量子字节替换操作;
其中,所述量子字节替换方法包括以下步骤:
(1)将有限域上数据变换到复合域上,采用公式: 其中a0,a1,a2,a3,a4,a5,a6,a7表示有限域上的8位数据,al0,al1,al2,al3,ah0,ah1,ah2,ah3表示有限域上数据变换到复合域上的8位数据,该步骤对8位量子位进行操作,可用11个CNOT门实现,采用11个电子线路中的异或门级联构成,对其进行硬件化设置;
(2)对数据在复合域上进行求逆,该步骤针对所述步骤(1)输出的复合域上的8位数据进行操作,其变换公式为: 其中al0,al1,al2,al3,ah0,ah1,ah2,ah3表示复合域上求逆之前的8位数据,d0,d1,d2,d3的表达式为a′h0,a′h1,a′h2,a′h3,a′l0,a′l1,a′l2,al3′表示对数据在复合域上求逆之后的8位数据,可用8个CNOT门和36个Toffi门实现,对其进行硬件化使用电子线路中的异或门和与门构成;
(3):将步骤(2)求逆后复合域上的数据变换回有限域上,其变换公式为: 其中a′h0,a′h1,a′h2,a′h3,a′l0,a′l1,a′l2,al3′表示步骤(2)中对数据在复合域上求逆之后的8位数据,a0,a1,a2,a3,a4,a5,a6,a7表示将步骤(2)在复合域上求逆之后的8位数据变换为有限域上的8位数据,该步骤针对步骤(2)求逆后复合域上的8位数据进行操作,可用12个CNOT门实现,对其进行硬件化可以使用12个电子线路中的异或门级联构成;
(4):对步骤(3)变换后有限域上的数据进行仿射变换,其变换公式为: 其中bi表示步骤(3)变换后有限域上的数据,bi′表示对步骤(3)变换后有限域上的数据进行仿射变换后的数据,mod8表示除8取余,该步骤针对步骤(3)变换之后的有限域上的8位数据进行操作,需要制备初始状态为|11000110>的辅助量子位,并使用40个CNOT门实现,对其进行硬件化可以使用电子线路中的高电平表示量子辅助位|1>,使用低电平来表示量子辅助位|0>,使用异或门来代替CNOT门,通过上面的公式(1)搭建硬件电路。
其中,所述步骤A-3具体为用量子线路构造Rcon数组的生成公式,完成Rcon数组值计算;由于与不同Rcon值异或取决于(j/4)的值,构造除四运算的量子线路,并转化成电子线路;Rcon数组生成公式内容为:Rcon是一个一维数组,Rcon[1]=0x01;Rcon[i]=Rcon[i-1]*(02),128位的秘钥扩展10轮,4<=j<=43,则1<=j/4<=10,Rcon数组计算Rcon[1]至Rcon[10]的值。
其中,所述步骤A-2具体还包括以下步骤:
步骤A-3-1,Rcon数组的生成,用辅助比特|0>以及|1>表示出Rcon[1]的值,初始化第一个输入值In,ln表示Rcon[1]的值,构造9根量子线,第一根量子线的输入为ln,其余输入皆为8位辅助比特|0>,Rcon[i]=Rcon[i-1]*(02),在每条量子线路设置一个表示乘2运算量子线路的U器件,用控制非门将每条量子线级联,分别求得Rcon[1]至Rcon[10]的值;
步骤A-3-2,与不同Rcon值异或0001111111111取决于(j/4)的值,8比特数据除4运算是将该数据右移两位得到,假如j的值为b7b6b5b4b3b2b1b0,则右移出的两位b1b0即为除4的余数,右移之后的值在高位补0即为除4取整的值,即为00b7b6b5b4b3b2,量子线路构造除4运算,用辅助比特|0>补高两位,右移操作可用SWAP门实现;硬件电路实现除4运算,可用低电平代替辅助比特|0>,移位操作,需在布线时将输入按照移位后的顺序输出。
其中,所述步骤A-3-1中辅助比特|0>以及|1>初始化已知的输入值In为Rcon[1]的值。
具体说,AES硬件加密系统的量子秘钥扩展模块的实现方法包括以下步骤:
所述量子秘钥扩展模块通过函数算法,实现将128位种子秘钥排列成的4个32比特的字扩展成44个32比特的字的操作,该算法最终得到的44个字记为W[j](0<=j<=43),若j%4=0,则w[j]=w[j-4]⊕g(w[j-1]),否则w[j]=w[j-4]⊕w[j-1];其中g()代表一个函数,g函数的主要步骤包括循环左移、S盒置换、Rcon异或;
步骤A,g函数的实现;
所述步骤A还包括如下步骤:
步骤A-1,W[j]循环左移8比特;
由于W[j]是由4个8比特字节B0,B1,B2,B3构成,将W循环左移8比特就是将B0,B1,B2,B3循环左移一位得到B1,B2,B3,B0,量子线路构造左移操作用量子SWAP门可以实现,对于该步骤量子线路的硬件实现,8比特电子线路总线可表示8比特量子线路总线,移位操作,需在布线时将输入按照移位后的顺序输出。
步骤A-2,分别对每个字节B1,B2,B3,B0做S盒置换;
所述步骤A-2采用量子字节替换;将有限域GF(28)上的数据B1,B2,B3,B0变换到其复合域GF((24)2)中,并在复合域上进行求逆操作之后,将数据再变换回有限域上,最后再进行可逆的仿射变换,便可完成量子字节替换操作;
步骤A-3,将W[j]与32比特的常量(Rcon[j/4],0,0,0)进行异或;
Rcon是一个一维数组,Rcon[1]=0x01;Rcon[i]=Rcon[i-1]*(02)(乘2是基于有限域上的乘法);由于128位的秘钥只需扩展10轮,所以4<=j<=43,则1<=j/4<=10,所以Rcon数组只需计算Rcon[1]至Rcon[10]的值;
所述步骤A-3还包括以下步骤;
步骤A-3-1,将Rcon[1]值带入乘2运算,构造八根量子线,用辅助比特|0>以及|1>初始化已知的输入值In,也就是Rcon[1]的值,输入值In初始化后,将8根量子线简化为一根总线,然后用9个U器件实现乘2运算的量子线路进行级联,分别求得Rcon[1]至Rcon[10]的值;
步骤A-3-2,与不同Rcon值异或取决于(j/4)的值,8比特数据除4运算可通过将该数据右移两位得到,假如j的值为b7b6b5b4b3b2b1b0,则右移出的两位b1b0即为除4的余数,右移之后的值在高位补0即为除4取整的值,也就是00b7b6b5b4b3b2,量子线路构造除4运算,用辅助比特|0>补高两位,右移操作可用SWAP门实现,硬件电路实现除4运算,可用低电平代替辅助比特|0>,移位操作,需在布线时将输入按照移位后的顺序输出。
步骤A-4,简化g函数电路;
为了简化电路将步骤A-1、步骤A-2、步骤A-3三步用量子线路及硬件电路所综合构造的g函数,将g函数封装成G器件。
步骤B,秘钥扩展算法的整体实现;
由于种子秘钥表示为W[0]至W[3],所以扩展求得的是W[4]至W[43],若j%4=0,则w[j]=w[j-4]⊕g(w[j-1]),否则w[j]=w[j-4]⊕w[j-1];其中g(w[j-1])表示将w[j-1]经g函数处理之后得到的数据,量子线路实现该算法时,异或可用CNOT门实现,g函数上文已经实现,用G器件表示,硬件线路实现该整体算法时有异或门可直接使用。
本发明未经描述的技术特征可以通过或采用现有技术实现,在此不再赘述,当然,上述说明并非是对本发明的限制,本发明也并不仅限于上述举例,本技术领域的普通技术人员在本发明的实质范围内所做出的变化、改型、添加或替换,也应属于本发明的保护范围。
Claims (2)
1.一种用于AES硬件加密系统的量子秘钥扩展模块的实现方法,其特征在于,所述方法根据秘钥扩展算法,将若干量子逻辑门、量子逻辑线路通过量子加密的运算规则进行级联,构造出能实现秘钥扩展功能的量子线路,之后再转化为电子线路构成量子秘钥扩展模块;
所述量子秘钥扩展模块通过对128位的种子秘钥进行操作,将128位AES种子秘钥扩展成1408位秘钥,为基于量子线路的AES硬件加密系统中的加解密过程提供秘钥;
所述量子秘钥扩展模块的算法原理为:将128位种子秘钥排列成的4个32比特的字扩展成44个32比特的字的操作,得到44个字,记为W[j],0<=j<=43, 若j%4=0,则w[j]=w[j-4]⊕g(w[j-1]),否则w[j]=w[j-4]⊕w[j-1];
其中g()代表一个函数,g函数的步骤包括循环左移、S盒置换、Rcon异或;
所述AES硬件加密系统的量子秘钥扩展模块的实现方法包括以下步骤:
步骤A,g函数的实现;
步骤B,秘钥扩展算法的实现;
所述步骤A中具体包括以下步骤:
步骤A-1,W[j]循环左移8比特;
步骤A-2,分别对每个字节B1,B2,B3,B0做S盒置换;
步骤A-3,将W[j]与32比特的常量(Rcon[j/4],0,0,0)进行异或;
步骤A-4,g函数电路将步骤A-1、步骤A-2、步骤A-3三步用量子线路及硬件电路构造的g函数封装成G器件;
所述步骤B中秘钥扩展算法为:种子秘钥为W[0]至W[3],扩展求得W[4]至W[43];若j%4=0,则w[j]=w[j-4]⊕g(w[j-1]),否则w[j]=w[j-4]⊕w[j-1];
其中g(w[j-1])表示将w[j-1]经g函数处理之后得到的数据;
量子线路实现该算法时,异或可用控制非门实现,g函数为步骤A中的g函数,使用步骤A-4中所述封装成G器件表示,硬件线路实现整体算法使用异或门及G器件完成;
所述步骤A-1具体为W[j]是由4个8比特字节B0,B1,B2,B3构成,将W循环左移8比特是将B0,B1,B2,B3循环左移一位得到B1,B2,B3,B0;量子线路构造左移操作用量子逻辑交换门实现;对于该步骤量子线路的硬件实现,8比特电子线路总线可表示8比特量子线路总线,移位操作,需在布线时将输入按照移位后的顺序输出;
所述步骤A-3具体为用量子线路构造Rcon数组的生成公式,完成Rcon数组所需值的计算,由于与不同Rcon值异或取决于(j/4)的值,构造除四运算的量子线路,并转化成电子线路;Rcon数组生成公式内容为:Rcon是一个一维数组,Rcon[1]=0x01;Rcon[i]= Rcon[i-1]*(02),128位的秘钥扩展10轮,4<=j<=43,则1<=j/4<=10, Rcon数组计算Rcon[1]至Rcon[10]的值;
所述步骤A-3具体还包括以下步骤:
步骤A-3-1,Rcon数组的生成,用辅助比特|0>以及|1>表示出Rcon[1]的值,初始化第一个输入值In,ln表示Rcon[1]的值,构造9根量子线,第一根量子线的输入为ln,其余输入皆为8位辅助比特|0>, Rcon[i]= Rcon[i-1]*(02),在每条量子线路设置一个表示乘2运算量子线路的U器件,用控制非门将每条量子线级联,分别求得Rcon[1]至Rcon[10]的值;
步骤A-3-2,与不同Rcon值异或取决于(j/4)的值,8比特数据除4运算是将该数据右移两位得到,假如j的值为b7b6b5b4b3b2b1b0,则右移出的两位b1b0即为除4的余数,右移之后的值在高位补0即为除4取整的值,即为00b7b6b5b4b3b2,量子线路构造除4运算,用辅助比特|0>补高两位,右移操作SWAP门实现;硬件电路实现除4运算,低电平代替辅助比特|0>,移位操作,需在布线时将输入按照移位后的顺序输出;
所述步骤A-3-1中辅助比特|0>以及 |1>初始化已知的输入值In为Rcon[1]的值。
2.根据权利要求1所述的AES硬件加密系统的量子秘钥扩展模块的实现方法,其特征在于,所述量子字节替换方法包括以下步骤:
(1)将有限域上数据变换到复合域上,采用公式:,,,,,,,,其中表示有限域上的8位数据,表示有限域上数据变换到复合域上的8位数据,该步骤对8位量子位进行操作,用11个CNOT门实现,采用11个电子线路中的异或门级联构成,对其进行硬件化设置;
(2)对数据在复合域上进行求逆,该步骤针对所述步骤(1)输出的复合域上的8位数据进行操作,其变换公式为:,,,;,,,,其中表示复合域上求逆之前的8位数据,的表达式为,表示对数据在复合域上求逆之后的8位数据,用8个CNOT门和36个Toffi门实现,对其进行硬件化使用电子线路中的异或门和与门构成;
(3):将步骤(2)求逆后复合域上的数据变换回有限域上,其变换公式为:,,,,,,,其中表示步骤(2)中对数据在复合域上求逆之后的8位数据,表示将步骤(2)在复合域上求逆之后的8位数据变换为有限域上的8位数据,该步骤针对步骤(2)求逆后复合域上的8位数据进行操作,用12个CNOT门实现,对其进行硬件化使用12个电子线路中的异或门级联构成;
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910354131.2A CN110113149B (zh) | 2019-04-29 | 2019-04-29 | 一种用于aes硬件加密系统的量子秘钥扩展模块的实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910354131.2A CN110113149B (zh) | 2019-04-29 | 2019-04-29 | 一种用于aes硬件加密系统的量子秘钥扩展模块的实现方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110113149A CN110113149A (zh) | 2019-08-09 |
CN110113149B true CN110113149B (zh) | 2022-02-22 |
Family
ID=67487457
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910354131.2A Active CN110113149B (zh) | 2019-04-29 | 2019-04-29 | 一种用于aes硬件加密系统的量子秘钥扩展模块的实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110113149B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113328849B (zh) * | 2021-05-24 | 2022-07-22 | 清华大学 | 一种密钥获取方法和装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3182638A1 (en) * | 2015-12-18 | 2017-06-21 | ID Quantique S.A. | Apparatus and method for adding an entropy source to quantum key distribution systems |
CN107453868A (zh) * | 2017-09-01 | 2017-12-08 | 中国电子科技集团公司第三十研究所 | 一种安全高效的量子密钥服务方法 |
CN107483196A (zh) * | 2017-09-08 | 2017-12-15 | 中南大学 | 基于连续变量量子密钥分发的数据流加密系统及其实现方法 |
CN108322305A (zh) * | 2018-05-16 | 2018-07-24 | 南通大学 | 用于aes加密硬件系统的量子字节替换硬件模块的实现方法 |
CN108650076A (zh) * | 2018-05-16 | 2018-10-12 | 南通大学 | 基于量子可逆逻辑的aes加密系统硬件模块的实现方法 |
-
2019
- 2019-04-29 CN CN201910354131.2A patent/CN110113149B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3182638A1 (en) * | 2015-12-18 | 2017-06-21 | ID Quantique S.A. | Apparatus and method for adding an entropy source to quantum key distribution systems |
CN107453868A (zh) * | 2017-09-01 | 2017-12-08 | 中国电子科技集团公司第三十研究所 | 一种安全高效的量子密钥服务方法 |
CN107483196A (zh) * | 2017-09-08 | 2017-12-15 | 中南大学 | 基于连续变量量子密钥分发的数据流加密系统及其实现方法 |
CN108322305A (zh) * | 2018-05-16 | 2018-07-24 | 南通大学 | 用于aes加密硬件系统的量子字节替换硬件模块的实现方法 |
CN108650076A (zh) * | 2018-05-16 | 2018-10-12 | 南通大学 | 基于量子可逆逻辑的aes加密系统硬件模块的实现方法 |
Non-Patent Citations (2)
Title |
---|
基于量子可逆逻辑加密算法设计与硬件实现;陈加庆等;《解放军理工大学学报(自然科学版)》;20180404;第1-4页 * |
抗功耗攻击的AES密码算法硬件设计;苑志刚;《中国优秀硕士论文全文数据库》;20141130;第I136-312页 * |
Also Published As
Publication number | Publication date |
---|---|
CN110113149A (zh) | 2019-08-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2005215688A (ja) | S−box演算を用いるハードウェア暗号化/復号化装置及び、その方法 | |
CN112199696B (zh) | 基于白盒分组密码的加解密方法 | |
JP2000252751A (ja) | スペクトル拡散信号発生方法、スペクトル拡散信号発生器、ストリーム暗号化方法、及びストリーム暗号通信方法 | |
CA2414261A1 (en) | Method of encryption using multi-key process to create a variable-length key | |
WO2020168627A1 (zh) | 基于拉链式动态散列和nlfsr的加密解密方法及装置 | |
Pisarchik et al. | Chaotic map cryptography and security | |
CN110120867B (zh) | 一种基于量子可逆线路的aes硬件加密系统的实现方法 | |
CN110113149B (zh) | 一种用于aes硬件加密系统的量子秘钥扩展模块的实现方法 | |
Liu et al. | Constructing strong S-Box by 2D chaotic map with application to irreversible parallel key expansion | |
JP2004258667A (ja) | N個のデジットを含むワードの擬似ランダム置換の生成方法 | |
CN110058842A (zh) | 一种结构可变的伪随机数生成方法及装置 | |
Hashim et al. | Design and implementation of proposed 320 bit RC6-cascaded encryption/decryption cores on altera FPGA | |
Anusha et al. | Symmetric key algorithm in computer security: a review | |
CN107733634A (zh) | 一种基于置换耦合的轻量化混沌认证加密方法 | |
JP2002217898A (ja) | 擬似乱数生成システム | |
Singh et al. | Study & analysis of cryptography algorithms: RSA, AES, DES, T-DES, blowfish | |
CN110086619B (zh) | 密钥流生成方法及装置 | |
Qasim et al. | Encrypt medical image using Csalsa20 stream algorithm | |
KR20010034058A (ko) | 이진 데이터 블록의 암호 변환 방법 | |
KR101076747B1 (ko) | 스트림 모듈의 계층적 트리 구조를 통한 무작위 접근이 가능한 암호화/복호화 방법 및 장치 | |
JP2000075785A (ja) | 高速暗号処理回路および処理方法 | |
CN101335741A (zh) | 认证加密的迦罗瓦计数模式中赫序运算的加速方法与装置 | |
Pal et al. | Composite transposition substitution chaining based cipher technique | |
CN105897396B (zh) | 针对snow 3g加密算法的密码分析方法 | |
RU2140716C1 (ru) | Способ криптографического преобразования блоков цифровых данных |
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 |