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

密钥数据处理方法和电子设备与流程

2022-03-23 02:35:08 来源:中国专利 TAG:


1.本技术涉及信息安全领域,尤其涉及一种密钥数据处理方法和电子设备。


背景技术:

2.在经典公钥密码算法中,作为安全保障的实际计算困难问题,随着计算机性能的提高,其难解性将大大降低。目前,shor于1997年提出的著名的shor量子算法,可以分别在多项式时间内进行大整数的因数分解和离散对数的计算,一些公司也已宣称其设计的量子计算系统已经实现或正在实现;这意味着基于误差校正码(error correcting code,ecc)等算法建立的公钥密码协议将不再安全。


技术实现要素:

3.有鉴于此,本技术提供一种密钥数据处理方法和电子设备,旨在通过引入辫群的米海洛瓦(mihailova)子群的结构,取这些子群中元素去生成私钥,利用其子群成员问题不可解性去建立能抵抗各种攻击的公钥密码加密方法,解决现有公钥加密方法中存在安全性隐患的问题。
4.为了实现上述目的,第一方面,本技术实施例提供一种密钥数据处理方法,应用于第一设备,包括:
5.确定指数n≥6的辫群bn,所述辫群bn包括多个生成元;
6.从所述辫群bn中选取两个mihailova子群p和q,其中,所述子群p和所述子群q不可交换,所述子群p和所述子群q的子群成员问题是不可解的;
7.根据所述辫群bn、哈希函数、所述子群p以及所述子群q生成密钥对,所述密钥对包括私钥和公钥,所述私钥为所述子群p中的元素x,所述公钥包括:n、所述子群q、所述哈希函数以及多个第一共轭元素,每个所述第一共轭元素由一个所述生成元和所述元素x确定,所述公钥用于确定加密密钥,所述私钥用于确定解密密钥。
8.作为本技术实施例一种可选择的实施方式,h:bn→
{0,1}k,其中k为大于或等于预设值的自然数,h表示所述哈希函数。
9.作为本技术实施例一种可选择的实施方式,所述密钥数据处理方法还包括:
10.接收来自第二设备的密文以及多个第二共轭元素,所述第二共轭元素用于确定所述解密密钥;
11.根据所述元素x和多个所述第二共轭元素,确定所述解密密钥;
12.根据所述解密密钥和所述哈希函数解密所述密文,得到明文。
13.作为本技术实施例一种可选择的实施方式,所述元素x=f1(σ1,σ2,

,σ
n-1
),所述根据所述元素x和多个所述第二共轭元素,确定所述解密密钥,包括:
14.将f1(σ1,σ2,

,σ
n-1
)中的σi替换为bi,得到f1(b1,b2,

,b
n-1
),i=1,2,

,n-1,bi表示多个所述第二共轭元素中标识为i的所述第二共轭元素;
15.根据公式kb=x-1
f1(b1,b2,

,b
n-1
)确定所述解密密钥,其中,kb表示所述解密密
钥。
16.作为本技术实施例一种可选择的实施方式,所述第一设备具有多种密钥对生成方式,所述密钥数据处理方法还包括:
17.确定所述第一设备与第二设备的通信安全等级,不同的所述通信安全等级对应不同的密钥对生成方式,不同的所述密钥对生成方式对应的从所述辫群bn中选取所述子群p和所述子群q的规则不同;
18.根据所述第一设备与所述第二设备的通信安全等级所确定的密钥对生成方式,从所述辫群bn中选取两个mihailova子群p和q。
19.作为本技术实施例一种可选择的实施方式,所述根据所述第一设备与所述第二设备的通信安全等级所确定的密钥对生成方式,从所述辫群bn中选取两个mihailova子群p和q,包括:
20.在所述第一设备与所述第二设备的通信安全等级大于或等于预设等级的情况下,根据第一密钥对生成方式,从所述辫群bn中选取所述子群p和所述子群q,所述第一密钥对生成方式为所述第一设备与所述第二设备的通信安全等级对应的所述密钥对生成方式,所述第一密钥对生成方式所对应的规则为:所述子群p和所述子群q满足不可交换。
21.第二方面,本技术实施例提供一种密钥数据处理方法,应用于第二设备,包括:
22.获取公钥,所述公钥包括:n、所述子群q、所述哈希函数以及多个第一共轭元素;
23.根据所述子群q中的元素y,以及多个所述第一共轭元素,确定加密密钥;
24.根据所述哈希函数和所述加密密钥,加密明文m,得到密文。
25.作为本技术实施例一种可选择的实施方式,所述密钥数据处理方法还包括:
26.发送所述密文和多个第二共轭元素,每个所述第二共轭元素由一个所述生成元和所述元素y确定,所述第二共轭元素用于接收方确定解密所述密文的密钥。
27.作为本技术实施例一种可选择的实施方式,所述元素y=f2(σ1,σ2,

,σ
n-1
),所述根据所述子群q中的元素y,以及多个所述第一共轭元素,确定加密密钥,包括:
28.将f2(σ1,σ2,

,σ
n-1
)中的σi替换为ai,得到f2(a1,a2,

,a
n-1
)其中,i=1,2,

,n-1;ai表示多个所述第一共轭元素中标识为i的所述第一共轭元素;
29.根据公式ka=(y-1
f2(a1,a2,

,a
n-1
))-1
确定所述加密密钥,其中ka为所述加密密钥。
30.第三方面,本技术实施例提供一种电子设备,包括:存储器和处理器,存储器用于存储计算机程序;处理器用于在调用计算机程序时执行上述第一方面或第二方面的任一实施方式所述的方法。
31.第四方面,本技术实施例提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述第一方面或第二方面的任一实施方式所述的方法。
32.第五方面,本技术实施例提供一种计算机程序产品,当计算机程序产品在电子设备上运行时,使得电子设备执行上述第一方面或第一方面的任一实施方式所述的方法。
33.第六方面,本技术实施例提供一种系统,该系统包括:第一设备和第二设备,其中,第一设备用于执行上述第一方面或第一方面的任一实施方式所述的方法,第二设备用于执行上述第二方面或第二方面的任一实施方式所述的方法。
34.本技术实施例提供的技术方案,通过第一设备可以建立指数为n≥6的辫群bn,选
取bn的2个不可交换的米海洛瓦子群p和子群q,从子群p中选取元素x作为私钥,将n、子群q、哈希函数h和根据元素x得到的bn中每个生成元的共轭元素作为公钥发送给第二设备;第二设备可以从公钥的q中选取元素y,并计算加密密钥ka,根据h与ka对明文m进行加密得到密文c,并将密文c与根据x得到的bn每个生成元的共轭元素发送给第一设备;第一设备可以根据接收到的共轭元素计算解密密钥kb,根据h与kb对密文c进行解密得到明文m,采用这种方法生成的密钥对,由于该方法中子群p和q的子群成员问题是不可解的,且子群p和子群q不可交换,因此基于该密钥对中的公钥对进行数据加密后,攻击者无法获得辫群bn中的元素s和t,使得s-1
σis=y-1
σiy,t-1
σit=x-1
σit,i=1,2,

,n-1,即攻击者无法破解该加密数据,所以能够很好地解决现有加密方法中存在安全性隐患的问题,提高数据传输的安全性。
附图说明
35.图1为本技术实施例提供的密钥数据处理方法的流程示意图;
36.图2为本技术实施例提供的电子设备的结构示意图。
具体实施方式
37.下面对本技术实施例进行描述。本技术实施例的实施方式部分使用的术语仅用于对本技术的具体实施例进行解释,而非旨在限定本技术。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。
38.图1为本技术实施例提供的密钥数据处理方法的流程示意图,如图1所示,该方法可以包括密钥对生成过程、加密过程和解密过程。其中,密钥对生成过程和解密过程的执行主体可以为第一设备,加密过程的执行主体可以为第二设备。
39.具体地,密钥对生成过程可以包括如下步骤:
40.s110、第一设备建立指数为n≥6的辫群bn。
41.其中,辫群bn的元素以集合{σ1,σ2,

,σ
n-1
}上代表元素的具有唯一性的正规形式的字表示,辫群bn基于正规形式的群的乘积运算和求逆运算是能行可计算的。
42.辫群bn可以是由如下呈示所定义的群:
43.bn=《σ1,σ2,...,σ
n-1
|σiσj=σjσi,|i-j|≥2,σiσ
i 1
σi=σ
i 1
σiσ
i 1
,1≤i≤n-2》
44.s120、第一设备选取哈希函数h和辫群bn的两个米海洛瓦子群p和q。
45.其中,p和q不可交换,p和q的子群成员问题是不可解的。
46.具体地,可以选取哈希函数h:bn→
{0,1}k,其中,k为哈希函数输出的字节,选取的哈希函数不同,输出的字节k也不同,根据选取的哈希函数,输出字节可以是128、256等。
47.米海洛瓦子群p和q可以通过如下过程确定:
48.确定辫群bn的一个与f2×
f2同构的子群li,即由σ
i2
,σ
i 12
,σ
i 32
,σ
i 42
生成的两个秩为2的自由群的直积同构的子群:
49.li=《σ
i2
,σ
i 12
,σ
i 32
,σ
i 42
》,i=1,2,

,n-5
50.再由两个元素生成有限呈示群r,其中,有限呈示群r的字问题不可解;然后基于有限呈示群r构造li的一个米海洛瓦子群mi。米海洛瓦子群mi的子群成员问题是不可解的,米海洛瓦子群mi的56个生成元可以为:
51.σ
i2
σ
i 32
,σ
i 12
σ
i 42
,s
ij
,t
ij
,j=1,2,

,27
52.27个s
1j
为:
[0053][0054][0055][0056][0057][0058][0059][0060][0061][0062][0063][0064][0065][0066][0067][0068][0069][0070]
[0071][0072][0073][0074][0075][0076][0077][0078]
[0079][0080]
将上述每个s
1j
中的σ1换为σi,σ2换为σ
i 1
,即得所有的s
ij
,将上述每个s
1j
的σ1换为σ
i 3
,σ2换为σ
i 4
,即得所有的t
ij

[0081]
p和q可以是根据米海洛瓦子群mi的56生成元得到的2个不可交换的米海洛瓦子群,且p和q中存在至少一个元素不可交换。
[0082]
s130、第一设备从p中选取元素x作为私钥,将(n,q,h,a1,a2,

,a
n-1
)作为公钥。
[0083]
具体地,可以从辫群bn的米海洛瓦子群p中选取任意元素x作为私钥,其中,x=f1(σ1,σ2,

,σ
n-1
)。
[0084]
在确定出私钥x后,可以根据x计算辫群bn中每个生成元的共轭元素(此处为第一共轭元素):a1=x-1
σ1x,a2=x-1
σ2x,

,a
n-1
=x-1
σ
n-1
x。
[0085]
则生成的公钥可以为(n,q,h,a1,a2,

,a
n-1
)。
[0086]
可以理解的是,在生成密钥对之前,可以先确定第一设备与第二设备的通信安全等级,不同的通信安全等级可以对应不同的密钥对生成方式,不同的密钥对生成方式对应的从辫群bn中选取p和q的规则可以不同。
[0087]
在第一设备与第二设备的通信安全等级大于或等于预设等级的情况下,第一设备与第二设备的通信安全等级对应的密钥对生成方式可以为第一生成方式,第一生成方式指示从辫群bn中选取子群p和子群q的规则可以为:所选择的子群不可交换。
[0088]
在第一设备与第二设备的通信安全等级小于预设等级的情况下,第一设备与第二设备的通信安全等级对应的密钥对生成方式可以为第二生成方式,第二生成方式指示从辫群bn中选取子群p和子群q的规则可以为:所选择的子群可交换。
[0089]
s140、第一设备向第二设备发送公钥。
[0090]
第一设备在生成密钥对之后,可以向第二设备发送公钥(n,q,h,a1,a2,

,a
n-1
)。
[0091]
第一设备可以在生成密钥对之后,主动向第二设备发送公钥,也可以是第二设备从第一设备处请求公钥,第一设备可以验证第二设备的身份,在第二设备的身份认证通过的情况下,将公钥发送给第二设备。
[0092]
在一些实施例中,第一设备也可以将公钥发送给第三设备(例如密钥中心),第二设备可以从第三设备获取第一设备的公钥。
[0093]
可以理解的是,第一设备可以单独向第二设备发送公钥,也可以向指定的几个设备发送公钥,指定的几个设备中包含第一设备,也可以以广播的形式发送公钥。
[0094]
加密过程可以包括如下步骤:
[0095]
s210、第二设备接收公钥。
[0096]
s220、第二设备确定待加密的明文m。
[0097]
待加密的明文可以是经过二进制转换的字符串,也可以是未经过二进制转换的英文字母、数字、英文字母与数字的组合或者其他的一些特殊字符等,接收的公钥为(n,q,h,a1,a2,

,a
n-1
)。
[0098]
s230、第二设备从公钥的q中选取元素y,并根据元素y和公钥中的共轭元素确定加
密密钥ka。
[0099]
具体地,可以从公钥中的米海洛瓦子群q中选取任意元素y,记为y=f2(σ1,σ2,

,σ
n-1
);然后可以将表达式y=f2(σ1,σ2,

,σ
n-1
)中σi替换为公钥中σi的共轭元素ai,i=1,2,

,n-1;再基于替换结果计算加密密钥ka,具体的计算过程如下所示:
[0100]
ka=(y-1
f2(a,a2,

,a
n-1
))-1
=(y-1
f2(x-1
σ1x,x-1
σ2x,

,x-1
σ
n-1
x))-1
=(y-1
x-1
f2(σ1,σ2,

,σ
n-1
)x)-1
=(y-1
x-1
yx)-1
=x-1
y-1
xy。
[0101]
s240、第二设备根据哈希函数h和加密密钥ka,对明文m进行加密运算,得到密文c。
[0102]
具体地,可以从公钥中获取到哈希函数h后,采用该哈希函数h对加密密钥ka进行哈希加密后,再将加密结果与明文m进行异或运算,得到密文c=h(ka)

m。
[0103]
在一些实施例中,也可以将加密结果与明文m进行幂的运算等其他运算,得到密文,本实施例中以基于异或运算得到密文为例进行示例性说明。
[0104]
s250、第二设备向第一设备发送密文数据(c,b1,b2,

,b
n-1
)。
[0105]
其中,b1,b2,

,b
n-1
为根据y确定的辫群bn中每个生成元的共轭元素(此处为第二共轭元素),b1=y-1
σ1y,b2=y-1
σ2y,

,b
n-1
=y-1
σ
n-1
y。
[0106]
解密过程可以包括如下步骤:
[0107]
s310、第一设备接收密文数据。
[0108]
s320、第一设备根据密文数据和预先确定的私钥x确定解密密钥kb。
[0109]
具体地,可以将表达式x=f1(σ1,σ2,

,σ
n-1
)中的σi替换为密文数据中σi的共轭元素bi,i=1,2,

,n-1;然后基于替换结果计算解密密钥kb,具体的计算过程如下所示:
[0110]
kb=x-1
f1(b1,b2,

,b
n-1
)=x-1
f1(y-1
σ1y,y-1
σ2y,

,y-1
σ
n-1
y)=x-1
y-1
f1(σ1,σ2,

,σ
n-1
)y=x-1
y-1
xy。
[0111]
s330、第一设备根据解密密钥kb和预先确定的公钥中的哈希函数h对密文数据中的密文c进行解密,得到明文m。
[0112]
具体地,根据哈希函数h对解密密钥kb进行哈希运算后,再将哈希运算结果与密文c进行异或运算,得到明文m=h(ka)

c。
[0113]
在一些实施例中,也可以将哈希运算结果与密文c进行幂的运算等其他运算,得到明文,本实施例中以基于异或运算得到明文为例进行示例性说明。
[0114]
由于ka=x-1
y-1
xy=kb,m的计算过程如下:
[0115]
m=h(ka)

c=h(ka)

(h(kb)

m)=(h(ka)

h(kb))

m=m
[0116]
即,经过解密后得到的明文m与加密前的明文m相同。
[0117]
下面对本技术提供的密钥数据处理方法的安全性进行分析。
[0118]
首先介绍安全性分析所涉及的子群成员问题。
[0119]
子群成员问题:给定群g的一个生成元集为x的子群s,判定g中任意元素g是否可由x上的字代表,即判定g是否为s中的元素。
[0120]
假若第三方试图攻击本协议,第三方只能通过协议双方的公开信息{σ1,σ2,

,σ
n-1
},{n,q,h,a1,a2,

,a
n-1
}(ai=x-1
σix,i=1,

,n-1)以及通过信道获得的{b1,b2,

,b
n-1
}(bi=y-1
σiy,i=1,

,n-1)实施攻击。如果第三方能得到bn的元素s和t使得
[0121]
s-1
σis=y-1
σiy,t-1
σit=x-1
σix,i=1,2,

,n-1,
[0122]
令s=cy,t=dx(其中c,d为bn的某个元素),那么有
[0123]
s-1
σis=(cy)-1
σicy=y-1
c-1
σicy=y-1
σiy,i=1,2,

,n-1
[0124]
从而有c-1
σic=σi,i=1,2,

,n-1
[0125]
即c与每一个σi乘法可交换。由于bn由σ1,σ2,

,σ
n-1
所生成,c是bn中心的元素。而bn的中心是由δ2所生成的无限循环子群《δ2》,其中
[0126]
δ=σ1σ2…
σ
n-1
σ1σ2…
σ
n-2

σ1σ2σ3σ1σ2σ1[0127]
从而c是《δ2》的元素。同理,d也是《δ2》的元素。由于《δ2》是bn的中心,而σ
i2
《δ2》,σ
i 12
《δ2》,σ
i 32
《δ2》和σ
i 42
《δ2》生成的商群bn/《δ2》的子群与σ
i2
,σ
i 12
,σ
i 32
和σ
i 42
生成bn的子群同构,从而也是秩为2的自由群。故子商群(mi《δ2》)/《δ2》也是商群bn/《δ2》的米海洛瓦子群,故(mi《δ2》)/《δ2》的子群成员问题也是不可解的。从而攻击者如果能获得bn的元素s和t使得
[0128]
s-1
σis=y-1
σiy,t-1
σit=x-1
σit,i=1,2,

,n-1,
[0129]
那么s=cy,t=dx,c,d∈《δ2》,故在商群bn/《δ2》中有s《δ2》=y《δ2》和t《δ2》=x《δ2》。即攻击者在商群bn/《δ2》中必须找到米海洛瓦子群(mi《δ2》)/《δ2》中元素y《δ2》和x《δ2》。由于(mi《δ2》)/《δ2》的子群成员问题是不可解的,故不存在算法使得攻击者能成功获得y《δ2》和x《δ2》,从而也不存在算法使得攻击者能成功获得所需的s和t。
[0130]
本领域技术人员可以理解,以上实施例是示例性的,并非用于限定本技术。在可能的情况下,以上步骤中的一个或者几个步骤的执行顺序可以进行调整,也可以进行选择性组合,得到一个或多个其他实施例。本领域技术人员可以根据需要从上述步骤中任意进行选择组合,凡是未脱离本技术方案实质的,都落入本技术的保护范围。
[0131]
本技术实施例提供的技术方案,通过第一设备可以建立指数为n≥6的辫群bn,选取bn的2个不可交换的米海洛瓦子群p和q和哈希函数h,从p中选取元素x作为私钥,将q和根据x得到的bn中每个生成元的共轭元素作为公钥发送给第二设备;第二设备可以从公钥的q中选取元素y,并计算加密密钥ka,根据h与ka对明文m进行加密得到密文c,并将密文c与根据x得到的bn每个生成元的共轭元素发送给第一设备;第一设备可以根据接收到的共轭元素计算解密密钥kb,根据h与kb对密文c进行解密得到明文m,实现数据的安全加解密过程。由于该技术方案中子群p和q的子群成员问题是不可解的,且p和q不可交换,所以不存在算法使得攻击者获得bn中的元素s和t,使得s-1
σis=y-1
σiy,t-1
σit=x-1
σit,i=1,2,

,n-1,因此能够很好地解决现有加密方法中存在安全性隐患的问题,提高数据传输的安全性。
[0132]
基于同一发明构思,本技术实施例还提供了一种电子设备。图2为本技术实施例提供的电子设备的结构示意图,如图2所示,本实施例提供的电子设备包括:存储器210和处理器220,存储器210用于存储计算机程序;处理器220用于在调用计算机程序时执行上述方法实施例所述的方法。
[0133]
电子设备可以是计算机,也可以是智能手机、平板电脑、便携计算机等具有数据处理功能的终端设备,本实施例对此不做限定。
[0134]
本实施例提供的电子设备可以执行上述方法实施例,其实现原理与技术效果类似,此处不再赘述。
[0135]
本技术实施例还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述方法实施例所述的方法。
[0136]
本技术实施例还提供一种计算机程序产品,当计算机程序产品在电子设备上运行
时,使得电子设备执行实现上述方法实施例所述的方法。
[0137]
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
[0138]
应当理解,当在本技术说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
[0139]
在本技术的描述中,除非另有说明,“/”表示前后关联的对象是一种“或”的关系,例如,a/b可以表示a或b;本技术中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况,其中a,b可以是单数或者复数。
[0140]
并且,在本技术的描述中,除非另有说明,“多个”是指两个或多于两个。“以下至少一项”或其类似表达,是指的这些项中的任意组合,包括单项或复数项的任意组合。例如,a,b,或c中的至少一项,可以表示:a,b,c,a-b,a-c,b-c,或a-b-c,其中a,b,c可以是单个,也可以是多个。
[0141]
如在本技术说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
[0142]
另外,在本技术说明书和所附权利要求书的描述中,术语“第一”、“第二”、“第三”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。
[0143]
在本技术说明书中描述的参在本技术说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本技术的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。
[0144]
最后应说明的是:以上各实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述各实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的范围。
再多了解一些

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

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

相关文献