CN114070550B - 一种信息处理方法、装置、设备和存储介质 - Google Patents
一种信息处理方法、装置、设备和存储介质 Download PDFInfo
- Publication number
- CN114070550B CN114070550B CN202010762069.3A CN202010762069A CN114070550B CN 114070550 B CN114070550 B CN 114070550B CN 202010762069 A CN202010762069 A CN 202010762069A CN 114070550 B CN114070550 B CN 114070550B
- Authority
- CN
- China
- Prior art keywords
- communication
- terminal
- key
- value
- encryption
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 230000010365 information processing Effects 0.000 title claims abstract description 26
- 238000003672 processing method Methods 0.000 title claims abstract description 12
- 238000004891 communication Methods 0.000 claims abstract description 295
- 238000000034 method Methods 0.000 claims abstract description 75
- 230000003993 interaction Effects 0.000 claims abstract description 20
- 238000012545 processing Methods 0.000 claims abstract description 14
- 238000012795 verification Methods 0.000 claims description 80
- 230000006870 function Effects 0.000 claims description 29
- 238000004364 calculation method Methods 0.000 claims description 20
- 239000013598 vector Substances 0.000 claims description 20
- 230000008569 process Effects 0.000 description 17
- 238000010586 diagram Methods 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 125000004122 cyclic group Chemical group 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- JDFUJAMTCCQARF-UHFFFAOYSA-N tatb Chemical compound NC1=C([N+]([O-])=O)C(N)=C([N+]([O-])=O)C(N)=C1[N+]([O-])=O JDFUJAMTCCQARF-UHFFFAOYSA-N 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/085—Secret sharing or secret splitting, e.g. threshold schemes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/065—Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种信息处理方法、装置、设备和存储介质,涉及信息安全技术领域,以提高信息的安全性。该方法包括:生成通信本端和通信对端之间的共享密钥;根据所述共享密钥和与所述通信对端的本次数据加密交互对应的随机信息,生成通信本端的会话密钥;根据所述通信本端的会话密钥,生成通信本端的串流密钥;利用所述通信本端的串流密钥,对本次数据进行处理。本发明实施例可提高信息的安全性。
Description
技术领域
本发明涉及信息安全技术领域,尤其涉及一种信息处理方法、装置、设备和存储介质。
背景技术
目前,利用加解密技术做数据保护的模式可分为对称式加密与非对称式的加密技术两大类。对称式加密技术,加解密时双方仅使用一把共同的密钥,优点是具有运算能力快、资源开销低的优点,但缺点在于如果一旦密钥被窃取,则所有传输的数据加解密都会因此被破解。非对称式加密技术,其优点在于利用密码技术产生所谓的公钥(Public Key)及私钥(Private Key)两把密钥。发送者传送数据时会在发送端将数据先以接收者所公开的公钥执行加密。加密的数据传送到接收端时,接收者再用自己的私钥来解密。这种方式虽然比对称式加密更安全,但仍有可能会因为产生接收者或发送者密钥管理不当而遭密钥被盗取的危险。因此,结合对称式和非对称式加密技术的优点,开发混合式公开密码系统,成为密码学领域一个主要方向。
现有的混合式公开密码系统包括背包公钥密码系统、椭圆曲线密码系统(Elliptic Curve Cryptosystem,ECC)等。但是,这些系统的安全性都无法满足用户高安全性的需求。因此,需要提出一种方案,以提高信息的安全性。
发明内容
本发明实施例提供一种信息处理方法、装置、设备和存储介质,以提高信息的安全性。
第一方面,本发明实施例提供了一种信息处理方法,包括:
生成通信本端和通信对端之间的共享密钥;
根据所述共享密钥和与所述通信对端的本次数据加密交互对应的随机信息,生成通信本端的会话密钥;
根据所述通信本端的会话密钥,生成通信本端的串流密钥;
利用所述通信本端的串流密钥,对本次数据进行处理。
第二方面,本发明实施例提供了一种信息处理装置,包括:
第一生成模块,用于生成通信本端和通信对端之间的共享密钥;
第二生成模块,用于根据所述共享密钥和与所述通信对端的本次数据加密交互对应的随机信息,生成通信本端的会话密钥;
第三生成模块,用于根据所述通信本端的会话密钥,生成通信本端的串流密钥;
第一处理模块,用于利用所述通信本端的串流密钥,对本次数据进行处理。
第三方面,本发明实施例还提供一种电子设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的程序,所述处理器执行所述程序时实现如上第一方面所述的方法中的步骤。
第四方面,本发明实施例还提供一种可读存储介质,所述可读存储介质上存储程序,所述程序被处理器执行时实现如上第一方面所述的方法中的步骤。
在本发明实施例中,生成通信本端和通信对端之间的共享密钥,并根据所述共享密钥和与所述通信对端的本次数据加密交互对应的随机信息,生成通信本端的会话密钥。由于会话密钥是根据通信本端和通信对端之间的共享密钥和与所述通信对端的本次数据加密交互对应的随机信息得到的,因此,利用本发明实施例获得的会话密钥安全性更高,从而提高了信息传输时的安全性。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的信息处理方法的流程图;
图2是本发明实施例提供的客户端和认证中心的交互示意图;
图3是本发明实施例提供的客户端A和客户端B的交互示意图之一;
图4是本发明实施例提供的客户端A和客户端B的交互示意图之二;
图5是本发明实施例提供的信息处理装置的结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参见图1,图1是本发明实施例提供的加密方法的流程图,应用于加密端,如图1所示,包括以下步骤:
参见图1,图1是本发明实施例提供的密钥生成方法的流程图,如图1所示,包括以下步骤:
步骤101、生成通信本端和通信对端之间的共享密钥。
其中,通信本端和通信对端指的是通信的双方。在本发明实施例中,通信的含义指的是双方进行数据加密交互,包括信息的加密交互,文件的加密交互等等。
例如,通信本端可以指的是加密端,通信对端可以指的是解密端。反之亦可。
具体的,在此步骤中,根据所述通信本端的私钥和获取的所述通信对端的公钥生成通信本端的共享密钥。
其中,利用以下公式计算通信本端的共享密钥:
K=sK2×S1
其中,K表示所述通信本端的共享密钥,sK2表示所述通信对端的私钥,S1表示所述通信本端的公钥。
在步骤101之前,为进一步提高生成的密钥的安全性,所述方法还可包括:
根据获取的所述通信对端的背包值、所述通信对端的公钥、认证中心的公钥和所述通信对端的验证公钥,对所述通信对端进行验证。若对所述通信对端的验证通过,则生成通信本端和通信对端之间的共享密钥。
具体的,在验证的过程中,根据所述通信对端的背包值、所述认证中心的公钥和所述通信对端的验证公钥,生成通信本端的验证密钥。之后,将所述通信本端的验证密钥和所述通信对端的公钥进行比对。若所述通信本端的验证密钥和所述通信对端的公钥一致,则表示对所述通信对端的验证通过。
如果所述通信本端为加密端,通信对端为解密端,按照以下公式生成加密端的验证密钥:
其中,S′表示所述加密端的验证密钥,PKB表示所述解密端的验证公钥,表示所述解密端的背包值,PKCA表示认证中心的公钥;G表示椭圆曲线基点;qax 1表示解密端的验证公钥的横坐标,h()表示哈希函数;
如果所述通信本端为解密端,通信对端为加密端,按照以下公式生成解密端的验证密钥:
其中,S″表示所述解密端的验证密钥,PKA表示所述加密端的验证公钥,表示所述加密端的背包值,PKCA表示认证中心的公钥;G表示椭圆曲线基点;qax表示加密端的验证公钥的横坐标,h()表示哈希函数。
步骤102、根据所述共享密钥和与所述通信对端的本次数据加密交互对应的随机信息,生成通信本端的会话密钥。
一、通信本端是加密端,通信对端是解密端,所述共享密钥为所述加密端的共享密钥:
所述随机信息包括加密端的第一随机数。在此步骤中,根据所述加密端的第一随机数和所述加密端的共享密钥,生成所述加密端的会话密钥。通过这种方式可以看出,由于加密端的会话密钥的生成利用了随机数,因此,利用本发明实施例的方案可进一步提高传输信息的安全性。
其中,加密端根据解密端的中间随机数、所述加密端的时间戳随机数、所述加密端的共享密钥、所述解密端的时间戳随机数以及与所述解密端的时间戳随机数对应的基点,得到所述加密端的第一随机数。
具体的,按照以下方式得到第一随机数:
WA=tATB
TB=RB-KAB
RB=KAB+TB
TB=tBP′
其中,WA表示第一随机数,tA表示加密端的时间戳随机数,tB表示解密端的时间戳随机数,P′表示与所述解密端的时间戳随机数对应的基点,KAB表示加密端的共享密钥,RB表示解密端的中间随机数。
为提高安全性,在本发明实施例中,在步骤102之前,所述方法还包括:
加密端验证第一哈希运算值与第二哈希运算值是否匹配(如是否相等),其中,所述第一哈希运算值是所述解密端计算之后传输给所述加密端的;所述第二哈希运算值是所述加密端自行计算得到的。若所述第一哈希运算值与第二哈希运算值匹配,则生成加密端的会话密钥。
在获得了第一随机数之后,根据所述加密端的第一随机数、所述加密端的背包值以及所述解密端的背包值,得到所述第二哈希运算值。例如,可对所述加密端的第一随机数、所述加密端的背包值以及所述解密端的背包值进行哈希运算,得到所述第二哈希运算值。
其中,可按照如下方式计算所述第二哈希运算值:
其中,Auth(2)表示第二哈希运算值,为加密端的背包值,表示解密端的背包值,WA表示第一随机数,h()表示哈希函数。
为便于解密端对加密端进行验证,在加密端验证第一哈希运算值与第二哈希运算值是否匹配之前,所述方法还可包括:根据所述加密端的时间戳随机数,与所述加密端的时间戳随机数对应的基点以及所述加密端的共享密钥,得到所述加密端的中间随机数,然后,将所述中间随机数发送给所述解密端,所述中间随机数用于由所述解密端计算所述第一哈希运算值。
其中,可按照如下方式计算所述中间随机数:
TA=tAP
RA=KAB+TA
其中,RA表示中间随机数,KAB表示第一所述共享密钥,tA表示所述加密端的时间戳随机数,P表示与所述加密端的时间戳随机数对应的基点。
可选的,在生成加密端的会话密钥之后,所述方法还可包括:根据所述加密端的背包值、所述解密端的背包值以及所述加密端的会话密钥生成第三哈希运算值,并向所述解密端发送所述第三哈希运算值。例如,可对所述加密端的背包值、所述解密端的背包值以及所述加密端的会话密钥进行哈希运算,得到所述第三哈希运算值。
其中,可按照如下方式计算所述第三哈希运算值:
GAB=WA+KAB
其中,Auth(3)表示第三哈希运算值,为加密端的背包值,表示解密端的背包值,GAB表示第一会话密钥,h()表示哈希函数,KAB表示加密端的第一共享密钥,WA表示第一随机数。
二、通信本端是解密端,通信对端是加密端,所述共享密钥为所述解密端的共享密钥:
其中,所述随机信息包括解密端的第二随机数。在生成所述解密端的会话密钥的过程中,所述解密端根据所述解密端的第二随机数和所述解密端的共享密钥,生成所述解密端的会话密钥。通过这种方式可以看出,由于解密端的会话密钥的生成利用了随机数,因此,利用本发明实施例的方案可进一步提高传输信息的安全性。
解密端根据所述加密端的中间随机数、所述解密端的时间戳随机数、所述解密端的共享密钥、所述加密端的时间戳随机数以及与所述加密端的时间戳随机数对应的基点,得到所述解密端的第二随机数,然后,根据所述解密端的第二随机数、根据所述加密端的背包值以及所述解密端的背包值,得到所述第四哈希运算值。例如,可对所述解密端的第二随机数、根据所述加密端的背包值以及所述解密端的背包值进行哈希运算,得到所述第四哈希运算值。
具体的,按照以下方式得到第二随机数:
RA=KAB+TA
TA=tAP
其中,WB表示第二随机数,tB表示解密端的时间戳随机数,tA表示加密端的时间戳随机数,P表示与所述加密端的时间戳随机数对应的基点,KAB′表示解密端的共享密钥,KAB表示加密端的共享密钥,RA表示所述加密端的中间随机数。
其中,可按照如下方式计算所述第四哈希运算值:
其中,Auth(4)表示第四哈希运算值,为加密端的背包值,表示解密端的背包值,WB表示第二随机数,h()表示哈希函数。
为进一步提高安全性,在生成解密端的会话密钥之前,加解密端还可进行相互的验证。具体的,解密端验证第三哈希运算值与第四哈希运算值是否匹配,其中,所述第三哈希运算值是所述加密端计算之后传输给所述解密端的;所述第四哈希运算值是所述解密端自行计算得到的。若所述第三哈希运算值与第四哈希运算值匹配,则生成用于本次数据加密的解密端的会话密钥。
为便于解密端对加密进行验证,在所述验证第三哈希运算值与第四哈希运算值是否匹配之前,所述方法还包括:解密端根据所述解密端的时间戳随机数、与所述解密端的时间戳随机数对应的基点以及所述解密端的共享密钥,得到所述解密端的中间随机数,并将所述中间随机数发送给所述加密端,所述中间随机数用于由所述解密端计算第二哈希运算值。
其中,可按照如下方式计算所述中间随机数:
TB=tBP′
RB=KAB′+TB
其中,RB表示中间随机数,KAB′表示解密端的共享密钥,tB表示所述解密端的时间戳随机数,P′表示与所述解密端的时间戳随机数对应的基点。
此外,为便于加密端对解密端进行验证,所述解密端还可根据所述加密端的中间随机数、所述解密端的会话密钥、所述解密端的共享密钥、所述解密端的时间戳随机数、所述加密端的时间戳随机数、与所述加密端的时间戳随机数对应的基点、所述加密端的背包值以及所述解密端的背包值,得到第一哈希运算值,并向所述加密端发送所述第一哈希运算值。
其中,可按照如下方式计算得到所述第一哈希运算值:
GAB′=WB+KAB′
其中,Auth(1)表示第一哈希运算值,为加密端的背包值,表示解密端的背包值,GAB′表示解密端的会话密钥,KAB′表示解密端的共享密钥,WB表示第二随机数,h()表示哈希函数。
步骤103、根据所述通信本端的会话密钥,生成通信本端的串流密钥。
在此步骤中,将所述通信本端的会话密钥通过线性反馈移位寄存器生成串流式密钥种子。之后,将所述串流式密钥种子和自选随机函数进行运算,得到运算结果。然后,将所述运算结果通过线性反馈移位寄存器生成所述通信本端的串流密钥。
为使得串流密钥每次联机时产生不同的密钥,以通信本端为加密端、通信对端为解密端为例,本发明实施例利用按照上述实施例的方式生成的会话密钥GAB作为密钥种子加密端将会话密钥GAB传送至线性回馈位移缓存器(Linear Feedback Shift Register,LFSR)转换为串流式密钥种子SS,并当作新种子值。假设加密端需要将数据信息加密,为达到安全机制,串流式密钥种子SS先与自选的随机乱数π(PI)混合,通过取位函数随机取得某小数点位作为起始点后,不断加长密钥长度并将数据信息搅乱,得到串流密钥。之后,运用该密钥进行串流加密及解密,确保每次传输的密钥均不相同。具体过程如下:
1、生成串流式密钥种子。
(1)获取会议密钥GAB;
(2)选择一反馈多项式,并计算得到数组SS{i},其中,所选择的反馈多项式,如以下公式所示:
f(x)=1+C1x+C2x2+…CL-1xL-1+CLxl
其中,CL=1,L为反馈多项式的级数,反馈系数Ci(1≤i≤L-1)中不为0的个数称为反馈多项式的项数。
在此,令:L=256、C17、C47、C197、C215、C219、C256=1,其余系数均为0,可得表达式如下所示:
f(x)=1+x17+x47+x197+x215+x219+x256
通过上述过程,可获得多个SS{i}。
最终,得到f(x)=SS{i}。
获得f(x)=SS{i}后,因考虑到密码的长度小于信息长度机率极高,因此,选用一自选随机数π(PI)。该自选随机数目前已知算出约5兆位,近似为无限不循环小数。为使串流加解密密钥长度恒大于信息长度,且避免每次运用π均由小数字后第一位起算,使每次运算基准均不相同,因此,以一取位函式π(i)表示取数的起始位置,确保数据信息搅乱。
之后,将密钥种子与取位函数π(i)混合:
i=0:π(L+i)=π(256)=(5)10=(0101)2
i=0:π(L+i)=π(256)=(5)10=(0101)2
...
i=Len(M)-1:π(L+Len(M)-1)
将SS{i}与π(Len(M)-1)进行XOR运算后,通过LFSR计算可得串流密钥KS2。具体计算公式如下:
为了强化加密速度效能,在本发明实施例中采一次性的XOR运算与密钥加密。串流加密阶段,加密方式如以下公式所示:
解密端可按照上述相同的方式生成解密端的串流密钥。
解密端接收来自加密端的密文加密数据,因考虑须加快解密速度,因此,本发明实施例仅运用一次性的XOR运算来进行解密运算,利用解密端的串流密钥KS1将收到的加密数据进行解密。具体如以下公式所示:
通过该公式,即可解密得到数据M。
步骤104、利用所述通信本端的串流密钥,对本次数据进行处理。
如果所述通信本端为加密端,通信对端为解密端,所述利用所述通信本端的串流密钥,在此步骤中,利用所述加密端的串流密钥和待加密信息进行异或(XOR)运算,得到加密信息。如果所述通信本端为解密端,通信对端为加密端,在此步骤中,利用所述解密端的串流密钥和从所述加密端获得的加密信息进行异或(XOR)运算,得到解密后的信息。
在本发明实施例中,生成通信本端和通信对端之间的共享密钥,并根据所述共享密钥和与所述通信对端的本次数据加密交互对应的随机信息,生成通信本端的会话密钥。由于会话密钥是根据通信本端和通信对端之间的共享密钥和与所述通信对端的本次数据加密交互对应的随机信息得到的,因此,利用本发明实施例获得的会话密钥安全性更高,从而提高了信息传输时的安全性。
此外,在执行本发明实施例之前,通信本端还可与认证中心进行认证、注册等。
具体的,通信本端从认证中心获得所述认证中心的背包公钥向量和认证中心公钥。之后,利用所述认证中心的背包公钥向量、所述通信本端的身份信息和所述通信本端的装置标识符,得到所述通信本端的背包值。其中,所述身份信息可以包括姓名,身份证号,电话号码等。然后,利用所述通信本端的背包值,生成所述通信本端的签名文件。最后,向所述认证中心发送所述通信本端的背包值和所述签名文件。
在实际应用中,通信本端可按照以下公式,利用所述认证中心的背包公钥向量、所述通信本端的身份信息和所述通信本端的装置标识符,得到所述通信本端的背包值,包括:
CID=a1m1+a2m2+…+anmn
其中,CID表示所述通信本端的背包值,为所述认证中心的背包公钥向量,ID表示所述通信本端的身份信息,ID={id‖UID},id表示所述通信本端的身份认证信息,UID表示所述通信本端的装置标识符,(ID)2=m1,m2…mn,mi∈{0,1},(ID)2为身份信息ID的二元n进位形式。
具体的,通过以下公式,利用所述通信本端的背包值,生成所述通信本端的签名文件,包括:
V=h(ja‖CID)·G
其中,V表示所述通信本端的签名文件,ja表示随机数,CID表示所述通信本端的背包值,G表示椭圆曲线基点,h()表示哈希函数。
在本发明实施例中,为进一步提高安全性,所述通信本端还可从所述认证中心获取所述通信本端的验证公钥和所述通信本端的签章。之后,根据所述通信本端的签章和所述通信本端的背包值,生成所述通信本端的私钥。然后,利用所述通信本端的私钥对所述通信本端的验证公钥进行验证。
具体的,通过以下公式,利用所述通信本端的签章和所述通信本端的背包值,生成所述通信本端的私钥,包括:
SK=[W+h(ja‖CID)]
其中,SK表示所述通信本端的私钥,W表示所述通信本端的签章,ja表示随机数,CID表示所述通信本端的背包值,h()表示哈希函数。
在对认证中心的公钥进行验证的过程中,按照如下方式认证:
(1)利用所述通信本端的私钥和从所述认证中心获取的椭圆曲线基点,得到第一值;
其中,所述第一值通过以下公式获得:
Sp=SK·G
其中,Sp表示所述第一值,SK表示所述通信本端的私钥,G表示所述椭圆曲线基点。
(2)利用所述通信本端的验证公钥、所述通信本端的背包值、所述通信本端的验证公钥的纵坐标、和所述认证中心的公钥,得到第二值。
其中,Sp表示所述第一值,SK表示所述通信本端的私钥,G表示所述椭圆曲线基点;
所述第二值通过以下公式获得:
Sq=PK+h(CID)·G+(qay+h(CID))·PKCA
其中,Sq表示所述第二值,PK表示所述通信本端的验证公钥,G表示所述椭圆曲线基点,qay表示所述通信本端的认证公钥的纵坐标,CID表示所述通信本端的背包值,h()表示哈希函数,PKCA表示所述认证中心的公钥。
(3)将所述第一值和所述第二值进行匹配。
(4)若所述第一值等于所述第二值,则表示所述通信本端的验证公钥验证通过。
以下,结合具体实施例对本发明实施例的上述方案做详细说明。假设客户端A和客户端B进行数据交互,其中,客户端A或者客户端B均可作为加密端,那么,另一端即为解密端。如果客户端A和客户端B的身份互换,那么实现原理相同。
一、客户端与认证中心进行注册及验证的过程
认证中心选择一个长度为224bits以上大质数q,并在一个有限域Fq上选取一条安全的椭圆曲线E(Fq),在E(Fq)上选取一阶数(order)为n的基点G,使得n·G=o。其中,o为本发明实施例中选用的椭圆曲线系统无穷远点。另外,给定一个单向无碰撞的哈希函数h()。其中,认证中心公钥为PKcA,以及向客户端公开参数:E(Fq)、G、n、PKcA、h()。
具体的,认证中心选取一随机参数SKCA∈zq,且将SKCA设置为认证中心私钥,zq表示整数集。认证中心按照下述公式(1)计算认证中心公钥。
PKcA=SKCA·G (1)
认证中心随机选取任一超递增背包向量任意选取两个背包向量其中,ui,vi,均为正整数且满足bi=ui+vi,,i=1,…,n。
认证中心任选两个整数M1和M2,满足并满足GCD(M1,M2)=1。认证中心利用中国余式定理计算向量 其中,ai=ui(mod M1),ai=vi(mod M2),i=1,…,n。
之后,认证中心向客户端发送背包公钥向量并将M1和M2设置为认证中心的私钥。认证中心本身设置随机标识符UIDM。
访问控制是数据安全防护的第一关,如果保存的资料不需要通过任何身份验证就可以轻易拿到,这些数据即暴露在高风险环境中。因此,加强注册及验证阶段的安全机制十分必要。在进行认证及注册的过程中,结合图2,该过程可具体包括:
首先,客户端及认证中心均设置已选定符合条件的随机背包的模块及安全椭圆曲线模块(内建识别)。当客户端A向认证中心注册时,客户端A向认证中心取得认证中心的公钥以及客户端A的背包公钥向量,并以背包公钥向量加密身份信息idA及装置标识符UIDA,计算得到背包值并产生签名文件,再以认证中心的公钥加密后传送至认证中心。
其中,所述身份信息例如可以包括姓名,身份证号,电话,客户端名称等。获得的身份信息IDA为:IDA={idA‖UIDA}。
接着,客户端A将份信息IDA转换为二元n进位形式:
(IDA)2=m1,m2…mn,mi∈{0,1}
之后,客户端A将(IDA)2=m1,m2…mn利用背包公钥向量 进行加密,得到客户端A的背包值
认证中心接收到加密的后,计算IDA,并建立关联参数注册。
令b=cp+cq,由b和超递增背包向量认证中心便可恢复出身份IDA,m1是二进制表示的最高位,mn是二进制表示的最低位。
在客户端A侧,客户端A利用背包值及随机选取的一个参数ja,通过单向无碰撞哈希函数h()产生签名文件VA。之后,将产生的发送给认证中心,其中,VA的计算方式如公式(2)。
认证中心利用一随机参数kCA计算客户端A的验证公钥PkA及签章wA,计算方式如下:
其中,(qax,qay)表示客户端A的验证公钥的坐标。
之后,认证中心将PKA,WA发送给客户端A。
客户端A在收到上述信息之后,计算客户端A的私钥,具体如公式(3):
为了验证加密端的验证公钥,客户端A进行如下处理:
计算Sp,其中,Sp=SKA·G (4)。
再利用下述公式(5)计算SKA·G:
将公式(4)和公式(5)的值进行比较,若二者一致,则通过对加密端的验证公钥的认证,完成与认证中心之间的注册与验证。
客户端A计算私钥并验证公钥的合法性,同时完成注册与验证作业。所有客户端都可按照上述过程完成与认证中心之间的注册与验证程序,取得自身的(Wm,PKm)后,在后续通信阶段即可在不依赖认证中心的情形下,直接完成双方的自我认证。
假设客户端A和客户端B之间需要传输加密信息。在按照上述记载完成了和认证中心的注册和验证之后,客户端A和客户端B之间的通信过程如下。
一、计算共同密钥
1、客户端A和客户端B的相互验证。
结合图3,客户端A利用背包值与客户端B进行认证,同样的,客户端B利用自身的背包值和客户端A进行认证。具体的,客户端A将发送给客户端B,客户端B将发送给客户端A。
以客户端B为例,客户端B按照下述公式(6)计算之后,确定 是否成立。若成立,则对客户端A的验证通过。
(qax,qay)为客户端A的验证公钥的坐标,PKCA表示认证中心的公钥,G表示椭圆曲线基点,PKA表示所述客户端A的验证公钥,表示客户端A的背包值,SA表示客户端A的公钥。
同样地,客户端A也可按照公式(7)计算并验证是否成立。
若成立,则对客户端B的验证通过。
(qax 1,qay 1)为客户端B的验证公钥的坐标,PKCA表示认证中心的公钥,G表示椭圆曲线基点,PKB表示所述客户端B的验证公钥,表示客户端B的背包值,SB表示客户端B的公钥。
2、客户端A和客户端B分别生成共享密钥,如公式(8)所示:
KAB=sKA×SB,KAB1=sKB×SA (8)
KAB表示客户端A计算的共享密钥,KAB1表示客户端B计算的共享密钥。其中,sKA,sKB分别表示客户端A和客户端B的私钥。
二、计算会话密钥
当客户端A与客户端B拥有共享密钥后,可使用“挑战-响应”的方式使双方做验证,结合图4,具体如下:
1、客户端A随机选取时间戳随机数,并按照公式(9)和(10)计算后,将信息发送给客户端B。
客户端A随机选取时间戳随机数tA∈ZP(ZP表示整数集),并按照公式(9)和(10)计算:
TA=tAP (10)
RA=KAB+TA (11)
其中,P表示与客户端A的时间戳随机数对应的基点。
之后,客户端A将发送给客户端B,RA表示客户端A的中间随机数。
2、客户端B收到请求后,随机选取时间戳随机数tB,并利用KAB1与收到的RA验证客户端A的身份,并产生会话密钥与验证哈希值。
当客户端B收到请求后,随机选取时间戳随机数tB∈ZP,并按照公式(12)和(13)计算。
TB=tBP′ (12)
RB=KAB1+TB (13)
其中,P′表示与客户端B的时间戳参数对应的基点,RB表示客户端B的中间随机数。
客户端B用KAB1与收到的RA按照(14)计算。
如果客户端A的身份正确,那么,由于客户端B拥有正确的KAB1,所以,也就是说,如果那么,对客户端A的身份认证通过。
接着,客户端B计算第二随机数WB:
之后,客户端B生成第二会话密钥GAB1及认证用途上的哈希运算值Auth(B)、Auth(A)*,计算如公式(15)、(16)、(17)所示:
GAB1=WB+KAB1 (15)
最后,客户端B将发送给客户端A。
3、客户端A在生成会话密钥之前,验证收到的Auth(A)*是否与自行计算的Auth(B)*相等,其中,Auth(B)*的计算方式如下公式(18)-(20)。
WA表示客户端A的第一随机数。
如不相符,客户端A就立即中止此次通信的联机。如果相符,客户端A计算第一会话密钥GAB与哈希运算值Auth(A),分别如公式(21)和(22)所示:
GAB=WA+KAB (21)
此外,客户端A还可将Auth(A)发送给客户端B。
客户端B收到后,验证收到的Auth(A)是否与自行计算的Auth(B)相等,如相等的话,本次通信验证程序完成。
4、信息的加密和解密
当客户端A与客户端B产生双方当前通信的会话密钥后,双方利用此次会话密钥当作传递数据加解密的密钥,便可形成具效率的混合式数据保护机制,也可解决密码系统密钥管理分配及身份认证问题。
具体的,假设客户端B传送信息M给客户端A。首先客户端B先将明文M转成(M)2,并以客户端A公开的背包公钥向量加密后得信息加密背包值CM。客户端B利用自身的会话密钥将CM加密后发送给客户端A。客户端A收到后,利用自身的会话密钥解密得到信息加密背包值CM,将信息加密背包值CM以自己的背包私钥向量解密即可获得明文M。
通过以上描述可以看出,客户端A和B在利用上述方法进行通信时,利用通过背包值获得对双方进行验证,并利用当前通信产生的共同会话密钥将信息数据进行保护,由于第三者无法窜改背包值,因此,利用本发明实施例的上述方案可降低信息被第三者破译的风险,从而提高信息的安全性。
为提供更快速、高效能及轻量化的加密设置,考虑轻量化装置所需信息保护的信息量小且格式固定时,在本发明实施例中,还提供了根据区块加密做数据信息保护的混合式公钥密码系统。
由于每一个明文区块可使用同一把密钥来加密或解密,因此,在本发明实施例中,在按照上述过程产生会话密钥之后,利用哈希函数对该会话密钥按照下述公式(23)进行运算,获得符合PRESENT加密法的固定长度区块密钥K:
K=H(GAB1) (23)
当需要传递信息时,可利用密钥K对信息进行加密。解密时,解密端可按照同样的方式生成区块密钥,对加密信息进行解密。
其中,加密函数可以是C=EPREENT(P),解密函数可以是P=EPREENT(C)。
当轻量化装置所需信息保护的信息量不大时,本发明实施例以PRESENT区块加密做为数据信息保护,此时可以设计实现硬件嵌入,可使所需应用资源更小,而且运算效能更快。
为提供更快速、高效能及轻量化的加密设计,考虑轻量化装置需信息保护的信息需实时传送且不确定信息量大小,或需信息保护的信息可能为实时影音加密信息,当信息量不固定时,本发明实施例以串流加密做数据保护的混合式公钥密码系统。
为使得串流密钥每次联机时产生不同的密钥,以客户端B为例,本发明实施例利用按照上述实施例的方式生成的会话密钥GAB1作为密钥种子。这把密钥种子在客户端B为一区块式密钥,客户端B将会话密钥GAB1传送至线性回馈位移缓存器(Linear Feedback ShiftRegister,LFSR)转换为串流式密钥种子SS,并当作新种子值。假设客户端B需要将数据信息加密,为达到安全机制,串流式密钥种子SS先与自选的随机乱数π(PI)混合,通过取位函数随机取得某小数点位作为起始点后,不断加长密钥长度并将数据信息搅乱,得到串流密钥。之后,运用该密钥进行串流加密及解密,确保每次传输的密钥均不相同。具体过程如下:
1、生成串流式密钥种子。
(1)获取会议密钥GAB1:GAB1:GAB1=SB
(2)选择一反馈多项式,并计算得到数组SS{i},其中,所选择的反馈多项式,如公式(24)所示。
f(x)=1+C1x+C2x2+…CL-1xL-1+CLxl (24)
其中,CL=1,L为反馈多项式的级数,反馈系数Ci(1≤i≤L-1)中不为0的个数称为反馈多项式的项数。
在此,令:L=256、C17、C47、C197、C215、C219、C256=1,其余系数均为0,可得表达式如(25):
f(x)=1+x17+x47+x197+x215+x219+x256 (25)
通过上述过程,可获得多个SS{i}。
最终,得到f(x)=SS{i},并将其发送给客户端A。
获得到f(x)=SS{i}后,因考虑到密码的长度小于信息长度机率极高,因此,选用一自选随机数π(PI)。该自选随机数目前已知算出约5兆位,近似为无限不循环小数。为使串流加解密密钥长度恒大于信息长度,且避免每次运用π均由小数字后第一位起算,使每次运算基准均不相同,因此,以一取位函式π(i)表示取数的起始位置,确保数据信息搅乱。
之后,将密钥种子与取位函数π(i)混合:
i=0:π(L+i)=π(256)=(5)10=(0101)2
i=0:π(L+i)=π(256)=(5)10=(0101)2
...
i=Len(M)-1:π(L+Len(M)-1)
将SS{i}与π(Len(M)-1)进行XOR运算后,通过LFSR计算可得串流密钥KS2。具体计算公式如(26):
为了强化加密速度效能,在本发明实施例中采一次性的XOR运算与密钥加密。串流加密阶段,加密方式如(27)所示:
客户端A可按照上述相同的方式生成客户端A的串流密钥。
客户端A接收来自客户端B的密文加密数据,因考虑须加快解密速度,因此,本发明实施例仅运用一次性的XOR运算来进行解密运算,利用客户端A的串流密钥KS1将收到的加密数据进行解密。具体如公式(28)所示:
通过该公式,即可解密得到数据M。
需要说明的是,在以上的实施例中,如果客户端A和客户端的B的身份互换,其实现原理和以上描述的相同。
通过以上描述可以看出,本发明实施例的基于多重难度的混合式公钥密码系统,使随机背包密码算法可以在椭圆曲线环境下执行公钥加、解密计算。同时,本发明实施例的算法可以完成自我认证、双方验证与加解密作业,计算步骤少,运算效率高,可达到机密性、完整性、鉴别性及不可否认性的需求。
本发明实施例还提供了一种信息处理装置。参见图5,图5是本发明实施例提供的信息处理装置的结构图。由于信息处理装置解决问题的原理与本发明实施例中信息处理方法相似,因此该信息处理装置的实施可以参见方法的实施,重复之处不再赘述。
如图5所示,信息处理装置500包括:
第一生成模块501,用于生成加密端和解密端之间的第一共享密钥;第二生成模块502,用于根据所述第一共享密钥和与所述解密端的本次数据加密交互对应的随机信息,生成用于本次数据加密的第一会话密钥;第三生成模块503,用于根据所述通信本端的会话密钥,生成通信本端的串流密钥;第一处理模块504,用于利用所述通信本端的串流密钥,对本次数据进行处理。
可选的,所述装置还可包括:
第一验证模块,用于根据获取的通信对端的背包值、所述通信对端的公钥、认证中心的公钥和通信对端的验证公钥,对所述通信对端进行验证;所述第一生成模块501,用于若对所述通信对端的验证通过,则生成通信本端和通信对端之间的共享密钥。
可选的,所述第一验证模块可包括:第一生成子模块,用于根据所述通信对端的背包值、所述认证中心的公钥和所述通信对端的验证公钥,生成通信本端的验证密钥;第一比较子模块,用于将所述通信本端的验证密钥和所述通信对端的公钥进行比对;第一验证子模块,用于若所述通信本端的验证密钥和所述通信对端的公钥一致,则表示对所述通信对端的验证通过。
其中,生成所述验证密钥的过程可参照前述实施例的描述。
如果所述通信本端为加密端,通信对端为解密端,所述共享密钥为所述加密端的共享密钥。在这种情况下:
所述装置还可包括:第二验证模块,用于验证第一哈希运算值与第二哈希运算值是否匹配,其中,所述第一哈希运算值是所述解密端计算之后传输给所述加密端的;所述第二哈希运算值是所述加密端自行计算得到的;所述第二生成模块用于若所述第一哈希运算值与第二哈希运算值匹配,则生成加密端的会话密钥。
可选的,所述装置还可包括:第一获取模块,用于根据所述加密端的时间戳随机数、与所述加密端的时间戳随机数对应的基点以及所述加密端的共享密钥,得到所述加密端的中间随机数;第一发送模块,用于将所述中间随机数发送给所述解密端,所述中间随机数用于由所述解密端计算所述第一哈希运算值。
可选的,所述随机信息包括加密端的第一随机数;所述装置还可包括:
第一计算模块,用于根据解密端的中间随机数、所述加密端的时间戳随机数、所述加密端的共享密钥、所述解密端的时间戳随机数以及与所述解密端的时间戳随机数对应的基点,得到所述加密端的第一随机数;第二计算模块,用于根据所述加密端的第一随机数、根据所述加密端的背包值以及所述解密端的背包值,得到所述第二哈希运算值。所述第二生成模块,用于根据所述加密端的第一随机数和所述加密端的共享密钥,生成所述加密端的会话密钥。
可选的,所述装置还可包括:第四生成模块,用于根据所述通信本端的背包值、所述通信对端的背包值以及所述会话密钥生成第三哈希运算值,并向所述通信对端发送所述第三哈希运算值。
如果所述通信本端为解密端,通信对端为加密端,所述共享密钥为所述解密端的共享密钥。在这种情况下:
可选的,所述装置还可包括:第三验证模块,用于验证第三哈希运算值与第四哈希运算值是否匹配,其中,所述第三哈希运算值是所述加密端计算之后传输给所述解密端的;所述第四哈希运算值是所述解密端自行计算得到的。所述第二生成模块,用于若所述第三哈希运算值与第四哈希运算值匹配,则生成解密端的会话密钥。
所述随机信息包括解密端的第二随机数;所述装置还可包括:第二获取模块,用于根据加密端的中间随机数、所述解密端的时间戳随机数、所述解密端的共享密钥、所述加密端的时间戳随机数以及与所述加密端的时间戳随机数对应的基点,得到所述解密端的第二随机数;第三获取模块,用于根据所述解密端的第二随机数、根据所述加密端的背包值以及所述解密端的背包值,得到所述第四哈希运算值。
可选的,所述第二生成模块用于根据所述解密端的第二随机数和所述解密端的共享密钥,生成所述解密端的会话密钥。
可选的,所述装置还可包括:第三计算模块,用于根据所述加密端的中间随机数、所述解密端的共享密钥、所述解密端的会话密钥、所述解密端的时间戳随机数、所述加密端的时间戳随机数、与所述加密端的时间戳随机数对应的基点、所述加密端的背包值以及所述解密端的背包值,得到第一哈希运算值,并向所述加密端发送所述第一哈希运算值。
可选的,所述装置还可包括:第四计算模块,用于根据所述解密端的时间戳随机数、与所述解密端的时间戳随机数对应的基点以及所述解密端的共享密钥,得到所述解密端的中间随机数;第五计算模块,用于将所述中间随机数发送给所述加密端,所述中间随机数用于由所述解密端计算第二哈希运算值。
可选的,所述装置还可包括:
第四获取模块,用于从认证中心获得所述认证中心的背包公钥向量和认证中心公钥;第五获取模块,用于利用所述认证中心的背包公钥向量、所述通信本端的身份信息和所述通信本端的装置标识符,得到所述通信本端的背包值;第五生成模块,用于利用所述通信本端的背包值,生成所述通信本端的签名文件;第一发送模块,用于向所述认证中心发送所述通信本端的背包值和所述签名文件。
可选的,所述装置还可包括:
第六获取模块,用于从所述认证中心获取所述通信本端的验证公钥和所述通信本端的签章;第六生成模块,用于根据所述通信本端的签章和所述通信本端的背包值,生成所述通信本端的私钥;第四验证模块,用于利用所述通信本端的私钥对所述通信本端的验证公钥进行验证。
可选的,所述第四验证模块包括:
第一获取子模块,用于利用所述通信本端的私钥和从所述认证中心获取的椭圆曲线基点,得到第一值;第二获取子模块,用于利用所述通信本端的验证公钥、所述通信本端的背包值、所述通信本端的验证公钥的纵坐标、和所述认证中心的公钥,得到第二值;第一匹配子模块,用于将所述第一值和所述第二值进行匹配;第一验证子模块,用于若所述第一值等于所述第二值,则表示所述通信本端的验证公钥验证通过;
其中,所述第一值通过以下公式获得:
Sp=SK·G
其中,Sp表示所述第一值,SK表示所述通信本端的私钥,G表示所述椭圆曲线基点;
所述第二值通过以下公式获得:
Sq=PK+h(CID)·G+(qay+h(CID))·PKCA
其中,Sq表示所述第二值,PK表示所述通信本端的验证公钥,G表示所述椭圆曲线基点,qay表示所述通信本端的认证公钥的纵坐标,CID表示所述通信本端的背包值,h()表示哈希函数,PKCA表示所述认证中心的公钥。
可选的,第三生成模块503包括:
第一生成子模块,用于将所述通信本端的会话密钥通过线性反馈移位寄存器生成串流式密钥种子;第一计算子模块,用于将所述串流式密钥种子和自选随机函数进行运算,得到运算结果;第二生成子模块,用于将所述运算结果通过线性反馈移位寄存器生成所述通信本端的串流密钥。
可选的,如果所述通信本端为加密端,通信对端为解密端,所述第一处理模块用于利用所述加密端的串流密钥和待加密信息进行异或运算,得到加密信息;如果所述通信本端为解密端,通信对端为加密端,所述第一处理模块用于利用所述解密端的串流密钥和从所述加密端获得的加密信息进行异或运算,得到解密后的信息。
此外,本发明实施例还提供了一种电子设备,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的程序。所述处理器,用于读取存储器中的程序实现上述任一方法实施例的过程。
此外,本发明实施例还提供一种可读存储介质,可读存储介质上存储有程序,该程序被处理器执行时实现上述信息处理方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。其中,所述的可读存储介质,如只读存储器(Read-OnlyMemory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁盘或者光盘等。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。根据这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁盘、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本发明的保护之内。
Claims (25)
1.一种信息处理方法,其特征在于,包括:
根据获取的通信对端的背包值、所述通信对端的公钥、认证中心的公钥和通信对端的验证公钥,对所述通信对端进行验证;
若对所述通信对端的验证通过,则生成通信本端和通信对端之间的共享密钥;
根据所述共享密钥和与所述通信对端的本次数据加密交互对应的随机信息,生成通信本端的会话密钥;
根据所述通信本端的会话密钥,生成通信本端的串流密钥;
利用所述通信本端的串流密钥,对本次数据进行处理。
2.根据权利要求1所述的方法,其特征在于,所述生成通信本端和通信对端之间的共享密钥,包括:
根据通信本端的私钥和获取的通信对端的公钥生成所述共享密钥。
3.根据权利要求1所述的方法,其特征在于,所述根据获取的通信对端的背包值、所述通信对端的公钥、认证中心的公钥和通信对端的验证公钥,对所述通信对端进行验证,包括:
根据所述通信对端的背包值、所述认证中心的公钥和所述通信对端的验证公钥,生成通信本端的验证密钥;
将所述通信本端的验证密钥和所述通信对端的公钥进行比对;
若所述通信本端的验证密钥和所述通信对端的公钥一致,则表示对所述通信对端的验证通过。
4.根据权利要求3所述的方法,其特征在于,
如果所述通信本端为加密端,通信对端为解密端,所述根据所述通信对端的背包值、所述认证中心的公钥和所述通信对端的验证公钥,生成通信本端的验证密钥,按照以下公式进行计算:
其中,S′表示加密端的验证密钥,PKB表示解密端的验证公钥,表示解密端的背包值,PKCA表示认证中心的公钥;G表示椭圆曲线基点;qax 1表示解密端的验证公钥的横坐标,h()表示哈希函数;
如果所述通信本端为解密端,通信对端为加密端,所述根据所述通信对端的背包值、所述认证中心的公钥和所述通信对端的验证公钥,生成密钥,按照以下公式进行计算:
其中,S″表示解密端的验证密钥,PKA表示加密端的验证公钥,表示加密端的背包值,PKCA表示认证中心的公钥;G表示椭圆曲线基点;qax表示加密端的验证公钥的横坐标,h()表示哈希函数。
5.根据权利要求1所述的方法,其特征在于,如果所述通信本端为加密端,通信对端为解密端,所述共享密钥为所述加密端的共享密钥;
在所述根据所述共享密钥和与所述通信对端的本次数据加密交互对应的随机信息,生成通信本端的会话密钥之前,所述方法还包括:
验证第一哈希运算值与第二哈希运算值是否匹配,其中,所述第一哈希运算值是所述解密端计算之后传输给所述加密端的;所述第二哈希运算值是所述加密端自行计算得到的;
所述生成通信本端的会话密钥,包括:
若所述第一哈希运算值与第二哈希运算值匹配,则生成加密端的会话密钥。
6.根据权利要求5所述的方法,其特征在于,在所述验证第一哈希运算值与第二哈希运算值是否匹配之前,所述方法还包括:
根据加密端的时间戳随机数、与所述加密端的时间戳随机数对应的基点以及所述加密端的共享密钥,得到所述加密端的中间随机数;
将所述中间随机数发送给所述解密端,所述中间随机数用于由所述解密端计算所述第一哈希运算值。
7.根据权利要求5所述的方法,其特征在于,所述随机信息包括加密端的第一随机数;计算所述第二哈希运算值,包括:
根据解密端的中间随机数、所述加密端的时间戳随机数、所述加密端的共享密钥、所述解密端的时间戳随机数以及与所述解密端的时间戳随机数对应的基点,得到所述加密端的第一随机数;
根据所述加密端的第一随机数、根据所述加密端的背包值以及所述解密端的背包值,得到所述第二哈希运算值。
8.根据权利要求7所述的方法,其特征在于,所述生成加密端的会话密钥,包括:
根据所述加密端的第一随机数和所述加密端的共享密钥,生成所述加密端的会话密钥。
9.根据权利要求8所述的方法,其特征在于,在所述生成所述加密端的会话密钥之后,所述方法还包括:
根据所述加密端的背包值、所述解密端的背包值以及所述加密端的会话密钥生成第三哈希运算值,并向所述解密端发送所述第三哈希运算值。
10.根据权利要求1所述的方法,其特征在于,如果所述通信本端为解密端,通信对端为加密端,所述共享密钥为所述解密端的共享密钥;
在根据所述共享密钥和与所述通信对端的本次数据加密交互对应的随机信息,生成通信本端的会话密钥之前,所述方法还包括:
验证第三哈希运算值与第四哈希运算值是否匹配,其中,所述第三哈希运算值是所述加密端计算之后传输给所述解密端的;所述第四哈希运算值是所述解密端自行计算得到的;
所述生成通信本端的会话密钥,包括:
若所述第三哈希运算值与第四哈希运算值匹配,则生成解密端的会话密钥。
11.根据权利要求10所述的方法,其特征在于,所述随机信息包括解密端的第二随机数;计算所述第四哈希运算值包括:
根据加密端的中间随机数、所述解密端的时间戳随机数、所述解密端的共享密钥、所述加密端的时间戳随机数以及与所述加密端的时间戳随机数对应的基点,得到所述解密端的第二随机数;
根据所述解密端的第二随机数、根据所述加密端的背包值以及所述解密端的背包值,得到所述第四哈希运算值。
12.根据权利要求11所述的方法,其特征在于,所述生成解密端的会话密钥,包括:
根据所述解密端的第二随机数和所述解密端的共享密钥,生成所述解密端的会话密钥。
13.根据权利要求10所述的方法,其特征在于,在所述验证第三哈希运算值与第四哈希运算值是否匹配之前,所述方法还包括:
根据所述加密端的中间随机数、所述解密端的共享密钥、所述解密端的会话密钥、所述解密端的时间戳随机数、所述加密端的时间戳随机数、与所述加密端的时间戳随机数对应的基点、所述加密端的背包值以及所述解密端的背包值,得到第一哈希运算值,并向所述加密端发送所述第一哈希运算值。
14.根据权利要求10所述的方法,其特征在于,在所述验证第三哈希运算值与第四哈希运算值是否匹配之前,所述方法还包括:
根据所述解密端的时间戳随机数、与所述解密端的时间戳随机数对应的基点以及所述解密端的共享密钥,得到所述解密端的中间随机数;
将所述中间随机数发送给所述加密端,所述中间随机数用于由所述解密端计算第二哈希运算值。
15.根据权利要求1所述的方法,其特征在于,在所述生成通信本端和通信对端之间的共享密钥之前,所述方法还包括:
从认证中心获得所述认证中心的背包公钥向量和认证中心公钥;
利用所述认证中心的背包公钥向量、所述通信本端的身份信息和所述通信本端的装置标识符,得到所述通信本端的背包值;
利用所述通信本端的背包值,生成所述通信本端的签名文件;
向所述认证中心发送所述通信本端的背包值和所述签名文件。
16.根据权利要求15所述的方法,其特征在于,按照以下公式,利用所述认证中心的背包公钥向量、所述通信本端的身份信息和所述通信本端的装置标识符,得到所述通信本端的背包值,包括:
CID=a1m1+a2m2+…+anmn
其中,CID表示所述通信本端的背包值,为所述认证中心的背包公钥向量,ID表示所述通信本端的身份信息,ID={id||UID},id表示所述通信本端的身份认证信息,UID表示所述通信本端的装置标识符,(ID)2=m1,m2…mn,mi∈{0,1},(ID)2为身份信息ID的二元n进位形式。
17.根据权利要求15所述的方法,其特征在于,通过以下公式,利用所述通信本端的背包值,生成所述通信本端的签名文件,包括:
V=h(ja‖CID)·G
其中,V表示所述通信本端的签名文件,ja表示随机数,CID表示所述通信本端的背包值,G表示椭圆曲线基点,h()表示哈希函数。
18.根据权利要求15所述的方法,其特征在于,所述方法还包括:
从所述认证中心获取所述通信本端的验证公钥和所述通信本端的签章;
根据所述通信本端的签章和所述通信本端的背包值,生成所述通信本端的私钥;
利用所述通信本端的私钥对所述通信本端的验证公钥进行验证。
19.根据权利要求18所述的方法,其特征在于,通过以下公式,利用所述通信本端的签章和所述通信本端的背包值,生成所述通信本端的私钥,包括:
SK=[W+h(ja‖CID)]
其中,SK表示所述通信本端的私钥,W表示所述通信本端的签章,ja表示随机数,CID表示所述通信本端的背包值,h()表示哈希函数。
20.根据权利要求18所述的方法,其特征在于,所述利用所述通信本端的私钥对所述通信本端的验证公钥进行验证,包括:
利用所述通信本端的私钥和从所述认证中心获取的椭圆曲线基点,得到第一值;
利用所述通信本端的验证公钥、所述通信本端的背包值、所述通信本端的验证公钥的纵坐标、和所述认证中心的公钥,得到第二值;
将所述第一值和所述第二值进行匹配;
若所述第一值等于所述第二值,则表示所述通信本端的验证公钥验证通过;
其中,所述第一值通过以下公式获得:
Sp=SK·G
其中,Sp表示所述第一值,SK表示所述通信本端的私钥,G表示所述椭圆曲线基点;
所述第二值通过以下公式获得:
Sq=PK+h(CID)·G+(qay+h(CID))·PKCA
其中,Sq表示所述第二值,PK表示所述通信本端的验证公钥,G表示所述椭圆曲线基点,qay表示所述通信本端的认证公钥的纵坐标,CID表示所述通信本端的背包值,h()表示哈希函数,PKCA表示所述认证中心的公钥。
21.根据权利要求1所述的方法,其特征在于,所述根据所述通信本端的会话密钥,生成通信本端的串流密钥,包括:
将所述通信本端的会话密钥通过线性反馈移位寄存器生成串流式密钥种子;
将所述串流式密钥种子和自选随机函数进行运算,得到运算结果;
将所述运算结果通过线性反馈移位寄存器生成所述通信本端的串流密钥。
22.根据权利要求1所述的方法,其特征在于,如果所述通信本端为加密端,通信对端为解密端,所述利用所述通信本端的串流密钥,所述对本次数据进行处理,包括:
利用所述加密端的串流密钥和待加密信息进行异或运算,得到加密信息;
如果所述通信本端为解密端,通信对端为加密端,所述对本次数据进行处理,包括:
利用所述解密端的串流密钥和从所述加密端获得的加密信息进行异或运算,得到解密后的信息。
23.一种信息处理装置,其特征在于,包括:
第一验证模块,用于根据获取的通信对端的背包值、所述通信对端的公钥、认证中心的公钥和通信对端的验证公钥,对所述通信对端进行验证;
第一生成模块,用于若对所述通信对端的验证通过,则生成通信本端和通信对端之间的共享密钥;
第二生成模块,用于根据所述共享密钥和与所述通信对端的本次数据加密交互对应的随机信息,生成通信本端的会话密钥;
第三生成模块,用于根据所述通信本端的会话密钥,生成通信本端的串流密钥;
第一处理模块,用于利用所述通信本端的串流密钥,对所述本次数据进行处理。
24.一种电子设备,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的程序;其特征在于,所述处理器,用于读取存储器中的程序实现包括如权利要求1至22中任一项所述的信息处理方法中的步骤。
25.一种可读存储介质,用于存储程序,其特征在于,所述程序被处理器执行时实现包括如权利要求1至22中任一项所述的信息处理方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010762069.3A CN114070550B (zh) | 2020-07-31 | 2020-07-31 | 一种信息处理方法、装置、设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010762069.3A CN114070550B (zh) | 2020-07-31 | 2020-07-31 | 一种信息处理方法、装置、设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114070550A CN114070550A (zh) | 2022-02-18 |
CN114070550B true CN114070550B (zh) | 2024-07-02 |
Family
ID=80228009
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010762069.3A Active CN114070550B (zh) | 2020-07-31 | 2020-07-31 | 一种信息处理方法、装置、设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114070550B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118174967B (zh) * | 2024-05-14 | 2024-08-06 | 中国电信股份有限公司 | 信息验证方法及相关设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103560879A (zh) * | 2013-10-09 | 2014-02-05 | 中国科学院信息工程研究所 | 一种轻量级认证与密钥协商的实现方法 |
CN109462476A (zh) * | 2018-11-23 | 2019-03-12 | 成都卫士通信息产业股份有限公司 | 密钥协商方法、装置、终端及计算机可读存储介质 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101005359B (zh) * | 2006-01-18 | 2010-12-08 | 华为技术有限公司 | 一种实现终端设备间安全通信的方法及装置 |
EP2334008A1 (en) * | 2009-12-10 | 2011-06-15 | Tata Consultancy Services Limited | A system and method for designing secure client-server communication protocols based on certificateless public key infrastructure |
CN102801730B (zh) * | 2012-08-16 | 2015-01-28 | 厦门市美亚柏科信息股份有限公司 | 一种用于通讯及便携设备的信息防护方法及装置 |
CN106972924B (zh) * | 2017-03-23 | 2020-06-23 | 联想(北京)有限公司 | 加密、解密、电子签章、验证签章的方法及装置 |
US10084600B1 (en) * | 2018-04-16 | 2018-09-25 | Xage Security, Inc. | Decentralized information protection for confidentiality and tamper-proofing on distributed database |
CN108616354B (zh) * | 2018-04-27 | 2021-10-26 | 北京信息科技大学 | 一种移动通信中密钥协商方法和设备 |
CN110505046B (zh) * | 2019-07-29 | 2020-11-24 | 深圳壹账通智能科技有限公司 | 多数据提供方加密数据跨平台零知识校验方法、装置及介质 |
CN110545179A (zh) * | 2019-08-29 | 2019-12-06 | 中芯昊月(深圳)科技控股有限公司 | 基于r-lwe的ntru加密方法及其安全性证明方法 |
CN110798698B (zh) * | 2019-11-25 | 2020-09-11 | 盈动电子竞技(海南自贸区)有限公司 | 一种直播应用程序的多服务器推流方法、设备和存储介质 |
CN110932870B (zh) * | 2019-12-12 | 2023-03-31 | 南京如般量子科技有限公司 | 一种量子通信服务站密钥协商系统和方法 |
CN111314076B (zh) * | 2020-03-31 | 2023-04-21 | 四川九强通信科技有限公司 | 一种支持双向认证的无证书密钥协商方法 |
-
2020
- 2020-07-31 CN CN202010762069.3A patent/CN114070550B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103560879A (zh) * | 2013-10-09 | 2014-02-05 | 中国科学院信息工程研究所 | 一种轻量级认证与密钥协商的实现方法 |
CN109462476A (zh) * | 2018-11-23 | 2019-03-12 | 成都卫士通信息产业股份有限公司 | 密钥协商方法、装置、终端及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN114070550A (zh) | 2022-02-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107947913B (zh) | 一种基于身份的匿名认证方法与系统 | |
US7814320B2 (en) | Cryptographic authentication, and/or establishment of shared cryptographic keys, using a signing key encrypted with a non-one-time-pad encryption, including (but not limited to) techniques with improved security against malleability attacks | |
US9172529B2 (en) | Hybrid encryption schemes | |
CN111740828A (zh) | 一种密钥生成方法以及装置、设备、加密方法 | |
CN107659395B (zh) | 一种多服务器环境下基于身份的分布式认证方法及系统 | |
CN112564907B (zh) | 密钥生成方法及装置、加密方法及装置、解密方法及装置 | |
US11870891B2 (en) | Certificateless public key encryption using pairings | |
CN110011995B (zh) | 多播通信中的加密和解密方法及装置 | |
CN110113150B (zh) | 基于无证书环境的可否认认证的加密方法和系统 | |
US12010216B2 (en) | Computer-implemented system and method for highly secure, high speed encryption and transmission of data | |
CN110535626B (zh) | 基于身份的量子通信服务站保密通信方法和系统 | |
CN110519226B (zh) | 基于非对称密钥池和隐式证书的量子通信服务端保密通信方法和系统 | |
CN112104453A (zh) | 一种基于数字证书的抗量子计算数字签名系统及签名方法 | |
US11528127B2 (en) | Computer-implemented system and method for highly secure, high speed encryption and transmission of data | |
CN110784314A (zh) | 无证书的加密信息处理方法 | |
CN114070549B (zh) | 一种密钥生成方法、装置、设备和存储介质 | |
CN113676448B (zh) | 一种基于对称秘钥的离线设备双向认证方法和系统 | |
CN113098681B (zh) | 云存储中口令增强且可更新的盲化密钥管理方法 | |
CN111526131B (zh) | 基于秘密共享和量子通信服务站的抗量子计算的电子公文传输方法和系统 | |
Jaung | Efficient three-party key exchange using smart cards | |
CN111262709B (zh) | 基于陷门哈希函数的无证书签密系统及方法 | |
CN114070550B (zh) | 一种信息处理方法、装置、设备和存储介质 | |
US20220038267A1 (en) | Methods and devices for secured identity-based encryption systems with two trusted centers | |
Qin et al. | Strongly secure and cost-effective certificateless proxy re-encryption scheme for data sharing in cloud computing | |
CN115550007A (zh) | 一种基于异构系统的具有等值测试功能的签密方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant |