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‑2具体为:通过量子字节替换将有限域 上的数据B1,B2,B3,B0变换到其复合域 中,并在复合域上进行求逆后,将数据再变换回有限域上,最后再进行可逆的仿射变换,完成量子字节替换操作;
所述步骤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个电子线路中的异或门级联构成;
(4):对步骤(3)变换后有限域上的数据进行仿射变换,其变换公式为: (1),其中 表示步骤(3)变换后有限域上的数据, 表示对步骤(3)变换后有限域上的数据进行仿射变换后的数据,表示除8取余,该步骤针对步骤(3)变换之后的有限域上的8位数据进行操作,需要制备初始状态为|11000110>的辅助量子位,并使用40个CNOT门实现,对其进行硬件化使用电子线路中的高电平表示量子辅助位|1>,使用低电平来表示量子辅助位|0>,使用异或门来代替CNOT门,通过上面的公式(1)搭建硬件电路。