CN109905229B - 基于群组非对称密钥池的抗量子计算Elgamal加解密方法和*** - Google Patents

基于群组非对称密钥池的抗量子计算Elgamal加解密方法和*** Download PDF

Info

Publication number
CN109905229B
CN109905229B CN201910045337.7A CN201910045337A CN109905229B CN 109905229 B CN109905229 B CN 109905229B CN 201910045337 A CN201910045337 A CN 201910045337A CN 109905229 B CN109905229 B CN 109905229B
Authority
CN
China
Prior art keywords
key
group
public key
random number
pool
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
Application number
CN201910045337.7A
Other languages
English (en)
Other versions
CN109905229A (zh
Inventor
富尧
钟一民
余秋炜
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ruban Quantum Technology Co Ltd
Original Assignee
Ruban Quantum Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Ruban Quantum Technology Co Ltd filed Critical Ruban Quantum Technology Co Ltd
Priority to CN201910045337.7A priority Critical patent/CN109905229B/zh
Publication of CN109905229A publication Critical patent/CN109905229A/zh
Application granted granted Critical
Publication of CN109905229B publication Critical patent/CN109905229B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Storage Device Security (AREA)

Abstract

本发明涉及一种基于群组非对称密钥池的抗量子计算Elgamal加解密方法,参与方配置有密钥卡,密钥卡内存储有群组公钥池、群组私钥池、用户公钥池、用户私钥以及密钥参数,群组私钥池存储有群组私钥,群组公钥池存储有与所述群组私钥相对应的群组公钥;用户公钥池中存储有与用户私钥相对应的用户公钥;抗量子计算Elgamal加解密方法,加密时包括:生成第一真随机数,并利用第一真随机数从密钥卡中得到群组公钥;生成第二真随机数,并利用第二真随机数生成第一参数和共享密钥;利用共享密钥加密消息原文得到第一密文;将第一参数加密得到第二密文;将第一真随机数、第一密文和第二密文发送至接收方以供解密获得消息原文。

Description

基于群组非对称密钥池的抗量子计算Elgamal加解密方法和***
技术领域
本发明涉及Elgamal公钥密码体制和非对称密钥池技术,具体涉及非对称加密体系的抗量子计算Elgamal加密方法。
背景技术
迅速发展的Internet给人们的生活、工作带来了巨大的方便,人们可以坐在家里通过Internet收发电子邮件、打电话、进行网上购物、银行转账等活动。同时网络信息安全也逐渐成为一个潜在的巨大问题。一般来说网络信息面临着以下几种安全隐患:网络信息被窃取、信息被篡改、攻击者假冒信息、恶意破坏等。
当前保证网络信息安全的关键技术就是密码技术,而在如今的密码学领域中,主要有两种密码***,一是对称密钥密码***,即加密密钥和解密密钥使用同一个。另一个是公开密钥密码***,即加密密钥和解密密钥不同,其中一个可以公开。
对称密钥密码***的安全性依赖以下两个因素。第一,加密算法必须是足够强的,仅仅基于密文本身去解密信息在实践上是不可能的;第二,加密方法的安全性来自于密钥的秘密性,而不是算法的秘密性。对称加密***最大的问题是密钥的分发和管理非常复杂、代价高昂。对称加密算法另一个缺点是不容易实现数字签名。所以,在当今的移动电子商务领域中的加密算法实现主要是依赖于公开密钥体制。
公开密钥加密***采用的加密钥匙(公钥)和解密钥匙(私钥)是不同的。由于加密钥匙是公开的,密钥的分配和管理就很简单,公开密钥加密***还能够很容易地实现数字签名。
自公钥加密问世以来,学者们提出了许多种公钥加密方法,它们的安全性都是基于复杂的数学难题。根据所基于的数学难题来分类,有以下三类***目前被认为是安全和有效的:大整数因子分解***(代表性的有RSA)、离散对数***(代表性的有DSA)和椭圆离散对数***(ECC)。
在密码学中,ElGamal加密算法是一个基于迪菲-赫尔曼密钥交换的非对称加密算法。它在1985年由塔希尔·盖莫尔提出。GnuPG和PGP等很多密码学***中都应用到了ElGamal算法。ElGamal加密算法可以定义在任何循环群G上。它的安全性取决于G上的离散对数难题。
ElGamal加密***通常应用在混合加密***中。例如:用对称加密体制来加密消息,然后利用ElGamal加密算法传递密钥。这是因为在同等安全等级下,ElGamal加密算法作为一种非对称密码学***,通常比对称加密体制要慢。对称加密算法的密钥和要传递的消息相比通常要短得多,所以相比之下使用ElGamal加密密钥然后用对称加密来加密任意长度的消息,这样要更快一些。
但是随着量子计算机的发展,经典非对称密钥加密算法将不再安全,无论加解密还是密钥交换方法,量子计算机都可以通过公钥计算得到私钥,因此目前常用的非对称密钥将在量子时代变得不堪一击。
发明内容
本发明提供一种进一步提高安全性的基于群组非对称密钥池的抗量子计算Elgamal加解密方法和***。
本发明基于群组非对称密钥池的抗量子计算Elgamal加解密方法,参与方配置有密钥卡,密钥卡内存储有群组公钥池、群组私钥池、用户公钥池、用户私钥以及密钥参数,所述群组私钥池存储有群组私钥,所述群组公钥池存储有与所述群组私钥相对应的群组公钥;所述用户公钥池中存储有与所述用户私钥相对应的用户公钥;
所述抗量子计算Elgamal加解密方法,加密时包括:
生成第一真随机数,并利用第一真随机数从密钥卡中得到群组公钥;
生成第二真随机数,并利用第二真随机数生成第一参数和共享密钥;
利用共享密钥加密消息原文得到第一密文;
将第一参数加密得到第二密文;
将所述第一真随机数、所述第一密文和所述第二密文发送至接收方以供解密获得消息原文。
可选的,所述生成第二真随机数,并利用第二真随机数生成第一参数和共享密钥时,包括:
生成第二真随机数;
利用第二真随机数和密钥参数生成第一参数;
利用第二真随机数和所述群组公钥生成共享密钥。
可选的,将第一参数加密得到第二密文时,包括:
对群组公钥进行Hash算法运算,并利用运算结果加密第一参数得到第二密文。
可选的,解密时包括:
利用接收的第一真随机数从密钥卡中得到群组私钥和所述群组公钥;
对所述群组公钥进行Hash算法运算,并利用运算结果解密第二密文得到第一参数;
将第一参数和群组私钥进行运算得到共享密钥;
利用共享密钥解密第一密文得到消息原文。
可选的,所述生成第二真随机数,并利用第二真随机数生成第一参数和共享密钥时,包括:
根据接收方的用户公钥指针地址从密钥卡中得到接收方的用户公钥;
生成第二真随机数;
利用第二真随机数和密钥参数生成第一参数;
利用第二真随机数和所述用户公钥生成共享密钥。
可选的,将第一参数加密得到第二密文时,包括:
对群组公钥和用户公钥进行运算,并利用运算结果加密第一参数得到第二密文。
可选的,解密时包括:
获取己方的用户公钥,同时利用接收的第一真随机数从密钥卡中得到群组公钥;
对群组公钥和用户公钥进行运算,并利用运算结果解密第二密文得到第一参数;
将第一参数和用户私钥进行运算得到共享密钥;
利用共享密钥解密第一密文得到消息原文。
本发明还提供一种基于群组非对称密钥池的抗量子计算Elgamal加解密***,参与方配置有密钥卡,密钥卡内存储有群组公钥池、群组私钥池、用户公钥池、用户私钥以及密钥参数,所述群组私钥池存储有群组私钥,所述群组公钥池存储有与所述群组私钥相对应的群组公钥;所述用户公钥池中存储有与所述用户私钥相对应的用户公钥;
抗量子计算Elgamal加解密***,包括:
第一模块,用于生成第一真随机数,并利用第一真随机数从密钥卡中得到群组公钥;
第二模块,用于生成第二真随机数,并利用第二真随机数生成第一参数和共享密钥;
第三模块,用于利用共享密钥加密消息原文得到第一密文;
第四模块,用于将第一参数加密得到第二密文;
第五模块,用于将所述第一真随机数、所述第一密文和所述第二密文发送至接收方以供解密获得消息原文。
本发明还提供一种基于群组非对称密钥池的抗量子计算Elgamal加解密***,参与方配置有密钥卡,密钥卡内存储有群组公钥池、群组私钥池、用户公钥池、用户私钥以及密钥参数,所述群组私钥池存储有群组私钥,所述群组公钥池存储有与所述群组私钥相对应的群组公钥;所述用户公钥池中存储有与所述用户私钥相对应的用户公钥;
参与方包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现所述的抗量子计算Elgamal加解密方法。
本发明中,使用的密钥卡是独立的硬件隔离设备。公钥、私钥和真随机数等其他相关参数均在服务器内生成,在密钥卡中存储,被恶意软件或恶意操作窃取密钥的可能性大大降低,也不会被量子计算机获取并破解。由于公钥并不在网络中传输,以及其在网络中传输的相关参数仅为公钥的指针地址,所以通信双方的公私钥被窃取破解的可能性较低。群组消息模式时,群组密钥池确保了公钥不参与传输,因此具有较强的抗量子计算能力;在私密消息模式时,通过群组密钥池和用户公私钥来确保消息的安全性。在两种模式中,参数c1通过对称加密的方式在网络中传输,在存在量子计算机的环境下,安全性更高。
附图说明
图1为密钥卡密钥区的密钥池分布关系图;
图2为实施例1中对象甲加密消息的流程图;
图3为实施例1中群组成员解密消息的流程图;
图4为实施例2中对象甲加密消息的流程图;
图5为实施例2中对象乙解密消息的流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了更好地描述和说明本申请的实施例,可参考一幅或多幅附图,但用于描述附图的附加细节或示例不应当被认为是对本申请的发明创造、目前所描述的实施例或优选方式中任何一者的范围的限制。
应该理解的是,除非本文中有明确的说明,各步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
本发明实现场景为群组内任意拥有群组非对称密钥池和用户非对称密钥池的群组成员。本发明中的密钥卡不仅可以存储大量的数据,还具有处理信息的能力。本发明中,群组内成员的本地***中都存在相应需求的算法。
密钥卡的描述可见申请号为“201610843210.6”的专利。当为移动终端时,密钥卡优选为密钥SD卡;当为固定终端时,密钥卡优选为密钥USBkey或主机密钥板卡。
与申请号为“201610843210.6”的专利相比,密钥卡的颁发机制有所不同。本专利的密钥卡颁发方为密钥卡的主管方,一般为群组的管理部门,例如某企业或事业单位的管理部门;密钥卡被颁发方为密钥卡的主管方所管理的成员,一般为某企业或事业单位的各级员工。用户端首先到密钥卡的主管方申请开户。当用户端进行注册登记获批后,将得到密钥卡(具有唯一的密钥卡ID)。密钥卡存储了客户注册登记信息。密钥卡中的用户侧密钥都下载自同一个密钥管理服务站,且对同一个密钥卡的主管方来说,其颁发的每个密钥卡中存储的密钥池是完全一致的。优选为,密钥卡中存储的密钥池大小可以是1G、2G、4G、8G、16G、32G、64G、128G、256G、512G、1024G、2048G、4096G等等。
密钥卡从智能卡技术上发展而来,是结合了真随机数发生器(优选为量子随机数发生器)、密码学技术、硬件安全隔离技术的身份认证和加解密产品。密钥卡的内嵌芯片和操作***可以提供密钥的安全存储和密码算法等功能。由于其具有独立的数据处理能力和良好的安全性,密钥卡成为私钥和密钥池的安全载体。每一个密钥卡都有硬件PIN码保护,PIN码和硬件构成了用户使用密钥卡的两个必要因素。即所谓“双因子认证”,用户只有同时取得保存了相关认证信息的密钥卡和用户PIN码,才可以登录***。即使用户的PIN码被泄露,只要用户持有的密钥卡不被盗取,合法用户的身份就不会被仿冒;如果用户的密钥卡遗失,拾到者由于不知道用户PIN码,也无法仿冒合法用户的身份。
密钥卡在注册时,密钥管理服务器会指定密钥卡一个群组身份,并给予群组内的ID。密钥卡会被写入一个用户公钥池、群组公钥池和群组私钥池。服务器在创建一个群组时会产生与群组成员个数相同的用户公私钥对和大量的群组公私钥对,所述的大量应理解为群组公私钥对的数量远多于群组成员个数。所有的用户公钥会写入到同一个文件内组成用户公钥文件,所有的群组公钥会写入到同一个文件内组成群组公钥文件,以及所有的群组私钥会写入到同一个文件内组成群组私钥文件,具体放置方式如图1所示。在密钥卡注册时,服务器除了会将用户公钥文件、群组公钥文件和群组私钥文件存储在密钥卡内,同时还会将未分配的用户私钥中随机选取一个分配给该密钥卡并将对应的用户公钥指针地址存储在密钥卡内,用户公钥指针地址用于查找与用户私钥成对的用户公钥。另外,密钥卡内存储有循环群G1的参数{G1,q1,g1}和循环群G2的参数{G2,q2,g2},循环群G1和G2为服务器创建群组时定义的,循环群G1用于Elgamal算法的群组公私钥生成和加解密,循环群G2用于Elgamal算法的用户公私钥生成和加解密。
设本***密钥协商的对象分别为对象甲和对象乙。对象甲为消息的发送方,对象乙为实施例2中的消息接收方。设对象甲对应的用户公私钥对为(A,a),A为用户公钥,a为用户私钥;对象乙对应的用户公私钥对为(B,b),B为用户公钥,b为用户私钥,并且a和b均处于{1,…,q2-1}范围内。设群组密钥池取得的群组公私钥对为(Gy,Gx),Gy为群组公钥,Gx为群组私钥。
其中一实施例中,一种基于群组非对称密钥池的抗量子计算Elgamal加解密方法,参与方配置有密钥卡,密钥卡内存储有群组公钥池、群组私钥池、用户公钥池、用户私钥以及密钥参数,所述群组私钥池存储有群组私钥,所述群组公钥池存储有与所述群组私钥相对应的群组公钥;所述用户公钥池中存储有与所述用户私钥相对应的用户公钥。
本实施例的抗量子计算Elgamal加解密方法应用于群组消息模式,在该模式下设对象甲为消息的发送方,群组内除对象甲以外的其他成员为消息的接收方。
所述抗量子计算Elgamal加解密方法,加密时包括:
生成第一真随机数,并利用第一真随机数从密钥卡中得到群组公钥;
生成第二真随机数,并利用第二真随机数生成第一参数和共享密钥;
利用共享密钥加密消息原文得到第一密文;
将第一参数加密得到第二密文;
将所述第一真随机数、所述第一密文和所述第二密文发送至接收方以供解密获得消息原文。
其中,利用第一真随机数从密钥卡中得到群组公钥时,首先利用第一真随机数通过相应的密钥指针算法得到密钥种子指针,并利用密钥种子指针从密钥卡的群组公钥池中得到群组公钥。
生成第二真随机数,并利用第二真随机数生成第一参数和共享密钥时,包括:
生成第二真随机数;
利用第二真随机数和密钥参数生成第一参数;
利用第二真随机数和所述群组公钥生成共享密钥。
将第一参数加密得到第二密文时,包括:对群组公钥进行Hash算法运算,并利用运算结果加密第一参数得到第二密文。
相应的,在该模式下,解密时包括:
利用接收的第一真随机数从密钥卡中得到群组私钥和所述群组公钥;
对所述群组公钥进行Hash算法运算,并利用运算结果解密第二密文得到第一参数;
将第一参数和群组私钥进行运算得到共享密钥;
利用共享密钥解密第一密文得到消息原文。
其中一实施例中,一种基于群组非对称密钥池的抗量子计算Elgamal加解密方法,参与方配置有密钥卡,密钥卡内存储有群组公钥池、群组私钥池、用户公钥池、用户私钥以及密钥参数,所述群组私钥池存储有群组私钥,所述群组公钥池存储有与所述群组私钥相对应的群组公钥;所述用户公钥池中存储有与所述用户私钥相对应的用户公钥。
本实施例的抗量子计算Elgamal加解密方法应用于私密消息模式,在该模式下设对象甲为消息的发送方,对象乙为消息的接收方。
所述抗量子计算Elgamal加解密方法,加密时包括:
生成第一真随机数,并利用第一真随机数从密钥卡中得到群组公钥;
生成第二真随机数,并利用第二真随机数生成第一参数和共享密钥;
利用共享密钥加密消息原文得到第一密文;
将第一参数加密得到第二密文;
将所述第一真随机数、所述第一密文和所述第二密文发送至接收方以供解密获得消息原文。
具体地,生成第二真随机数,并利用第二真随机数生成第一参数和共享密钥时,包括:
根据接收方的用户公钥指针地址从密钥卡中得到接收方的用户公钥;
生成第二真随机数;
利用第二真随机数和密钥参数生成第一参数;
利用第二真随机数和所述用户公钥生成共享密钥。
将第一参数加密得到第二密文时,包括:对群组公钥和用户公钥进行运算,并利用运算结果加密第一参数得到第二密文。
相应的,在该模式下,解密时包括:
获取己方的用户公钥,同时利用接收的第一真随机数从密钥卡中得到群组公钥;
对群组公钥和用户公钥进行运算,并利用运算结果解密第二密文得到第一参数;
将第一参数和用户私钥进行运算得到共享密钥;
利用共享密钥解密第一密文得到消息原文。
以下结合图2~图5进一步详细说明加解密过程。
实施例1
本实施例所发生场景为对象甲发送群组消息,群组内其他成员接收消息并解密。
步骤1:对象甲生成共享密钥,并加密消息发送至群组内
1.1对象甲取得群组公钥:对象甲产生一个真随机数r(第一真随机数),并将r通过相应的密钥指针算法fkp得到密钥种子指针kp。对象甲根据该指针kp从本地***的群组公钥池中取出相应的群组公钥Gy,且Gy=g1^Gx。
1.2对象甲计算共享密钥:对象甲产生一个真随机数R(第二真随机数)。对象甲利用指定算法计算随机数序列R得到处于{1,…,q2-1}范围内的k。对象甲计算得到第一参数c1=g1^k和共享密钥s=Gy^k,其中g1为存储在密钥卡中的密钥参数之一,且g1为循环群G1的参数。
1.3对象甲加密消息,并加密第一参数c1:对象甲将消息原文M映射到循环群G1的一个元素得到m。对象甲计算得到第一密文c2=m·s。
对象甲对群组公钥Gy进行Hash算法计算得到HGy=Hash(Gy)。对象甲利用HGy作为密钥对第一参数c1进行对称加密得到第二密文{c1}HGy。
1.4对象甲发送群组消息:对象甲将随机数r、第一密文c2和第二密文{c1}HGy组合得到(r,{c1}HGy,c2),将(r,{c1}HGy,c2)作为群组消息发送出去。
步骤2:群组成员生成密钥并解密消息
2.1群组成员解析消息:其他群组成员接收到来自对象甲的消息(r,{c1}HGy,c2)’,并解析得到r’、{c1}HGy’和c2’。
2.2群组成员取得群组公私钥对:其他群组成员将r’通过相应的密钥指针算法fkp得到密钥种子指针kp’。群组成员根据该指针kp’从本地***的群组公钥池中取出相应的群组公钥Gy’,同时根据该指针kp’从本地***的群组私钥池中取出与群组公钥Gy’相应的群组私钥Gx。
2.3群组成员解密得到参数并计算共享密钥:其他群组成员对群组公钥Gy’进行Hash算法计算得到HGy’=Hash(Gy’)。群组成员利用HGy’对{c1}HGy’使用指定的对称算法解密得到c1’。群组成员计算得到共享密钥s’=c1’^Gx。
2.3群组成员解密得到消息明文:其他群组成员利用共享密钥s’和密文消息c2’进行解密计算得到m’=c2’·s’-1。s-1是s在群G1上的逆元。利用m’映射到循环群G1得到明文消息M’。
由上述描述可知,m’=c2’·s’-1=m·Gyk·(c1’Gx)-1=m·g1Gxk·g1-kGx=m,即可实施相应的加密和解密。
实施例2
本实施例所发生场景为群组内的对象甲利用私密消息模式发送消息给群组内的对象乙,对象乙接收消息并解密。
步骤1:对象甲生成共享密钥,并加密消息发送至对象乙
1.1对象甲取得对象乙公钥和群组公钥:对象甲向密钥管理服务站发送获取对象乙对应的用户公钥指针地址的请求,密钥管理服务站向对象甲返回对象乙的用户公钥指针地址Pb。对象甲根据指针地址Pb从用户公钥池文件中取出对象乙的用户公钥B=g2^b。
对象甲产生一个真随机数r(第一真随机数),并将r通过相应的密钥指针算法fkp得到密钥种子指针kp。对象甲根据该指针kp从本地***的群组公钥池中取出相应的群组公钥Gy=g1^Gx。
1.2对象甲计算共享密钥:对象甲产生一个真随机数R(第二真随机数)。对象甲利用指定算法计算随机数序列R得到处于{1,…,q1-1}范围内的k。对象甲计算得到第一参数c1=g2^k和共享密钥s=B^k,其中g2为存储在密钥卡中的密钥参数之一,且g2为循环群G2的参数。
1.3对象甲加密消息,并加密第一参数c1:对象甲将消息原文M映射到循环群G2的一个元素得到m。对象甲计算得到第一密文c2=m·s。
对象甲将群组公钥和用户公钥进行计算得到Hk=H(f(Gy,B)),其中函数H()为安全哈希算法(SHA-1或SHA-2等散列算法),函数f()为自定义算法(例:按位异或)。对象甲利用Hk作为密钥对第一参数c1进行对称加密得到第二密文{c1}Hk。
1.4对象甲发送消息给对象乙:对象甲将随机数r、第一密文c2和第二密文{c1}Hk组合得到(r,{c1}Hk,c2),将(r,{c1}Hk,c2)作为私聊消息发送出去。
步骤2:对象乙生成密钥并解密消息
2.1对象乙解析消息:对象乙接收到来自对象甲的消息(r,{c1}Hk,c2)’,并解析得到r’、{c1}Hk’和c2’。
2.2对象乙取得对应公私钥:对象乙将r’通过相应的密钥指针算法fkp得到密钥种子指针kp’。对象乙根据该指针kp’从本地***的群组公钥池中取出相应的群组公钥Gy’,同时利用用户公钥指针地址从本地***的用户公钥池中取出己方的与用户私钥相对应的用户公钥B’。
2.3对象乙解密得到参数并计算共享密钥:对象乙将群组公钥和用户公钥进行计算得到Hk’=H(f(Gy’,B’))。对象乙利用Hk’对{c1}Hk’使用指定的对称算法解密得到c1’。对象乙取出己方用户私钥b并计算得到共享密钥s’=c1’^b。
2.4对象乙解密得到消息明文:对象乙利用共享密钥s’和密文消息c2’进行解密计算得到m’=c2’·s’-1。s-1是s在群G2上的逆元。利用m’映射到循环群G2得到明文消息M’。
由上述描述可知,m’=c2’·s’-1=m·Bk·(c1’b)-1=m·gbk·g-kb=m,即可实施相应的加密和解密。
其中一实施例中,提供一种基于群组非对称密钥池的抗量子计算Elgamal加解密***,参与方配置有密钥卡,密钥卡内存储有群组公钥池、群组私钥池、用户公钥池、用户私钥以及密钥参数,所述群组私钥池存储有群组私钥,所述群组公钥池存储有与所述群组私钥相对应的群组公钥;所述用户公钥池中存储有与所述用户私钥相对应的用户公钥;
所述抗量子计算Elgamal加解密***,包括:
第一模块,用于生成第一真随机数,并利用第一真随机数从密钥卡中得到群组公钥;
第二模块,用于生成第二真随机数,并利用第二真随机数生成第一参数和共享密钥;
第三模块,用于利用共享密钥加密消息原文得到第一密文;
第四模块,用于将第一参数加密得到第二密文;
第五模块,用于将所述第一真随机数、所述第一密文和所述第二密文发送至接收方以供解密获得消息原文。
关于抗量子计算Elgamal加解密***的具体限定可以参见上文中对于抗量子计算Elgamal加解密方法的限定,在此不再赘述。上述各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,即一种基于群组非对称密钥池的抗量子计算Elgamal加解密***,该计算机设备可以是终端,其内部结构可以包括通过***总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作***和计算机程序。该内存储器为非易失性存储介质中的操作***和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现上述的抗量子计算Elgamal加解密***。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
其中一实施例中,提供一种基于群组非对称密钥池的抗量子计算Elgamal加解密***,参与方配置有密钥卡,密钥卡内存储有群组公钥池、群组私钥池、用户公钥池、用户私钥以及密钥参数,所述群组私钥池存储有群组私钥,所述群组公钥池存储有与所述群组私钥相对应的群组公钥;所述用户公钥池中存储有与所述用户私钥相对应的用户公钥;
参与方包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现所述的抗量子计算Elgamal加解密方法。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明的保护范围应以所附权利要求为准。

Claims (6)

1.基于群组非对称密钥池的抗量子计算Elgamal加解密方法,其特征在于,参与方配置有密钥卡,密钥卡内存储有群组公钥池、群组私钥池、用户公钥池、用户私钥以及密钥参数,所述群组私钥池存储有群组私钥,所述群组公钥池存储有与所述群组私钥相对应的群组公钥;所述用户公钥池中存储有与所述用户私钥相对应的用户公钥;
所述抗量子计算Elgamal加解密方法,加密时包括:
生成第一真随机数,并利用第一真随机数从密钥卡中得到群组公钥;
生成第二真随机数,并利用第二真随机数生成第一参数和共享密钥,包括:生成第二真随机数,利用第二真随机数和密钥参数生成第一参数,利用第二真随机数和所述群组公钥生成共享密钥;
利用共享密钥加密消息原文得到第一密文;
将第一参数加密得到第二密文,包括:对群组公钥进行Hash算法运算,并利用运算结果加密第一参数得到第二密文;
将所述第一真随机数、所述第一密文和所述第二密文发送至接收方以供解密获得消息原文;
解密时包括:
利用接收的第一真随机数从密钥卡中得到群组私钥和所述群组公钥;
对所述群组公钥进行Hash算法运算,并利用运算结果解密第二密文得到第一参数;
将第一参数和群组私钥进行运算得到共享密钥;
利用共享密钥解密第一密文得到消息原文。
2.如权利要求1所述的基于群组非对称密钥池的抗量子计算Elgamal加解密方法,其特征在于,在生成第二真随机数之前,还包括根据接收方的用户公钥指针地址从密钥卡中得到接收方的用户公钥。
3.如权利要求2所述的基于群组非对称密钥池的抗量子计算Elgamal加解密方法,其特征在于,将第一参数加密得到第二密文时,包括:
对群组公钥和用户公钥进行运算,并利用运算结果加密第一参数得到第二密文。
4.如权利要求3所述的基于群组非对称密钥池的抗量子计算Elgamal加解密方法,其特征在于,解密时包括:
获取己方的用户公钥,同时利用接收的第一真随机数从密钥卡中得到群组公钥;
对群组公钥和用户公钥进行运算,并利用运算结果解密第二密文得到第一参数;
将第一参数和用户私钥进行运算得到共享密钥;
利用共享密钥解密第一密文得到消息原文。
5.基于群组非对称密钥池的抗量子计算Elgamal加解密***,其特征在于,参与方配置有密钥卡,密钥卡内存储有群组公钥池、群组私钥池、用户公钥池、用户私钥以及密钥参数,所述群组私钥池存储有群组私钥,所述群组公钥池存储有与所述群组私钥相对应的群组公钥;所述用户公钥池中存储有与所述用户私钥相对应的用户公钥;
所述抗量子计算Elgamal加解密***,包括:
第一模块,用于生成第一真随机数,并利用第一真随机数从密钥卡中得到群组公钥;
第二模块,用于生成第二真随机数,并利用第二真随机数生成第一参数和共享密钥,包括:生成第二真随机数,利用第二真随机数和密钥参数生成第一参数,利用第二真随机数和所述群组公钥生成共享密钥;
第三模块,用于利用共享密钥加密消息原文得到第一密文;
第四模块,用于将第一参数加密得到第二密文,包括:对群组公钥进行Hash算法运算,并利用运算结果加密第一参数得到第二密文;
第五模块,用于将所述第一真随机数、所述第一密文和所述第二密文发送至接收方以供解密获得消息原文;
解密时包括:
利用接收的第一真随机数从密钥卡中得到群组私钥和所述群组公钥;
对所述群组公钥进行Hash算法运算,并利用运算结果解密第二密文得到第一参数;
将第一参数和群组私钥进行运算得到共享密钥;
利用共享密钥解密第一密文得到消息原文。
6.基于群组非对称密钥池的抗量子计算Elgamal加解密***,其特征在于,参与方配置有密钥卡,密钥卡内存储有群组公钥池、群组私钥池、用户公钥池、用户私钥以及密钥参数,所述群组私钥池存储有群组私钥,所述群组公钥池存储有与所述群组私钥相对应的群组公钥;所述用户公钥池中存储有与所述用户私钥相对应的用户公钥;
参与方包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现权利要求1~4任一项所述的抗量子计算Elgamal加解密方法。
CN201910045337.7A 2019-01-17 2019-01-17 基于群组非对称密钥池的抗量子计算Elgamal加解密方法和*** Active CN109905229B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910045337.7A CN109905229B (zh) 2019-01-17 2019-01-17 基于群组非对称密钥池的抗量子计算Elgamal加解密方法和***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910045337.7A CN109905229B (zh) 2019-01-17 2019-01-17 基于群组非对称密钥池的抗量子计算Elgamal加解密方法和***

Publications (2)

Publication Number Publication Date
CN109905229A CN109905229A (zh) 2019-06-18
CN109905229B true CN109905229B (zh) 2023-05-05

Family

ID=66943911

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910045337.7A Active CN109905229B (zh) 2019-01-17 2019-01-17 基于群组非对称密钥池的抗量子计算Elgamal加解密方法和***

Country Status (1)

Country Link
CN (1) CN109905229B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110519045B (zh) * 2019-07-02 2023-09-01 如般量子科技有限公司 基于群组非对称密钥池的抗量子计算联盟链交易方法、***
CN110517040A (zh) * 2019-07-02 2019-11-29 如般量子科技有限公司 基于群组非对称密钥池的抗量子计算区块链保密交易方法、***和设备
CN110677253B (zh) * 2019-08-28 2022-11-15 如般量子科技有限公司 基于非对称密钥池和ecc的抗量子计算rfid认证方法及***
CN111698095B (zh) * 2020-06-17 2023-07-11 南京如般量子科技有限公司 基于id密码学和对称密钥池的数据链抗量子计算通信方法及***

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108985099A (zh) * 2018-07-31 2018-12-11 如般量子科技有限公司 一种基于公共密钥池的代理云存储安全控制方法和***
CN108989033A (zh) * 2018-07-31 2018-12-11 如般量子科技有限公司 一种基于公共密钥池的云存储安全控制方法和***

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107347058B (zh) * 2016-05-06 2021-07-23 阿里巴巴集团控股有限公司 数据加密方法、数据解密方法、装置及***
CN109104276B (zh) * 2018-07-31 2021-10-22 如般量子科技有限公司 一种基于密钥池的云存储安全控制方法和***
CN109150519B (zh) * 2018-09-20 2021-11-16 如般量子科技有限公司 基于公共密钥池的抗量子计算云存储安全控制方法和***
CN109151053B (zh) * 2018-09-20 2021-08-10 如般量子科技有限公司 基于公共非对称密钥池的抗量子计算云存储方法和***

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108985099A (zh) * 2018-07-31 2018-12-11 如般量子科技有限公司 一种基于公共密钥池的代理云存储安全控制方法和***
CN108989033A (zh) * 2018-07-31 2018-12-11 如般量子科技有限公司 一种基于公共密钥池的云存储安全控制方法和***

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
DGS/QKD-0004_APPLINTF.Group Specification Quantum Key Distribution (QKD).ETSI GS QKD 004.2010,(第V1.1.1期),全文. *
陈若昕 ; 陈杰 ; 张跃宇 ; 党岚君 ; .无证书非对称群密钥协商协议.密码学报.2016,(第04期),全文. *

Also Published As

Publication number Publication date
CN109905229A (zh) 2019-06-18

Similar Documents

Publication Publication Date Title
CN109728906B (zh) 基于非对称密钥池的抗量子计算非对称加密方法和***
US10785019B2 (en) Data transmission method and apparatus
Liu et al. An efficient privacy-preserving outsourced calculation toolkit with multiple keys
KR101098701B1 (ko) 암호체계의 설계를 위한 아이소지니의 사용
US8688973B2 (en) Securing communications sent by a first user to a second user
US8873754B2 (en) Proxy-based encryption method, proxy-based decryption method, network equipment, network device and system
CN109905229B (zh) 基于群组非对称密钥池的抗量子计算Elgamal加解密方法和***
CN110519046B (zh) 基于一次性非对称密钥对和qkd的量子通信服务站密钥协商方法和***
CN109787758B (zh) 基于私钥池和Elgamal的抗量子计算MQV密钥协商方法和***
CN109921905B (zh) 基于私钥池的抗量子计算密钥协商方法和***
CN109936456B (zh) 基于私钥池的抗量子计算数字签名方法和***
US8868911B2 (en) Method for key generation, member authentication, and communication security in dynamic group
CN107483212A (zh) 一种双方协作生成数字签名的方法
CN109660338B (zh) 基于对称密钥池的抗量子计算数字签名方法和***
CN109951274B (zh) 基于私钥池的抗量子计算点对点消息传输方法和***
CN109728905B (zh) 基于非对称密钥池的抗量子计算mqv密钥协商方法和***
CN110380859B (zh) 基于非对称密钥池对和dh协议的量子通信服务站身份认证方法和***
CN110519226B (zh) 基于非对称密钥池和隐式证书的量子通信服务端保密通信方法和***
KR20230141845A (ko) 임계값 키 교환
CN109495244A (zh) 基于对称密钥池的抗量子计算密钥协商方法
CN110176989B (zh) 基于非对称密钥池的量子通信服务站身份认证方法和***
CN109905236B (zh) 基于私钥池的抗量子计算Elgamal加解密方法和***
CN110266483B (zh) 基于非对称密钥池对和qkd的量子通信服务站密钥协商方法、***、设备
CN110677253B (zh) 基于非对称密钥池和ecc的抗量子计算rfid认证方法及***
CN110519040B (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
GR01 Patent grant