【技术实现步骤摘要】
一种简单安全的群元数乘和幂运算的计算方法及系统
[0001]本专利技术属于密码
,特别是一种简单安全的针对资源受限装置的加法群元数乘运算(标量乘运算、倍加运算)和乘法群元幂运算的计算方法及系统。
技术介绍
[0002]在密码运算(主要是公钥密码算法的密码运算)中常常要进行加法群中群元的数乘运算(标量乘运算、倍加运算)或乘法群中群元的幂运算,而这常常涉及复杂的大数运算,比如,在基于椭圆曲线点群的密码算法中,常常要进行kG数乘运算,其中G是椭圆曲线加法点群中的一个元(点),k是一个随机选择的、其值可能非常大的整数,计算kG涉及大数计算,计算量大,而且k通常是需要保密的数;再比如,在一些密码运算中(比如基于双线配对的密码算法),常常要进行g
k
幂运算,其中g是一个乘法群中的一个元,比如,其可能是一个非常大的整数,k是一个随机选择的、其值可能非常大的整数,因此,计算g
k
涉及大数运算,计算量大,而且k通常是需要保密的数。
[0003]随着物联网的发展,越来越多的微小装置智能化,并接入到网路。出于安全保护功能的需要,这些智能化的微小装置(如无限传感器、智能穿戴设备、现场仪表等)可能需要进行密码运算,而这些微小装置通常是资源受限的装置,计算能力弱,它们实时进行这种复杂的、涉及大数运算的加法群元数乘或乘法群元幂运算是比较困难,很难在期望的时间内完成有关的计算,这样就限制了密码算法(尤其是公钥密码算法)在这些微小智能装置中的应用。
[0004]针对此问题,专利技术CN2017 ...
【技术保护点】
【技术特征摘要】
1.一种群元数乘运算的计算方法,其特征是:所述方法涉及第一方和第二方以及阶为素数n的加法群,其中第一方为资源受限、计算能力弱的装置,第二方为资源丰富、计算能力强的装置;第一方预先保存有G
h
=[ha
‑1]G,G
b
=[(ba)
‑1]G,其中h、b、a为[1,n
‑
1]内的第一方的整数秘密,G为阶为素数n的加法群中的元,[]表示加法群元的数乘运算符;当第一方需要计算G
k
=[k]G时,其中k为[1,n
‑
1]内的第一方的保密整数,第一方计算c=b(ak
‑
h),将c、G
b
提交给第二方;第二方计算G
c
=[c]G
b
;第一方或第二方或其他方计算G
k
=G
c
+G
h
,则G
k
即为[k]G;以上a和b中的一个的取值允许为非保密的常数;以上使用h,b,a,k的整数运算是模运算或模n同余运算。2.根据权利要求1所述的群元数乘运算的计算方法,其特征是:第一方更新h、b、G
h
、G
b
的一种方法如下:第一方在[1,n
‑
1]内随机选择一个整数r,以ra
‑1或(ra)
‑1作为k采用所述加法群元数乘运算的计算方法计算得到G
r
=[ra
‑1]G或G
r
=[(ra)
‑1]G,然后以r作为h或b的新值,相应地以G
r
作为G
h
或G
b
的新值;在G
r
计算过程中采用的h,b,a,G
h
,G
b
与非更新计算过程中采用的h,b,a,G
h
,G
b
是同一组数据或不同一组数据。3.根据权利要求1所述的群元数乘运算的计算方法,其特征是:第一方更新h、b、G
h
、G
b
的一种方法如下:在完成一个G
k
计算后,第一方用ka替代h,用G
k
替代G
h
,或者用(ka)
‑1替代b,用G
k
替代G
b
。4.根据权利要求1
‑
3中任一项所述的群元数乘运算的计算方法,其特征是:若第一方维护有m组数据h
i
,b
i
,a
i
,G
hi
=[h
i
(a
i
)
‑1]G,G
bi
=[(b
i
a
i
)
‑1]G,其中h
i
,b
i
,a
i
为[1,n
‑
1]内的第一方的整数秘密,i=1,
…
,m,m≥2,以及有G
h
=G
h1
+
…
+G
hm
,则针对上述加法群元数乘运算的计算方法的一种安全增强方案如下:当第一方需要计算G
k
=[k]G时,其中k为[1,n
‑
1]内的第一方的保密整数,第一方将k随机分解为[1,n
‑
1]内的m个整数k
i
,i=1,
…
,m,且k=k1+
…
+k
m
;第一方计算c
i
=b
i
(a
i
k
i
‑
h
i
),将c
i
、G
bi
,i=1,
…
,m,提交给第二方;第二方计算G
ci
=[c
i
]G
bi
,i=1,
…
,m,计算G
c
=G
c1
+
…
+G
cm
;第一方或第二方或其他方计算G
k
=G
c
+G
h
,则G
k
即为[k]G;以上所述使用h
i
,b
i
,k
i
的整数运算是模运算或模n同余运算。5.基于权利要求4所述的群元数乘运算的计算方法的群元数乘运算的计算系统,其特征是:所述系统包括两个装置,其中一个为称为第一方的资源受限、计算能力弱的装置,另一个为称为第二方的资源丰富、计算能力强的装置;当第一方需要进行加法群元数乘运算时,所述第一方和第二方按所述加法群元数乘运算的计算方法计算得到加法群元数乘运算的结果。6.一种群元幂运算的计算方法,其特征是:所述方法涉及...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。