当前位置: 首页 > 专利查询>山东大学专利>正文

基于分组密码算法和比特切片的GCM优化方法及系统技术方案

技术编号:37158260 阅读:16 留言:0更新日期:2023-04-06 22:21
本发明专利技术公开了基于分组密码算法和比特切片的GCM优化方法及系统,涉及密码算法技术领域。将输入序列通过数据形式转换算法,从标准分组形式转换为比特切片形式。比特切片形式的数据作为分组密码算法的输入,经过多轮函数的迭代运算后,得到仍然是比特切片形式的输出序列。本发明专利技术提出的友好变体省略了在并行分组密码算法输出处的数据形式转换(即后向转换),直接将标准形式下的明文分组与比特切片形式的输出序列进行异或操作,得到密文输出。在保证安全性的前提下,将GCM优化后得到基于比特切片实现的GCM模式的友好变体GCM

【技术实现步骤摘要】
基于分组密码算法和比特切片的GCM优化方法及系统


[0001]本专利技术涉及密码算法
,尤其涉及一种基于分组密码算法和比特切片的GCM优化方法及系统。

技术介绍

[0002]本部分的陈述仅仅是提供了与本专利技术相关的
技术介绍
信息,不必然构成在先技术。
[0003]对于密码算法而言,快速软件实现的策略有很多,最简洁高效的是使用自定义指令集扩展,其中典型的实例是AES的扩展指令集(Advanced Encryption Standard New Instructions,AES

NI)。AES

NI已经被嵌入到许多Intel和AMD的处理器中,显著提高了应用程序在使用AES完成加解密时的速度。对于缺少指令集扩展的密码算法而言,比特切片(bitslicing)技术被认为是快速软件实现的有效策略,它涉及到将密码算法转换成一系列的逻辑比特操作,从而使得n比特的处理器可以同时完成对n个分组的并行加密处理。因此,当目标密码算法的硬件实现复杂度较小且底层处理器有数量较充足的长寄存器时,应用比特切片技术的软件实现能够更高效地完成。
[0004]图1中GCM(Galois/Counter Mode)是由McGrew和Viega设计的一种应用最广泛的认证加密方案,根据分组长度为128比特的分组密码算法构造,例如AES(Advanced Encryption Standard)。它采用Encrypt

then

MAC的模式,即将计数器(CTR)模式与基于分组密码的Wegman

Carter消息认证码(Message Authentication Code,MAC)相结合,其中,MAC采用的是定义在二进制伽罗瓦域的通用散列函数。
[0005]然而专利技术人发现,传统的基于比特切片实现的GCM仍存在不足:对于使用比特切片策略的加密算法而言,执行速度或吞吐量在很大程度上取决于实现加密算法所需的逻辑门的数量,通过最小化逻辑门数对加密算法的比特切片实现进行优化也顺理成章。但是借助比特切片策略时数据在标准分组形式和比特切片形式之间的转换过程中产生的开销同样不可忽略。传统的基于分组密码算法和比特切片的GCM实现经历两次数据形式转换:一次在加密开始前从标准分组形式转换为比特切片形式,一次在加密完成后从比特切片形式转换回标准分组形式。对于加密完成后的转换,由于密文输出总是随机均匀无规律分布的,因此很难进行有针对性的优化。所以说,能够在保证安全性不发生改变的前提下降低两次数据形式转换过程的代价,成为现有技术亟待解决的技术问题。

技术实现思路

[0006]针对现有技术存在的不足,本专利技术的目的是提供一种基于分组密码算法和比特切片的GCM优化方法及系统,在保证安全性的前提下,提供了基于比特切片实现的GCM模式的友好变体GCM
+
,从而减小了数据形式转换在整个认证加密过程中的开销。
[0007]为了实现上述目的,本专利技术是通过如下的技术方案来实现:
[0008]本专利技术第一方面提供了一种基于分组密码算法和比特切片的GCM优化方法,包括
以下步骤:
[0009]对待加密的计数器分组进行数据形式转换;由标准分组形式转换为比特切片形式;
[0010]基于分组密码算法对比特切片形式的计数器分组进行计算;
[0011]计算结果与标准形式下的明文分组进行异或操作,得到密文输出。
[0012]进一步的,将“nonce”部分的长度固定为96比特,将“counter”部分的长度固定为32比特。
[0013]进一步的,待加密的计数器分组的值互不相同。
[0014]进一步的,基于分组密码算法对比特切片形式的计数器分组进行计算具体过程为:比特切片形式的数据作为SM4分组密码算法的输入,经过多轮函数的迭代运算后,得到比特切片形式的输出序列。
[0015]更进一步的,密文输出的具体过程为:直接取寄存器中前后各128比特切片形式的输出序列分别与两个128比特的明文分组异或,产生多个128比特的密文输出。
[0016]进一步的,对于输出的密文,调用有限域乘法获得认证标签。
[0017]更进一步的,调用基于有限域乘法的哈希函数,把密文输出压缩成一定长度的认证标签以保证完整性。
[0018]本专利技术第二方面提供了一种基于分组密码算法和比特切片的GCM优化系统,包括:
[0019]数据转换模块,被配置为对待加密的计数器分组进行数据形式转换;由标准分组形式转换为比特切片形式;
[0020]分组密码模块,被配置为基于分组密码算法对比特切片形式的计数器分组进行计算;
[0021]密文输出模块,被配置为计算结果与标准形式下的明文分组进行异或操作,得到密文输出。
[0022]本专利技术第三方面提供了一种介质,其上存储有程序,该程序被处理器执行时实现如本专利技术第一方面所述的基于分组密码算法和比特切片的GCM优化方法中的步骤。
[0023]本专利技术第四方面提供了一种设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的程序,所述处理器执行所述程序时实现如本专利技术第一方面所述的基于分组密码算法和比特切片的GCM优化方法中的步骤。
[0024]以上一个或多个技术方案存在以下有益效果:
[0025]本专利技术公开了一种基于分组密码算法和比特切片的GCM优化方法,在比特切片的实现中,需要将输入序列通过数据形式转换算法,从标准分组形式转换为比特切片形式。比特切片形式的数据作为分组密码算法的输入,经过多轮函数的迭代运算后,得到仍然是比特切片形式的输出序列。本专利技术提出的友好变体省略了在并行分组密码算法输出处的数据形式转换(即后向转换),直接将标准形式下的明文分组与比特切片形式的输出序列进行异或操作,得到密文输出。在保证安全性的前提下,将GCM优化后得到基于比特切片实现的GCM模式的友好变体GCM
+,
从而减小了数据形式转换在整个认证加密过程中的开销。
[0026]本专利技术认证加密模式的友好变体GCM
+
的安全性较原GCM不会发生变化,是因为并行分组密码算法的输出,无论是按照标准分组的形式还是比特切片的形式,都应当是随机均匀分布的,因此最终与128比特标准分组形式的明文异或得到的128比特的密文输出也应
当是随机随机均匀分布的。另外,得到密文输出后,调用基于有限域乘法的哈希函数,把密文输出压缩成一定长度的认证标签以保证完整性。
[0027]本专利技术附加方面的优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本专利技术的实践了解到。
附图说明
[0028]构成本专利技术的一部分的说明书附图用来提供对本专利技术的进一步理解,本专利技术的示意性实施例及其说明用于解释本专利技术,并不构成对本专利技术的不当限定。
[0029]图1为现有GCM的加密过程流程图;
[0030]图2为本专利技术实施例一计数器分组组本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于分组密码算法和比特切片的GCM优化方法,其特征在于,包括以下步骤:对待加密的计数器分组进行数据形式转换;由标准分组形式转换为比特切片形式;基于分组密码算法对比特切片形式的计数器分组进行计算;计算结果与标准形式下的明文分组进行异或操作,得到密文输出。2.如权利要求1所述的基于分组密码算法和比特切片的GCM优化方法,其特征在于,将“nonce”部分的长度固定为96比特,将“counter”部分的长度固定为32比特。3.如权利要求1所述的基于分组密码算法和比特切片的GCM优化方法,其特征在于,待加密的计数器分组的值互不相同。4.如权利要求1所述的基于分组密码算法和比特切片的GCM优化方法,其特征在于,基于分组密码算法对比特切片形式的计数器分组进行计算具体过程为:比特切片形式的数据作为SM4分组密码算法的输入,经过多轮函数的迭代运算后,得到比特切片形式的输出序列。5.如权利要求4所述的基于分组密码算法和比特切片的GCM优化方法,其特征在于,密文输出的具体过程为:直接取寄存器中前后各128比特切片形式的输出序列分别与两个128比特的明文分组异或,产生多个128比特的密文输出。6.如权利要求1所述的基于分组密...

【专利技术属性】
技术研发人员:王伟嘉苗鑫郭淳
申请(专利权)人:山东大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1