一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种SM9标识密码算法扩域求逆的优化实现方法与流程

2022-07-01 23:01:45 来源:中国专利 TAG:

一种sm9标识密码算法扩域求逆的优化实现方法
技术领域
1.本发明涉及安全技术领域,尤其涉及一种sm9标识密码算法扩域求逆的优化实现方法。


背景技术:

2.sm9是国家密码管理局发布的一种基于标识的密码算法,其算法的核心主要利用了椭圆曲线上双线性对的特性。在双线性对的计算过程中,会涉及到大量的基域和12次扩域中的运算。12次扩域中的数据可通过不同结构的塔式扩张得到,如1-2-4-12的扩张方式,1-2-6-12的扩张方式,1-3-6-12的扩张方式。任何一次扩域上的计算都会涉及到求逆运算,且需要大量的基域运算做为基础。因此,需要设计一种扩域求逆的快速算法来增强计算效率。


技术实现要素:

3.针对上述现有技术中存在的不足,本发明的目的是一种sm9标识密码算法扩域求逆的优化实现方法:利用扩域共轭的性质,对扩域数据进行降维;使用待定系数的数学方法,将sm9标识密码算法中3次扩域求逆运算转换为基域求逆运算以及少量的基域加法和乘法运算。因此,能从较大程度上降低扩域求逆运算的计算量。
4.为了达到上述技术目的,本发明所采用的技术方案是:
5.一种sm9标识密码算法扩域求逆的优化实现方法,所述优化实现方法的具体步骤如下:
6.第一步:将sm9标识密码算法中12次扩域数据表达为1-3-6-12的塔式扩张方式,若原数据为1-3-6-12的塔式扩张方式,则该步骤省略;
7.第二步:利用sm9标识密码算法中扩域共轭性质,将上述12次扩域数据降维为6次扩域数据,6次扩域数据降维为3次扩域数据;利用待定系数的数学方法,将3次扩域求逆转换为基域求逆和基域运算。
8.第三步:若原数据为1-3-6-12的塔式扩张方式,则该步骤省略;若原数据非1-3-6-12的塔式扩张,则按照上述第一步中的方式进行塔式扩张方式转换。
9.本发明由于采用了上述利用sm9标识密码算法中扩域共轭的性质,对扩域数据进行降维,将12次扩域数据的求逆转换为3次扩域数据的求逆,所获得的有益效果是,在3次扩域的求逆运算中,采用了待定系数的数学方法,将3次扩域求逆转换为基域求逆和基域运算。因此,从整体上说,将12次扩域求逆问题转换为基域求逆和基域运算,从而降低了计算量,提升了运算效率。
10.下面结合附图和具体实施方式对本发明做进一步说明。
附图说明
11.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现
有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
12.图1是本发明具体实施的sm9标识密码算法扩域求逆的优化实现方法流程图。
具体实施方式
13.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
14.为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
15.参看图1,为本发明具体实施的sm9标识密码算法扩域求逆的优化实现方法流程图。
16.第一步:将12次扩域数据表达为1-3-6-12的扩张方式。若原数据为1-3-6-12的塔式扩张方式,则该步骤省略;若原数据非1-3-6-12的塔式扩张方式,则按照下述的对应方式进行数据转换。
17.记α为12次扩域中的数据,αi,i=0,1,......11为基域中的数据,根据推导可以得出,对于同一个12次扩域中的数据α,不同塔式扩张方式之间的对应方式为:
[0018][0019][0020]
第二步:利用扩域共轭的性质,将12次扩域数据降维为6次扩域数据,6次扩域数据降维为3次扩域数据。因此,将12次扩域求逆转换为3次扩域求逆。利用待定系数的数学方
法,将3次扩域求逆转换为基域求逆和基域运算;从整体上看,将12次扩域求逆转换为基域求逆和基域运算。
[0021]
基于有限域fq的1-3-6-12的塔式扩张结构可以表示为:
[0022]
(1)
[0023]
(2)
[0024]
(3)
[0025]
在此塔式扩张的结构上,进行后续的计算。
[0026]
令α=β1w β0,其中,α为12次扩域数据,β1和β0为6次扩域数据。则α的共轭α
*
=-β1w β0。那么,
[0027][0028]
则有,12次扩域数据和其共轭相乘,降维为6次扩域数据。
[0029]
记其中,β为6次扩域数据,γ1和γ0为3次扩域数据。同理12次扩域的推导,β和其共轭β
*
相乘的结果为:
[0030][0031]
则有,6次扩域数据和其共轭相乘,降维为3次扩域数据。
[0032]
记其中,γ为3次扩域数据,a,b,c为基域数据。γ和其共轭γ
*
相乘的结果为:
[0033]
γγ
*
=(au2 bu c)(au
2-bu c)=-b2u
2-2a2u c2[0034]
则,3次扩域数据和其共轭相乘未达到降维的目的。因此,在3次扩域中,本发明中采用待定系数法来求解3次扩域中的求逆运算。记γ-1
=xu2 yu z,其中x,y,z均为基域数据,根据γγ-1
=1(mod q),可以得到方程:
[0035]
az by cz≡0(mod q)
[0036]
bz cy-2ax≡0(mod q)
[0037]-2(ay bx) cz≡1(mod q)
[0038]
求解上述方程可以得到,
[0039]
x=-ab(b
2-ac)/a[2(b
2-ac)
2-(bc 2a2)(c2 2ab)]
[0040]
y=ab(bc-2a2)/a[2(b
2-ac)
2-(bc 2a2)(c2 2ab)]
[0041]
z=-(b2(bc 2a2)-bc(b
2-ac))/a[2(b
2-ac)
2-(bc 2a2)(c2 2ab)]
[0042]
通过求解三元一次方程可以看到,可将3次扩域求逆运算转换为计算基域数据z的模逆以及基域加法和乘法。
[0043]
因此,通过上述推导可以得出,α-1
=α
*
β
*
γ-1
。在整个计算过程中,通过扩域降维,将12次扩域求逆转换为1次12次扩域乘法,1次6次扩域乘法,1次基域模逆,以及基域加法和乘法的操作,提高了计算效率。与此同时,在整体计算过程中,主要涉及的为基域运算,占用的内存比较小,适用于内存资源受限的设备。
[0044]
总结上述计算步骤为:
[0045]
(1)获取α
*
[0046]
(2)获取β
*
[0047]
(3)计算αα
*
=β;
[0048]
(4)计算ββ
*
=γ=au2 bu c;
[0049]
(5)计算-ab(b
2-ac),记为a;
[0050]
(6)计算ab(bc 2a2),记为b;
[0051]
(7)计算-(b2(bc 2a2)-bc(b
2-ac)),记为c;
[0052]
(8)计算a[2(b
2-ac)
2-bc 2a2)(c2 2ab)]记为d;
[0053]
(9)利用用费尔马小定理,计算d的逆d-1
=d
q-2

[0054]
(7)计算γ-1
=(au2 bu c)d-1

[0055]
(8)α-1
=α
*
β*γ-1

[0056]
第三步:若原数据为1-3-6-12的塔式扩张方式,则该步骤省略;若原数据非1-3-6-12的塔式扩张,则按照上述第一步中的方式进行塔式扩张方式的转换。
[0057]
以上对本发明所提供的一种sm9标识密码算法扩域求逆的优化实现方法,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
[0058]
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
[0059]
还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备所固有的要素,或者是还包括为这些过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0060]
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献