一种抗量子广义Lai-Massey结构的轻量级分组密码实现方法及系统

摘要: 本发明属于密码学与信息安全,具体涉及一种抗量子广义lai-massey结构的轻量级分组密码实现方法及系统。背景技术:1、随着后量子时代与物联网技术的快速发展,智...
一种抗量子广义Lai-Massey结构的轻量级分组密码实现方法及系统

本发明属于密码学与信息安全,具体涉及一种抗量子广义lai-massey结构的轻量级分组密码实现方法及系统。

背景技术:

1、随着后量子时代与物联网技术的快速发展,智慧家居、工业物联网、智能医疗、车联网等场景得到广泛普及,海量资源受限的物联网终端产生的数据安全防护需求愈发迫切。量子计算技术不断突破,grover量子搜索算法可将对称分组密码穷举搜索的复杂度由o(2ⁿ)降低至o(2^(n/2)),对传统对称分组密码造成显著威胁;同时物联网终端在算力、电路面积、功耗、能耗等方面受到严格约束,对轻量级分组密码提出了抗量子攻击与低硬件开销的双重严苛要求。

2、值得注意的是,grover搜索攻击的实际代价不仅取决于密钥长度,还高度依赖被攻击密码在量子计算机上的电路实现复杂度,尤其是其预言机电路的t深度(t-depth)等指标。轻量级分组密码主流设计结构包括feistel结构、spn结构与lai-massey结构,现有算法多聚焦经典计算场景下的硬件优化,其采用的s盒往往在经典指标上最优、但量子电路实现深度很低,在grover预言机中实现代价低廉、抗量子搜索能力不足。其中,多数低时延spn型密码(如prince、qarma、midori)要求每一轮变换均可逆,需在解密数据通路上额外实现逆抗量子s盒、逆线性层等逆模块,显著增加电路面积;广义feistel结构虽允许轮函数不可逆、灵活性较好,但随分组规模增大会产生级联逻辑堆叠、单轮临界路径延迟增加;传统lai-massey结构扩散性较好,但存在硬件开销偏高、且具有固有的概率为1的差分等缺陷。

3、目前后量子场景下轻量级分组密码算法存在的问题:

4、(1)针对量子攻击(尤其是grover搜索攻击)在电路实现层面进行专项强化的轻量级密码设计严重不足,难以在资源受限条件下提供充分的后量子安全冗余;

5、(2)现有密码结构难以在保持高扩散性、硬件高效性的同时实现量子抗性提升,难以平衡量子安全、资源消耗与运算效率三者之间的核心矛盾。

6、为此,研究一种基于广义lai-massey结构、搭载抗量子s盒的轻量级分组密码实现方法及系统,解决现有算法抗量子能力不足、难以兼顾安全与资源效率的缺陷,同时满足后量子时代物联网设备的低硬件开销需求,实有必要。

技术实现思路

1、本发明提供一种抗量子广义lai-massey结构的轻量级分组密码实现方法及系统,旨在解决现有轻量级分组密码抗量子攻击能力不足、加解密硬件复用率低、以及高扩散性与低时延难以兼顾的缺陷,在保持低硬件开销的情况下实现量子抗性提升与加解密硬件高度复用。

2、本发明提供的技术方案如下:

3、一方面,一种抗量子广义lai-massey结构的轻量级分组密码实现方法,包括如下步骤:

4、获取明文或密文,并按序均分为多个16位并行子块,再按序将并行子块两两划分为多个并行子块对;

5、设置初始密钥,基于初始密钥执行轮密钥扩展操作得到第一轮运算的子密钥,并利用每一轮的子密钥对各并行子块对应的明文或密文执行nr轮加密运算或解密运算得到对应的密文或明文,其中,前一轮的加密或解密结果作为后一轮加密或解密运算的输入,前一轮轮密钥扩展操作的结果作为后一轮轮密钥扩展操作的输入;

6、若是加密运算,每一轮加密运算是对各并行子块对应的明文进行改进的广义lai-massey结构的加密操作;所述改进的广义lai-massey结构采用多路并行架构,对每一并行子块对依次执行零和组合、轮函数操作、异或操作、子块更新以及跨对置换;

7、其中,零和组合是指并行子块对的两个并行子块进行零和组合操作,得到的结果作为轮函数的输入数据;异或操作是指每一并行子块对的两个并行子块分别与对应轮函数输出结果执行异或操作;子块更新是指将并行子块对中低位并行子块经过异或操作后的的异或操作结果执行循环左移以及对高位并行子块经过异或操作后的异或操作结果执行抗量子s盒替换后,再进行并行子块对内交叉替换;跨对置换是指在更新后的并行子块对之间交换并行子块;

8、若是解密运算,按与加密运算相反的轮顺序对密文逐轮执行解密变换;每一轮解密变换利用所述广义lai-massey结构的对合性,复用与加密运算相同的轮函数完成逆运算,且各轮子密钥逆序使用,并将所述抗量子s盒替换替换为抗量子s盒逆替换、将子块更新中的循环左移替换为循环右移、将所述跨对置换替换为其逆置换;

9、其中,所述轮函数依次包括循环左移、轮密钥加、抗量子s盒替换和mixcolumn线性变换;第1至nr轮解密运算所用的子密钥与第nr至1轮加密运算所得的子密钥一一对应。

10、传统lai-massey型密码多采用左、右两分支串行处理、单条非线性路径依次完成替换与扩散,扩散速度受限于串行延迟,且具有概率为1的固有差分;多数低时延spn型密码(如prince、qarma、midori)要求每轮可逆,需在解密通路上额外实现逆模块;广义feistel结构则随分组增大产生级联逻辑堆叠。本发明技术方案在此基础上实现了多重改进——其一,将全局状态划分为多个相互独立的并行子块对,各并行子块对的轮函数被实例化为深度相同的全并行路径,使单轮临界路径仅由单个轮函数决定并与分组长度解耦,避免了广义feistel的级联堆叠;其二,利用零和反馈的对合性()使轮函数始终正向、加/解密复用同一数据通路,仅需逆序使用子密钥并反转移位方向即可完成解密,无需新增逆模块;其三,在lai-massey反馈之后引入类feistel的跨对置换扩散层(64位方案交换子块更新后的与),以仅连线代价打破子块对隔离、在极少轮数内实现媲美spn的全局扩散;其四,在分支上额外施加抗量子s盒替换,破除lai-massey固有的概率1差分,使每轮在串联方向上包含两层抗量子s盒。这种“并行解耦、对合复用、跨对扩散、双层非线性”的协同结构设计,使抗量子s盒的高电路深度得以在资源约束下被结构充分吸收并按轮数放大,是本领域技术人员难以从现有轻量级设计范式自然导出的。

11、子块更新:以64位分组方案为例,设并行子块更新前为(,,,),两个并行子块对分别为(,)和(,),其中、为并行子块对中的低位并行子块,、为并行子块对中的高位子块;设两个并行子块对的轮函数输出结果分别为、;子块更新后排序为,其中:(低位并行子块更新值,经抗量子s盒替换后赋值给 ), 4(高位并行子块更新值,经循环左移后赋值给),(低位子块更新值,经抗量子s盒替换后赋值给), 4(高位子块更新值,经循环左移后赋值给);子块更新后的并行子块排序为(,,,);所述循环左移为对16位并行子块对整体执行的循环左移4位;各并行子块对均采用相同的重排与循环移位规则。

12、进一步的,所述抗量子s盒替换采用的s盒是基于反向优化策略设计,采用如下替换规则:

13、x = {0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f}

14、s[x] = {7,d,9,2,5,e,1,b,8,c,4,0,a,f,3,6}

15、其中,x为十六进制0至f中的任一数值,s[x]表示所述抗量子s盒替换的非线性映射关系;所述抗量子s盒替换的差分均匀度为4、非线性度为4、代数次数为3,量子电路t深度为6。

16、进一步的,所述跨对置换是在不同并行子块对之间按预定路由规则交换并行子块,以打破子块对隔离、实现全局扩散;

17、64位分组明文或密文,子块更新后并行子块排序为(,,,),跨对置换后并行子块排序为(,,,),,置换规则为交换与,即、、、,得到置换后的并行子块排序为(,,,);

18、128位分组明文或密文,设子块更新后并行子块排序为(,,,,,,,),跨对置换规则为将8个并行子块首尾串联成环并沿同一方向整体移动一个位置,即、、、、、、、,得到置换后的并行子块排序为(,,,,,,,)。

19、128位分组方案由于本身扩散性低于64位分组方案,为进一步增强扩散效果,采用不同的跨对置换方法;

20、进一步的,所述广义lai-massey结构的轮函数运算过程如下:

21、若为加密运算,所述轮函数的加密操作的过程如下:

22、c1:对零和组合值执行循环左移4位,对零和组合值执行循环左移8位;

23、c2:将循环移位结果与本轮子密钥的对应分段执行轮密钥加操作;

24、c3:对轮密钥加结果执行抗量子s盒替换;

25、c4:对抗量子s盒替换结果执行二元近mds矩阵的mixcolumn线性变换,得到各并行子块对的轮函数输出、;

26、若为解密运算,所述轮函数复用与加密运算完全相同的正向运算,仅子密钥逆序使用、不作求逆,过程如下:

27、c1:对轮函数输入零和组合值、执行与加密运算完全相同的正向轮函数运算,即依次执行循环左移、轮密钥加、抗量子s盒替换和mixcolumn线性变换,其中轮密钥加采用逆序使用的本轮子密钥,得到轮函数输出、。

28、进一步的,所述mixcolumn线性变换采用hail算法提出的4×4二元近mds矩阵,其中j为全1矩阵、i为单位矩阵,m的分支数为4。

29、所述mixcolumn线性变换通过计算输入的4个半字节,,,的全局异或和,再令、、、实现,、、、为所述mixcolumn线性变换的输出。

30、进一步的,加密运算前执行初始预处理操作:对64位明文划分的4个16位并行子块中,并行子块、执行抗量子s盒替换,并行子块、执行循环左移4位;

31、对128位明文划分的8个16位子块中,并行子块、、、执行抗量子s盒替换,并行子块、、、执行循环左移4位;

32、相应地,解密运算结束时执行所述初始预处理操作的逆操作,即对相应并行子块执行抗量子s盒逆替换并将循环左移改为循环右移。

33、预处理通过将子块经抗量子s盒替换、循环左移,是的在首轮前引入混淆与扩散,弥补广义lai-massey结构首轮扩散不足的问题;同时预处理中的s盒与轮函数中s盒串联,额外增加grover预言机的高t深度s盒消耗,进一步抬高量子攻击迭代成本。

34、进一步的,所述轮密钥扩展操作不含轮常数,依次包括主密钥分组、循环移位、字循环置换、抗量子s盒替换和子密钥提取操作;每一轮的轮密钥扩展操作包括以下步骤:

35、b1:将128位初始密钥按序分为4个32位字、、、;

36、b2:对字执行循环左移8位,得到临时字temp;

37、b3:按、、、对各字执行循环置换;

38、b4:对字的全部8个半字节执行抗量子s盒替换,并将替换后的字作为本轮32位子密钥,其高16位与低16位分别参与两个轮函数的轮密钥加运算。

39、进一步的,所述初始密钥的长度为128位;所述明文和密文分为两种规格:64位分组划分为4个16位并行子块,128位分组划分为8个16位并行子块;其中,64位分组方案的迭代轮数nr为18,128位分组方案的迭代轮数nr为20;每一轮子密钥的长度为32位,其高16位与低16位分别参与不同轮函数的轮密钥加运算。

40、第二方面,一种基于抗量子广义lai-massey结构的轻量级分组密码实现方法的抗量子轻量级分组密码系统,包括:

41、初始密钥设置模块,用于设置128位初始密钥;

42、分组获取模块,用于获取明文或密文,并按序均分为对应数量的16位并行子块;

43、轮密钥扩展模块,用于基于初始密钥执行轮密钥扩展操作得到每一轮运算的子密钥;

44、加/解密运算模块,用于基于对应每一轮的子密钥对各并行子块对执行nr轮加密运算或解密运算得到对应的密文或明文;

45、其中,若为加密运算,每一轮执行广义lai-massey结构的变换,将各并行子块两两组成并行子块对,对每一并行子块对依次执行零和组合、轮函数、异或操作、子块更新,接着对更新后的各并行子块对执行跨对置换;若为解密运算,按与加密运算相反的轮顺序逐轮求逆,复用加密运算的轮函数并逆序使用子密钥,将抗量子s盒替换替换为抗量子s盒逆替换、将子块更新中的循环左移替换为循环右移、将所述跨对置换替换为其逆置换。

46、第三方面,一种计算机可读存储介质,存储了计算机程序,所述计算机程序被处理器调用以实现上述抗量子广义lai-massey结构的轻量级分组密码实现方法的步骤。

47、与现有方法相比,本发明的优点有:

48、1、本发明提出一种改进型广义lai-massey融合结构,区别于传统feistel、spn及原始lai-massey结构。现有基于lai-massey结构的轻量级密码多采用左、右两分支串行处理,扩散速度受限于串行延迟;本发明将全局状态划分为多个相互独立的并行子块对,各子块对的轮函数被实例化为深度相同的全并行路径,单轮临界路径仅由单个轮函数决定并与分组长度解耦,避免了广义feistel的级联堆叠;同时在lai-massey反馈之后引入仅连线代价的跨对置换扩散层,打破子块对隔离,实现快速全局雪崩,全扩散能力媲美标准spn。实验表明,qhail64在2轮内、qhail128在6轮内即达到理想雪崩状态,qhail64在2轮、qhail128在4轮内达到全扩散,远在其18轮、20轮的总轮数之内,安全裕量约15轮。此外,借助结构的对合性(),解密复用与加密完全相同的正向轮函数与跨对扩散层,仅需逆序使用子密钥并改变移位方向,无需新增逆模块电路,大幅节省物联网设备的硬件资源与能耗。

49、2、本发明采用基于反向优化策略设计的4×4抗量子s盒。区别于传统轻量级抗量子s盒仅追求经典硬件门数最小化的设计惯例,本发明将量子电路实现成本作为独立优化目标,在保证非线性度4、差分均匀度4、代数次数3等经典密码学安全特性的同时,刻意将量子电路t深度提升至6,使grover搜索攻击的预言机量子资源消耗显著增加,为轻量级密码的量子安全评估引入了新的设计维度。需要强调的是,该抗量子s盒的收益依赖于广义lai-massey融合结构的协同设计:由于该结构将除抗量子s盒以外的所有部件压缩为单层异或或纯连线,抗量子s盒成为临界路径上唯一刻意消耗时延的环节,同时结构快速的全局扩散使在较少轮数内即可达到充分扩散,为高t深度抗量子s盒提供了时序容纳空间,使抗量子s盒的高量子成本按轮数放大至整个算法的grover攻击成本中。若仅将该抗量子s盒简单替换至无对合结构的现有可逆密码,加密与解密将各自需要独立的逆抗量子s盒电路,导致面积与能耗反而上升,与轻量化目标背道而驰。正是结构对合性与抗量子s盒的协同设计,使抗量子能力的提升得以在资源约束下充分释放,这种耦合协同优于单点改进的特性具有非显而易见性。

50、3、本发明的线性层完全由纯异或网络构建,mixcolumn采用4×4二元近mds矩阵(分支数4、无有限域乘法),实现为浅层异或奇偶树,配合仅连线的跨对置换,使除抗量子s盒外的所有部件均压缩为单层异或或纯连线,显著降低逻辑深度与临界路径延迟;密钥扩展无需专门更新逻辑、无轮常数,仅通过字循环置换、循环移位与复用轮函数抗量子s盒在线生成子密钥,硬件开销极低。在轮级架构下,qhail64达到355.56 kbit/s的吞吐率与1652.48 ge的面积,吞吐面积比为0.215 mbps/µm²;qhail128的吞吐面积比更高达0.239mbps/µm²,能耗低至6.35 pj/bit。经milp等工具的完整安全性评估表明,本发明在全轮范围内不存在有效的差分、线性特征,并对高阶差分、积分区分、不可能差分、代数攻击及中间相遇攻击均具有充分的安全裕量,在经典与后量子两种威胁模型下均能提供良好的安全保障。