CN109936456A - 基于私钥池的抗量子计算数字签名方法和系统 - Google Patents
基于私钥池的抗量子计算数字签名方法和系统 Download PDFInfo
- Publication number
- CN109936456A CN109936456A CN201910034520.7A CN201910034520A CN109936456A CN 109936456 A CN109936456 A CN 109936456A CN 201910034520 A CN201910034520 A CN 201910034520A CN 109936456 A CN109936456 A CN 109936456A
- Authority
- CN
- China
- Prior art keywords
- key
- pond
- dsa
- signer
- public key
- 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.)
- Granted
Links
Landscapes
- Storage Device Security (AREA)
Abstract
本发明涉及基于私钥池的抗量子计算数字签名方法和系统,参与成员配有密钥卡,密钥卡分别存储有DSA公钥池、DSA私钥、DSA公钥指针随机数以及非对称密钥池组;所述非对称密钥池组包括加密私钥池、与各成员对应的加密公钥池和与各成员对应的DSA参数池;本发明中,使用的量子密钥卡是独立的硬件隔离设备。公钥、私钥和真随机数等其他相关参数均服务器内生成,再分配给密钥卡,相应的密钥池和私钥及参数均存储在指定安全区域,被恶意软件或恶意操作窃取密钥的可能性大大降低,也不会被量子计算机获取并破解。
Description
技术领域
本发明涉及公钥密码体制和多密钥池技术,具体涉及领域为数字签名技术。本发明为实现抗量子计算数字签名方法和系统。
背景技术
迅速发展的Internet给人们的生活、工作带来了巨大的方便,人们可以坐在家里通过Internet收发电子邮件、打电话、进行网上购物、银行转账等活动。同时网络信息安全也逐渐成为一个潜在的巨大问题。一般来说网络信息面临着以下几种安全隐患:网络信息被窃取、信息被篡改、攻击者假冒信息、恶意破坏等。
当前保证网络信息安全的关键技术就是密码技术,而在如今的密码学领域中,主要有两种密码系统,一是对称密钥密码系统,即加密密钥和解密密钥使用同一个。另一个是公开密钥密码系统,即加密密钥和解密密钥不同,其中一个可以公开。
对称密钥密码系统的安全性依赖以下两个因素。第一,加密算法必须是足够强的,仅仅基于密文本身去解密信息在实践上是不可能的;第二,加密方法的安全性来自于密钥的秘密性,而不是算法的秘密性。对称加密系统最大的问题是密钥的分发和管理非常复杂、代价高昂。对称加密算法另一个缺点是不容易实现数字签名。所以,在当今的移动电子商务领域中的加密算法实现主要是依赖于公开密钥体制。
公开密钥加密系统采用的加密钥匙(公钥)和解密钥匙(私钥)是不同的。由于加密钥匙是公开的,密钥的分配和管理就很简单,公开密钥加密系统还能够很容易地实现数字签名。
自公钥加密问世以来,学者们提出了许多种公钥加密方法,它们的安全性都是基于复杂的数学难题。根据所基于的数学难题来分类,有以下三类系统目前被认为是安全和有效的:大整数因子分解系统(代表性的有RSA)、离散对数系统(代表性的有DSA)和椭圆离散对数系统(ECC)。
数字签名DSA(DSA-Digital Signature Algorithm)是Schnorr和ElGamal签名算法的变种,被美国国家标准局NIST采用作为数字签名标准(Digital Signature Standard,DSS)。而椭圆曲线数字签名算法(ECDSA)是使用椭圆曲线密码(ECC)对数字签名算法(DSA)的模拟。ECDSA于1999年成为ANSI标准,并于2000年成为IEEE和NIST标准。它在1998年既已为ISO所接受,并且包含它的其他一些标准亦在ISO的考虑之中。与普通的离散对数问题(discrete logarithm problem DLP)和大数分解问题(integer factorization problemIFP)不同,椭圆曲线离散对数问题(elliptic curve discrete logarithm problemECDLP)没有亚指数时间的解决方法。因此椭圆曲线密码的单位比特强度要高于其他公钥体制。
但是随着量子计算机的发展,经典公钥密码体系将不再安全,无论加解密还是密钥交换方法,量子计算机都可以通过公钥计算得到私钥,因此目前数字签名中使用的基于非对称密钥的签名方法将在量子时代存在很大安全隐患。
发明内容
本发明提供一种安全性更高的基于私钥池的抗量子计算数字签名方法和系统。
基于私钥池的抗量子计算数字签名方法,其特征在于,参与成员配有密钥卡,密钥卡分别存储有DSA公钥池、DSA私钥、DSA公钥指针随机数以及非对称密钥池组;所述非对称密钥池组包括加密私钥池、与各成员对应的加密公钥池和与各成员对应的DSA参数池;
所述基于私钥池的抗量子计算数字签名方法在签名方包括:
生成真随机数,依据真随机数从密钥卡中获取DSA参数和签名方的第一加密私钥;
利用DSA参数、签名方的DSA私钥和签名方的第一加密私钥对明文消息进行运算得到签名;
利用所述真随机数从密钥卡中获取签名方的第二加密私钥以及验签方的加密公钥;
利用所述签名方的第二加密私钥以及验签方的加密公钥生成共享密钥,并利用该共享密钥对所述签名加密得到密文;
将所述密文、所述真随机数、签名方的DSA公钥指针地址、签名方的加密公钥池编号和所述明文消息发送给验签方,供验签方验证签名。
可选的,所述依据真随机数从密钥卡中获取DSA参数和签名方的第一加密私钥,包括:
所述真随机数通过密钥指针算法得到指针地址;
根据所述指针地址从签名方的DAS参数池取出相应的DAS参数;
还根据所述指针地址从签名方的的加密私钥池中取得签名方的第一加密私钥。
可选的,所述签名为Ms,且Ms=[kr-1(H(m)+a(Mr))]mod q1;其中:
kr为签名方的第一加密私钥,m为明文消息,H(m)为明文消息的散列码,a为签名方的DSA私钥,Mr为DSA参数,q1为算法参数。
可选的,利用所述真随机数从密钥卡中获取签名方的第二加密私钥以及验签方的加密公钥,包括:
将所述真随机数拆分成第一部分和第二部分;
将第一部分通过指针算法得到加密私钥指针地址,根据该加密私钥指针地址从加密私钥池中取出相应的第二加密私钥;
将第二部分通过指针算法计算得到验签方的加密公钥指针地址,根据该加密公钥指针地址和验签方的公钥池编号从加密公钥密钥池组中取出验签方的加密公钥。
可选的,所述基于私钥池的抗量子计算数字签名方法在验签方包括:
接收来自签名方的所述密文、所述真随机数、签名方的DSA公钥指针地址、签名方的加密公钥池编号和所述明文消息;
利用所述真随机数从密钥卡中验签方的加密私钥和签名方的第二加密公钥;
利用所述验签方的加密私钥和签名方的第二加密公钥生成共享密钥,并利用该共享密钥对所述密文解密得到所述签名;
利用所述真随机数从密钥卡中获取DSA参数,还利用签名方的DSA公钥指针地址从DSA公钥池中取得签名方的DSA公钥;
利用所述明文消息、DSA参数、签名方的DSA公钥验证所述签名。
可选的,利用所述真随机数从密钥卡中验签方的加密私钥和签名方的第二加密公钥,包括:
将所述真随机数拆分成第一部分和第二部分;
将第一部分通过指针算法计算得到签名方的加密公钥指针地址,根据该加密公钥指针地址和签名方的公钥池编号从加密公钥密钥池组中取出签名方的第二加密公钥;
将第二部分通过指针算法得到加密私钥指针地址,根据该加密私钥指针地址从加密私钥池中取出验签方的加密私钥。
本发明还提供一种基于私钥池的抗量子计算数字签名系统,参与成员配有密钥卡,密钥卡分别存储有DSA公钥池、DSA私钥、DSA公钥指针随机数以及非对称密钥池组;所述非对称密钥池组包括加密私钥池、与各成员对应的加密公钥池和与各成员对应的DSA参数池;
所述基于私钥池的抗量子计算数字签名系统包括配置在签名方的:
第一模块,用于生成真随机数,依据真随机数从密钥卡中获取DSA参数和签名方的第一加密私钥;
第二模块,用于利用DSA参数、签名方的DSA私钥和签名方的第一加密私钥对明文消息进行运算得到签名;
第三模块,用于利用所述真随机数从密钥卡中获取签名方的第二加密私钥以及验签方的加密公钥;
第四模块,用于利用所述签名方的第二加密私钥以及验签方的加密公钥生成共享密钥,并利用该共享密钥对所述签名加密得到密文;
第五模块,用于将所述密文、所述真随机数、签名方的DSA公钥指针地址、签名方的加密公钥池编号和所述明文消息发送给验签方,供验签方验证签名。
可选的,还包括配置在验签方的:
第六模块,用于接收来自签名方的所述密文、所述真随机数、签名方的DSA公钥指针地址、签名方的加密公钥池编号和所述明文消息;
第七模块,用于利用所述真随机数从密钥卡中验签方的加密私钥和签名方的第二加密公钥;
第八模块,用于利用所述验签方的加密私钥和签名方的第二加密公钥生成共享密钥,并利用该共享密钥对所述密文解密得到所述签名;
第九模块,用于利用所述真随机数从密钥卡中获取DSA参数,还利用签名方的DSA公钥指针地址从DSA公钥池中取得签名方的DSA公钥;
第十模块,用于利用所述明文消息、DSA参数、签名方的DSA公钥验证所述签名。
本发明还提供一种基于私钥池的抗量子计算数字签名系统,参与成员配有密钥卡,密钥卡分别存储有DSA公钥池、DSA私钥、DSA公钥指针随机数以及非对称密钥池组;所述非对称密钥池组包括加密私钥池、与各成员对应的加密公钥池和与各成员对应的DSA参数池;
参与成员包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现所述的基于私钥池的抗量子计算数字签名方法。
本发明中,使用的量子密钥卡是独立的硬件隔离设备。公钥、私钥和真随机数等其他相关参数均服务器内生成,再分配给密钥卡,相应的密钥池和私钥及参数均存储在指定安全区域,被恶意软件或恶意操作窃取密钥的可能性大大降低,也不会被量子计算机获取并破解。由于数字签名在传输过程中是加密的,加密方式为对称加密,并且其他传输的参数只是用于取密钥池的随机数、公钥池编号和公钥指针地址,只有群组中相应的成员才能计算得到共享密钥和验证签名。计算共享密钥虽然是基于双方的公私钥,但是公钥不参与网络中的传输,且公私钥池的数据量巨大,所以共享密钥不容易被破解,从而也保护了签名的安全性。
附图说明
图1为本发明中密钥池的分布示意图;
图2为本发明的签名流程图;
图3为本发明的验签流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了更好地描述和说明本申请的实施例,可参考一幅或多幅附图,但用于描述附图的附加细节或示例不应当被认为是对本申请的发明创造、目前所描述的实施例或优选方式中任何一者的范围的限制。
应该理解的是,除非本文中有明确的说明,各步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
本发明实现场景为在一个非对称密码体系的群组中的任意两个对象甲、乙。本发明中的群组中每个对象都具有密钥卡,可存储大数据量的密钥,也具备处理信息的能力。群组中每个密钥卡具有多个密钥池,分别是DSA公钥池和非对称密钥池组以及DSA私钥。非对称密钥池组包括一个自身的加密私钥池(私钥池)、群组内各成员对应的加密公钥池(公钥池)和群组内各成员对应的DSA参数池,每个密钥池均存有大量的密钥。具体密钥卡内的分布如图1所示。本发明中,对象甲和对象乙的本地系统中都存在相应需求的算法。
密钥卡的描述可见申请号为“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。服务器在创建一个群组时会利用生成一个大素数p,2L-1≤p<2L,512≤L<1024,且L是64的倍数,并产生一个素数q1,q1为(p-1)的素因子,并且2159<q1<2160。服务器产生一个真随机整数h,计算得到参数g1=h(p-1)/q1mod p。假设所创建群组的成员个数为N,则服务器生成N个大于零且小于q1的随机整数分配给各个群组成员作为DSA私钥。假设DSA私钥为X,DSA公钥则是Y=g1X mod p。将所有的DSA公钥写入到同一个文件内组成DSA公钥文件,即DSA公钥池。同时,服务器会利用生成元g2产生一个q2阶循环群G的有效描述。该循环群需要满足一定的安全性质。服务器产生大量处于{1,…,q1-1}和{1,…,q2-1}交集范围内的随机数组成加密私钥池,所产生的加密私钥池的个数为N。并计算得到加密私钥相应的加密公钥,并组成N个公钥池。计算公式为y=(g2)x mod q2,其中y为加密公钥,x为加密私钥。相应公钥池内的公钥在池内的位置与对应私钥池内的相应私钥在池内的位置一致。服务器还会利用加密私钥计算得到一种DSA参数Mr=((g1)x mod p)mod q1。同样将该参数组成N个相应的DSA参数池。相应DSA参数池内的参数在池内的位置与对应加密私钥池内的相应私钥在池内的位置一致。对应同一加密私钥池的加密公钥池和DSA参数池在各密钥池组内的编号相同。
在密钥卡注册时,服务器会将DSA公钥文件、未分配的加密私钥池以及群组内所有加密公钥池和所有DSA参数池一并存储在密钥卡内。同时将未分配的DSA私钥中随机选取一个分配给该密钥卡并将对应的DSA公钥指针地址存储在密钥卡内,DSA公钥指针地址用于查找与DSA私钥成对的DSA公钥。另外,密钥卡内还存放有己方加密公钥池编号,即己方DSA参数池编号,以及相关的算法参数{g1,p,q1}和{g2,q2,G}。
设本系统参与签名验签的对象分别为对象甲和对象乙。对象甲为消息的签名方,即消息的发送方;对象乙为消息的验签方,即消息的接收方。
设对象甲对应的DSA公私钥对为(A,a),DSA公钥为A,DSA私钥为a;设对象乙对应的DSA公私钥对为(B,b),DSA公钥为B,DSA私钥为b。
设对象甲的非对称加密密钥池所对应的加密公私钥对为(Ki,i),加密公钥为Ki,加密私钥为i;设对象乙的非对称加密密钥池所对应的公私钥对为(Kj,j),加密公钥为Kj,加密私钥为j;设DSA参数池内取得的DSA参数为Mr。本发明中,加密算法为Elgamal加密算法。
其中一个实施例中提供一种基于私钥池的抗量子计算数字签名方法,参与成员配有密钥卡,密钥卡分别存储有DSA公钥池、DSA私钥、DSA公钥指针随机数以及非对称密钥池组;所述非对称密钥池组包括加密私钥池、与各成员对应的加密公钥池和与各成员对应的DSA参数池;
所述基于私钥池的抗量子计算数字签名方法在签名方包括:
生成真随机数,依据真随机数从密钥卡中获取DSA参数和签名方的第一加密私钥;
利用DSA参数、签名方的DSA私钥和签名方的第一加密私钥对明文消息进行运算得到签名;
利用所述真随机数从密钥卡中获取签名方的第二加密私钥以及验签方的加密公钥;
利用所述签名方的第二加密私钥以及验签方的加密公钥生成共享密钥,并利用该共享密钥对所述签名加密得到密文;
将所述密文、所述真随机数、签名方的DSA公钥指针地址、签名方的加密公钥池编号和所述明文消息发送给验签方,供验签方验证签名。
所述基于私钥池的抗量子计算数字签名方法在验签方包括:
接收来自签名方的所述密文、所述真随机数、签名方的DSA公钥指针地址、签名方的加密公钥池编号和所述明文消息;
利用所述真随机数从密钥卡中验签方的加密私钥和签名方的第二加密公钥;
利用所述验签方的加密私钥和签名方的第二加密公钥生成共享密钥,并利用该共享密钥对所述密文解密得到所述签名;
利用所述真随机数从密钥卡中获取DSA参数,还利用签名方的DSA公钥指针地址从DSA公钥池中取得签名方的DSA公钥;
利用所述明文消息、DSA参数、签名方的DSA公钥验证所述签名。
其中一个实施例中提供一种基于私钥池的抗量子计算数字签名方法,参与成员配有密钥卡,密钥卡分别存储有DSA公钥池、DSA私钥、DSA公钥指针随机数以及非对称密钥池组;所述非对称密钥池组包括加密私钥池、与各成员对应的加密公钥池和与各成员对应的DSA参数池;具体包括:
步骤1:对象甲对消息进行签名并发送消息
1.1对象甲取签名相关公私钥及参数:对象甲产生一个真随机数r,并将r通过密钥指针算法fkp得到DSA参数指针地址kp。对象甲根据DSA参数指针地址kp从本地系统的DSA参数池组中的自身DSA参数池取出相应的DSA参数Mr。同时,根据该指针地址kp从本地系统的加密私钥池中取得自身第一加密私钥kr。
对象甲从密钥卡内取出自身的DSA私钥a。
1.2对象甲对消息进行签名:假设对象甲进行签名的消息为m。对象甲计算得到签名Ms=[kr-1(H(m)+a(Mr))]mod q1,其中H(m)为使用SHA-1或SHA-2等散列算法生成的m的散列码。
1.3对象甲取加密私钥和乙方加密公钥:对象甲将真随机数r通过指定算法拆分成两部分,分别为ri和rj。对象甲将ri通过指针算法fkp得到加密私钥指针地址kpi。对象甲根据加密私钥指针地址kpi从本地系统的加密私钥池中取出相应的第二加密私钥ki。
同时,对象甲将rj通过指针算法fkp计算得到对象乙的加密公钥指针地址kpj。对象甲根据加密公钥指针地址kpj和对象乙的公钥池编号Pj从本地系统中的加密公钥密钥池组中取出乙方的加密公钥Kj。对象乙的公钥池编号Pj是通过访问服务器或者向对象乙直接请求得到的。
针对ri和rj进行运算时的指针算法可以相同或不同。
1.4对象甲加密签名:对象甲生成共享密钥s=Kj^ki。对象甲对签名加密后得到c={Ms}·s。
1.5对象甲将消息发送到对象乙:对象甲将签名密文c、随机数r、对象甲的DSA公钥指针地址ra、对象甲的加密公钥池编号Pi和明文消息m组合后加密发送到对象乙。
步骤2:对象乙解密解析消息并验证签名
2.1对象乙接收消息并解密解析:对象乙接收到来自对象甲的消息,对其进行解密解析得到明文m’、对象甲的DSA公钥指针地址ra’、对象甲的加密公钥池编号Pi’、随机数r’和签名密文c’。
2.2对象乙取得加密私钥和甲方加密公钥:对象乙将随机数r’通过指定算法拆分成ri’和rj’。
对象乙将ri’通过指针算法fkp计算得到对象甲的加密公钥指针地址kpi’。对象乙根据加密公钥指针地址kpi’和对象甲的公钥池编号Pi’从本地系统中的加密公钥密钥池组中取出甲方的第二加密公钥Ki。
对象乙将rj’通过指针算法fkp得到加密私钥指针地址kpj’。对象乙根据加密私钥指针地址kpj’从本地系统的加密私钥池中取出相应的加密私钥kj。
2.3对象乙计算解密签名密文:对象乙计算共享密钥s’=Ki^kj。对象乙利用共享密钥s’对签名密文解密得到Ms’=c’·s’-1。s-1是s在循环群G上的逆元。
2.4对象乙取签名相关公私钥及参数:对象乙将r’通过密钥指针算法fkp得到DSA参数指针地址kp’。对象乙根据DSA参数指针地址kp’和对象甲的公钥池编号Pi’从本地系统的DSA参数池组中取出相应的DSA参数Mr’。
因为每个角色密钥卡的自身DSA参数池编号和自身加密公钥池编号是一样的,所以查找对象甲的DSA参数池时可以使用对象甲的公钥池编号。对象乙根据消息解析得到的对象甲DSA公钥指针地址ra’从DSA公钥池文件中取得对象甲的DSA公钥A。
2.5对象乙验证消息签名:对象乙通过计算得到w=(Ms’)-1mod q1,u1=(H(m’)*w)mod q1,u2=(Mr’*w)mod q1,最后对象乙计算得到v=((g1u1*A’u2)mod p)mod q1。如果v=r’,则该消息的签名为有效签名,反之则为无效签名。
其中一实施例中,提供一种基于私钥池的抗量子计算数字签名系统,参与成员配有密钥卡,密钥卡分别存储有DSA公钥池、DSA私钥、DSA公钥指针随机数以及非对称密钥池组;所述非对称密钥池组包括加密私钥池、与各成员对应的加密公钥池和与各成员对应的DSA参数池;
所述基于私钥池的抗量子计算数字签名系统包括配置在签名方的:
第一模块,用于生成真随机数,依据真随机数从密钥卡中获取DSA参数和签名方的第一加密私钥;
第二模块,用于利用DSA参数、签名方的DSA私钥和签名方的第一加密私钥对明文消息进行运算得到签名;
第三模块,用于利用所述真随机数从密钥卡中获取签名方的第二加密私钥以及验签方的加密公钥;
第四模块,用于利用所述签名方的第二加密私钥以及验签方的加密公钥生成共享密钥,并利用该共享密钥对所述签名加密得到密文;
第五模块,用于将所述密文、所述真随机数、签名方的DSA公钥指针地址、签名方的加密公钥池编号和所述明文消息发送给验签方,供验签方验证签名。
可选的,还包括配置在验签方的:
第六模块,用于接收来自签名方的所述密文、所述真随机数、签名方的DSA公钥指针地址、签名方的加密公钥池编号和所述明文消息;
第七模块,用于利用所述真随机数从密钥卡中验签方的加密私钥和签名方的第二加密公钥;
第八模块,用于利用所述验签方的加密私钥和签名方的第二加密公钥生成共享密钥,并利用该共享密钥对所述密文解密得到所述签名;
第九模块,用于利用所述真随机数从密钥卡中获取DSA参数,还利用签名方的DSA公钥指针地址从DSA公钥池中取得签名方的DSA公钥;
第十模块,用于利用所述明文消息、DSA参数、签名方的DSA公钥验证所述签名。
关于抗量子计算数字签名系统的具体限定可以参见上文中对于抗量子计算数字签名方法的限定,在此不再赘述。上述各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,即一种基于私钥池的抗量子计算数字签名系统,该计算机设备可以是终端,其内部结构可以包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现上述抗量子计算数字签名方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
其中一实施例中,提供一种基于私钥池的抗量子计算数字签名系统,参与成员配有密钥卡,密钥卡分别存储有DSA公钥池、DSA私钥、DSA公钥指针随机数以及非对称密钥池组;所述非对称密钥池组包括加密私钥池、与各成员对应的加密公钥池和与各成员对应的DSA参数池;
参与成员包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现所述的基于私钥池的抗量子计算数字签名方法。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明的保护范围应以所附权利要求为准。
Claims (9)
1.基于私钥池的抗量子计算数字签名方法,其特征在于,参与成员配有密钥卡,密钥卡分别存储有DSA公钥池、DSA私钥、DSA公钥指针随机数以及非对称密钥池组;所述非对称密钥池组包括加密私钥池、与各成员对应的加密公钥池和与各成员对应的DSA参数池;
所述基于私钥池的抗量子计算数字签名方法在签名方包括:
生成真随机数,依据真随机数从密钥卡中获取DSA参数和签名方的第一加密私钥;
利用DSA参数、签名方的DSA私钥和签名方的第一加密私钥对明文消息进行运算得到签名;
利用所述真随机数从密钥卡中获取签名方的第二加密私钥以及验签方的加密公钥;
利用所述签名方的第二加密私钥以及验签方的加密公钥生成共享密钥,并利用该共享密钥对所述签名加密得到密文;
将所述密文、所述真随机数、签名方的DSA公钥指针地址、签名方的加密公钥池编号和所述明文消息发送给验签方,供验签方验证签名。
2.如权利要求1所述的基于私钥池的抗量子计算数字签名方法,其特征在于,所述依据真随机数从密钥卡中获取DSA参数和签名方的第一加密私钥,包括:
所述真随机数通过密钥指针算法得到指针地址;
根据所述指针地址从签名方的DAS参数池取出相应的DAS参数;
还根据所述指针地址从签名方的的加密私钥池中取得签名方的第一加密私钥。
3.如权利要求2所述的基于私钥池的抗量子计算数字签名方法,其特征在于,所述签名为Ms,且Ms=[kr-1(H(m)+a(Mr))]mod q1;其中:
kr为签名方的第一加密私钥,m为明文消息,H(m)为明文消息的散列码,a为签名方的DSA私钥,Mr为DSA参数,q1为算法参数。
4.如权利要求3所述的基于私钥池的抗量子计算数字签名方法,其特征在于,利用所述真随机数从密钥卡中获取签名方的第二加密私钥以及验签方的加密公钥,包括:
将所述真随机数拆分成第一部分和第二部分;
将第一部分通过指针算法得到加密私钥指针地址,根据该加密私钥指针地址从加密私钥池中取出相应的第二加密私钥;
将第二部分通过指针算法计算得到验签方的加密公钥指针地址,根据该加密公钥指针地址和验签方的公钥池编号从加密公钥密钥池组中取出验签方的加密公钥。
5.如权利要求1所述的基于私钥池的抗量子计算数字签名方法,其特征在于,所述基于私钥池的抗量子计算数字签名方法在验签方包括:
接收来自签名方的所述密文、所述真随机数、签名方的DSA公钥指针地址、签名方的加密公钥池编号和所述明文消息;
利用所述真随机数从密钥卡中验签方的加密私钥和签名方的第二加密公钥;
利用所述验签方的加密私钥和签名方的第二加密公钥生成共享密钥,并利用该共享密钥对所述密文解密得到所述签名;
利用所述真随机数从密钥卡中获取DSA参数,还利用签名方的DSA公钥指针地址从DSA公钥池中取得签名方的DSA公钥;
利用所述明文消息、DSA参数、签名方的DSA公钥验证所述签名。
6.如权利要求5所述的基于私钥池的抗量子计算数字签名方法,其特征在于,利用所述真随机数从密钥卡中验签方的加密私钥和签名方的第二加密公钥,包括:
将所述真随机数拆分成第一部分和第二部分;
将第一部分通过指针算法计算得到签名方的加密公钥指针地址,根据该加密公钥指针地址和签名方的公钥池编号从加密公钥密钥池组中取出签名方的第二加密公钥;
将第二部分通过指针算法得到加密私钥指针地址,根据该加密私钥指针地址从加密私钥池中取出验签方的加密私钥。
7.基于私钥池的抗量子计算数字签名系统,其特征在于,参与成员配有密钥卡,密钥卡分别存储有DSA公钥池、DSA私钥、DSA公钥指针随机数以及非对称密钥池组;所述非对称密钥池组包括加密私钥池、与各成员对应的加密公钥池和与各成员对应的DSA参数池;
所述基于私钥池的抗量子计算数字签名系统包括配置在签名方的:
第一模块,用于生成真随机数,依据真随机数从密钥卡中获取DSA参数和签名方的第一加密私钥;
第二模块,用于利用DSA参数、签名方的DSA私钥和签名方的第一加密私钥对明文消息进行运算得到签名;
第三模块,用于利用所述真随机数从密钥卡中获取签名方的第二加密私钥以及验签方的加密公钥;
第四模块,用于利用所述签名方的第二加密私钥以及验签方的加密公钥生成共享密钥,并利用该共享密钥对所述签名加密得到密文;
第五模块,用于将所述密文、所述真随机数、签名方的DSA公钥指针地址、签名方的加密公钥池编号和所述明文消息发送给验签方,供验签方验证签名。
8.如权利要求7所述的基于私钥池的抗量子计算数字签名系统,其特征在于,还包括配置在验签方的:
第六模块,用于接收来自签名方的所述密文、所述真随机数、签名方的DSA公钥指针地址、签名方的加密公钥池编号和所述明文消息;
第七模块,用于利用所述真随机数从密钥卡中验签方的加密私钥和签名方的第二加密公钥;
第八模块,用于利用所述验签方的加密私钥和签名方的第二加密公钥生成共享密钥,并利用该共享密钥对所述密文解密得到所述签名;
第九模块,用于利用所述真随机数从密钥卡中获取DSA参数,还利用签名方的DSA公钥指针地址从DSA公钥池中取得签名方的DSA公钥;
第十模块,用于利用所述明文消息、DSA参数、签名方的DSA公钥验证所述签名。
9.基于私钥池的抗量子计算数字签名系统,其特征在于,参与成员配有密钥卡,密钥卡分别存储有DSA公钥池、DSA私钥、DSA公钥指针随机数以及非对称密钥池组;所述非对称密钥池组包括加密私钥池、与各成员对应的加密公钥池和与各成员对应的DSA参数池;
参与成员包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现权利要求1~6任一项所述的基于私钥池的抗量子计算数字签名方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910034520.7A CN109936456B (zh) | 2019-01-15 | 2019-01-15 | 基于私钥池的抗量子计算数字签名方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910034520.7A CN109936456B (zh) | 2019-01-15 | 2019-01-15 | 基于私钥池的抗量子计算数字签名方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109936456A true CN109936456A (zh) | 2019-06-25 |
CN109936456B CN109936456B (zh) | 2022-02-11 |
Family
ID=66985050
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910034520.7A Active CN109936456B (zh) | 2019-01-15 | 2019-01-15 | 基于私钥池的抗量子计算数字签名方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109936456B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110505055A (zh) * | 2019-07-12 | 2019-11-26 | 如般量子科技有限公司 | 基于非对称密钥池对和密钥卡的外网接入身份认证方法和系统 |
CN110519040A (zh) * | 2019-07-16 | 2019-11-29 | 如般量子科技有限公司 | 基于身份的抗量子计算数字签名方法和系统 |
CN110557246A (zh) * | 2019-07-16 | 2019-12-10 | 如般量子科技有限公司 | 基于一次性非对称密钥对和可移动身份识别装置的抗量子计算门禁方法和系统 |
CN110650004A (zh) * | 2019-08-28 | 2020-01-03 | 如般量子科技有限公司 | 基于对称密钥池和在线离线签名的抗量子计算rfid认证方法及系统 |
CN110677253A (zh) * | 2019-08-28 | 2020-01-10 | 如般量子科技有限公司 | 基于非对称密钥池和ecc的抗量子计算rfid认证方法及系统 |
CN112100688A (zh) * | 2020-09-29 | 2020-12-18 | 深圳壹账通智能科技有限公司 | 数据验证方法、装置、设备以及存储介质 |
CN114792010A (zh) * | 2022-04-08 | 2022-07-26 | 北京蓝海在线科技有限公司 | 基于电子存证的数字加密方法、装置、设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007116216A (ja) * | 2005-10-18 | 2007-05-10 | Hitachi Ltd | 量子認証方法およびシステム |
CN106612176A (zh) * | 2016-12-16 | 2017-05-03 | 中国电子科技集团公司第三十研究所 | 一种基于量子真随机数协商密钥协商系统及协商方法 |
US20180309571A1 (en) * | 2017-04-20 | 2018-10-25 | Bank Of America Corporation | Quantum key distribution logon widget |
CN108880799A (zh) * | 2018-06-28 | 2018-11-23 | 如般量子科技有限公司 | 基于群组密钥池的多次身份认证系统和方法 |
-
2019
- 2019-01-15 CN CN201910034520.7A patent/CN109936456B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007116216A (ja) * | 2005-10-18 | 2007-05-10 | Hitachi Ltd | 量子認証方法およびシステム |
CN106612176A (zh) * | 2016-12-16 | 2017-05-03 | 中国电子科技集团公司第三十研究所 | 一种基于量子真随机数协商密钥协商系统及协商方法 |
US20180309571A1 (en) * | 2017-04-20 | 2018-10-25 | Bank Of America Corporation | Quantum key distribution logon widget |
CN108880799A (zh) * | 2018-06-28 | 2018-11-23 | 如般量子科技有限公司 | 基于群组密钥池的多次身份认证系统和方法 |
Non-Patent Citations (2)
Title |
---|
RANDALL K.NICHOLS,PANOS C.LEKKAS著,姚兰等译: "《无线安全模型、威胁和解决方案》", 30 November 2004 * |
杨晓元,魏立线主编: "《计算机密码学》", 31 March 2007 * |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110505055A (zh) * | 2019-07-12 | 2019-11-26 | 如般量子科技有限公司 | 基于非对称密钥池对和密钥卡的外网接入身份认证方法和系统 |
CN110519040A (zh) * | 2019-07-16 | 2019-11-29 | 如般量子科技有限公司 | 基于身份的抗量子计算数字签名方法和系统 |
CN110557246A (zh) * | 2019-07-16 | 2019-12-10 | 如般量子科技有限公司 | 基于一次性非对称密钥对和可移动身份识别装置的抗量子计算门禁方法和系统 |
CN110519040B (zh) * | 2019-07-16 | 2023-04-18 | 如般量子科技有限公司 | 基于身份的抗量子计算数字签名方法和系统 |
CN110557246B (zh) * | 2019-07-16 | 2023-05-05 | 如般量子科技有限公司 | 基于一次性非对称密钥对和可移动身份识别装置的抗量子计算门禁方法和系统 |
CN110650004A (zh) * | 2019-08-28 | 2020-01-03 | 如般量子科技有限公司 | 基于对称密钥池和在线离线签名的抗量子计算rfid认证方法及系统 |
CN110677253A (zh) * | 2019-08-28 | 2020-01-10 | 如般量子科技有限公司 | 基于非对称密钥池和ecc的抗量子计算rfid认证方法及系统 |
CN110677253B (zh) * | 2019-08-28 | 2022-11-15 | 如般量子科技有限公司 | 基于非对称密钥池和ecc的抗量子计算rfid认证方法及系统 |
CN112100688A (zh) * | 2020-09-29 | 2020-12-18 | 深圳壹账通智能科技有限公司 | 数据验证方法、装置、设备以及存储介质 |
CN114792010A (zh) * | 2022-04-08 | 2022-07-26 | 北京蓝海在线科技有限公司 | 基于电子存证的数字加密方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN109936456B (zh) | 2022-02-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Menezes et al. | Handbook of applied cryptography | |
CN106961336B (zh) | 一种基于sm2算法的密钥分量托管方法和系统 | |
CN109936456A (zh) | 基于私钥池的抗量子计算数字签名方法和系统 | |
CN109728906B (zh) | 基于非对称密钥池的抗量子计算非对称加密方法和系统 | |
CN109450623A (zh) | 基于非对称密钥池的抗量子计算密钥协商方法 | |
CN109787758A (zh) | 基于私钥池和Elgamal的抗量子计算MQV密钥协商方法和系统 | |
CN109660338B (zh) | 基于对称密钥池的抗量子计算数字签名方法和系统 | |
CN109921905B (zh) | 基于私钥池的抗量子计算密钥协商方法和系统 | |
CN109672530A (zh) | 基于非对称密钥池的抗量子计算数字签名方法和抗量子计算数字签名系统 | |
CN109818749A (zh) | 基于对称密钥池的抗量子计算点对点消息传输方法和系统 | |
CN110086626A (zh) | 基于非对称密钥池对的量子保密通信联盟链交易方法和系统 | |
CN110519046A (zh) | 基于一次性非对称密钥对和qkd的量子通信服务站密钥协商方法和系统 | |
CN109951274A (zh) | 基于私钥池的抗量子计算点对点消息传输方法和系统 | |
CN109728905A (zh) | 基于非对称密钥池的抗量子计算mqv密钥协商方法和系统 | |
CN109919611A (zh) | 基于对称密钥池服务器的抗量子计算区块链交易方法和系统 | |
CN109905229A (zh) | 基于群组非对称密钥池的抗量子计算Elgamal加解密方法和系统 | |
CN109495244A (zh) | 基于对称密钥池的抗量子计算密钥协商方法 | |
CN109687977A (zh) | 基于多个密钥池的抗量子计算数字签名方法和抗量子计算数字签名系统 | |
CN110380859A (zh) | 基于非对称密钥池对和dh协议的量子通信服务站身份认证方法和系统 | |
Alfred et al. | Handbook of applied cryptography | |
CN111447058B (zh) | 基于中国剩余定理的图书资源访问控制方法 | |
CN109831306A (zh) | 基于多个密钥池的抗量子计算环签名方法和系统 | |
Tsai et al. | An ECC‐based blind signcryption scheme for multiple digital documents | |
CN110519040B (zh) | 基于身份的抗量子计算数字签名方法和系统 | |
Yang et al. | Practical escrow protocol for bitcoin |
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 |