CN110048852B - 基于非对称密钥池的量子通信服务站数字签密方法和系统 - Google Patents

基于非对称密钥池的量子通信服务站数字签密方法和系统 Download PDF

Info

Publication number
CN110048852B
CN110048852B CN201910248987.1A CN201910248987A CN110048852B CN 110048852 B CN110048852 B CN 110048852B CN 201910248987 A CN201910248987 A CN 201910248987A CN 110048852 B CN110048852 B CN 110048852B
Authority
CN
China
Prior art keywords
parameter
service station
signcryption
communication service
quantum communication
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
CN201910248987.1A
Other languages
English (en)
Other versions
CN110048852A (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 CN201910248987.1A priority Critical patent/CN110048852B/zh
Publication of CN110048852A publication Critical patent/CN110048852A/zh
Application granted granted Critical
Publication of CN110048852B publication Critical patent/CN110048852B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0852Quantum cryptography
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures

Abstract

本发明涉及一种基于非对称密钥池的量子通信服务站数字签密方法和系统,量子通信服务站配置有服务站密钥卡,各参与方配置有客户端密钥卡,该方法包括在签密方:利用随机数从客户端非对称公钥池中取出参数Kia1、从客户端非对称私钥池中取出参数kia1,并从所属服务站非对称密钥池中取出参数Kia2,并利用参数Kia2计算得到第一、第二中间参数;利用第一中间参数加密第一原文得到第一密文;利用哈希函数作用于第一原文和第二中间参数得到参数ra;利用参数ra和参数kia1计算得到参数sa;对参数Kia2和参数Kia1进行计算,用哈希函数作用于计算结果和参数ra得到参数rka,再利用参数rka加密参数sa得到参数srka;将第一密文、参数ra和参数srka作为签密发送给验密方用以进行验签。

Description

基于非对称密钥池的量子通信服务站数字签密方法和系统
技术领域
本发明涉及安全通信领域,尤其是一种使用密钥卡技术手段实现的量子通信服务站数字签密系统。
背景技术
密码学是信息安全学科的核心。密码学中用来提供信息安全服务的密码学原语称为密码系统(cryptosystem)。密码系统提供的基本安全服务有机密性(condentiality)、完整性(Integrity)、认证(Authentication)和不可否认性(Non—repudiation)。机密性是指信息只为授权用户使用,不能泄露给未授权的用户。完整性是指信息在传输或存储过程中,不能被偶然或蓄意地删除、修改、伪造、重放、插入等破坏和丢失的特性。认证是确保通信方身份是真实的。确认一个实体的身份称为实体认证,确认一个信息的来源称为消息认证。不可否认性是防止通信方对以前的许诺或者行为的否认。在密码学中,机密性可以通过一种基本的密码原语称为加密(Encryption)来取得。加密可以看成是一种变换,这种变换将可读的明文信息变换成不可读的密文信息。数字签名(Digital signature)也是一种基本的密码原语,它可以取得完整性、认证和不可否认性。数字签名可以看成是对数据所做的一种密码变换,这种密码变换可以使数据的接收者确认签名者的身份和数据的完整性。如果我们需要同时取得机密性、完整性、认证和不可否认性,一个传统的方法是先对消息进行签名,然后再进行加密,称为“先签名后加密”方法。这种方法的计算量和通信成本是加密和签名代价之和,效率较低。1997年,zheng提出了一种新的密码原语来同时取得这四种安全性质,他称这一密码原语为数字签密(Digital signcryption)。比起传统的“先签名后加密”,签密具有以下优点:1)签密在计算量和通信成本上都要低于传统的“先签名后加密”方法;2)签密允许并行计算一些昂贵的密码操作;3)合理设计的签密方案可以取得更高的安全水平;4)签密可以简化同时需要保密和认证的密码协议的设计。对于当前推荐的最小安全参数(模数=512比特),签密比使用基于离散对数困难问题的“先签名后加密”方法节省了58%的计算量和70%的通信成本。对于比较大的安全参数(模数=1536比特),签密比使用RSA密码体制的“先签名后加密”方法节省了50%的计算量和9l%的通信成本。成本上的节省随着安全参数的增大而增大。随着密码分析理论与技术的进步,将来我们的密码体制需要更大的安全参数,签密体制将更具有实际意义。基于以上原因,许多密码学研究者对签密的工作原理进行了深入研究,设计出了许多高效且安全的签密方案。
根据公钥认证方法,我们可以将签密体制分为基于PKI的签密体制、基于身份的签密体制和无证书签密体制。如果一个签密方案与一个具有特殊性质的签名或者加密方案相结合,就可以设计出具有特殊性质的签密方案,比如签密与代理签名相结合,称为代理签密;签密与环签名相结合,称为环签密;签密与广播加密相结合,称为广播加密。如果一个签密是利用混合加密的思想来构造,我们称为混合签密。混合签密将整个算法分成了独立的两块,一块是签密密钥封装机制(Key Encapsulation Mechanism,KEM),另一块是数据封装机制(Data Encapsulation Mechanism,DEM)。这两块通过某种方式相结合就构造出完整的签密方案。因此,我们又可以将签密体制分为基本签密体制、具有特殊性质的签密体制和混合签密体制。
量子通信技术是基于量子物理学建立起来的新兴安全通信技术。我国的量子通信技术已经进入了实用化的阶段,其应用前景和战略意义也引起了地方政府和重要行业对其产业发展的广泛关注。除建立量子通信干线以外,一些规模化城域量子通信网络也已经建设成功并运行。基于城域量子通信网络,量子通信技术也有了初步的应用,可实现高保密性的视频语音通信等应用。量子通信干线和量子通信城域网等量子通信网络,组成量子通信网络,其本质是量子密钥分发(QKD)。因此以QKD技术为基础建立起来的量子通信网络可称为QKD网络。
虽然目前量子城域网已经可以允许用户接入并享有量子网络的高安全特性,但是目前用户接入量子网络的部分仍然是整个量子通信网络中的软肋。一方面量子密钥分发后的密钥安全到达用户手中是一个很大的问题,存在被窃取或篡改的风险;另一方面,同一台量子密钥分发设备所能连接的用户数有限,无法同时连接大量用户。因此需要在用户接入量子网络的部分,采用量子通信服务站的方式,解决上述问题:
(1)量子通信服务站作为类似运营商的角色,一方面与QKD网络建立合作关系,实现安全连接的保证,从而保证量子密钥可以安全分发到量子通信服务站;另一方面,量子通信服务站为用户颁发量子密钥卡,将量子随机数密钥颁发给用户,同时自身保存用户所拥有的密钥,可实现量子通信服务站与用户之间的安全通信。
(2)量子通信服务站可以搭建为集群服务器的模式,可以同时接入大量用户。
量子计算机在密码破解上有着巨大潜力。当今主流的非对称(公钥)加密算法,如RSA加密算法,大多数都是基于大整数的因式分解或者有限域上的离散对数的计算这两个数学难题。它们的破解难度也就依赖于解决这些问题的效率。传统计算机上,要求解这两个数学难题,花费时间为指数时间(即破解时间随着公钥长度的增长以指数级增长),这在实际应用中是无法接受的。而为量子计算机量身定做的秀尔算法可以在多项式时间内(即破解时间随着公钥长度的增长以k次方的速度增长,其中k为与公钥长度无关的常数)进行整数因式分解或者离散对数计算,从而为RSA、离散对数加密算法的破解提供可能。
现有技术存在的问题:
1、量子通信服务站与量子密钥卡之间使用对称密钥池,其容量巨大,对量子通信服务站的密钥存储带来压力。
2、由于对称密钥池密钥容量巨大,量子通信服务站不得不将密钥加密存储于普通存储介质例如硬盘内,而无法存储于量子通信服务站的密钥卡内。
3、由于对称密钥池密钥容量巨大,给密钥备份造成麻烦。
4、当前基于量子通信的数字签名方法一般为先签名后加密,计算量和传输数据均大于签密的方法。
发明内容
本发明提供一种容量大幅减小、密钥备份更加便利的基于非对称密钥池的量子通信服务站数字签密方法和系统。
本发明基于非对称密钥池的量子通信服务站数字签密方法,所述量子通信服务站配置有服务站密钥卡,各参与方配置有客户端密钥卡,所述服务站密钥卡中存储有客户端非对称密钥池、服务站非对称公钥池和服务站非对称私钥池,所述客户端密钥卡中存储有所属服务站非对称密钥池,以及己方的客户端非对称公钥池和客户端非对称私钥池;
所述量子通信服务站数字签密方法,包括在签密方:
利用随机数从客户端非对称公钥池中取出参数Kia1、从客户端非对称私钥池中取出与参数Kia1对应的参数kia1,并从所属服务站非对称密钥池中取出参数Kia2,并利用参数Kia2计算得到第一、第二中间参数;
利用第一中间参数加密第一原文得到第一密文;
利用哈希函数作用于第一原文和第二中间参数得到参数ra;
利用参数ra和参数kia1计算得到参数sa;
对参数Kia2和参数Kia1进行计算得到计算结果,利用哈希函数作用于所述计算结果和参数ra得到参数rka,再利用参数rka加密参数sa得到参数srka;
将所述第一密文、所述参数ra以及所述参数srka作为签密发送给验密方用以进行延签。
可选的,所述参与方包括签密方和验密方,若签密方和验密方属于两个不同的量子通信服务站,签密方属于量子通信服务站QA,且签密方设有包含量子通信服务站QA的相关信息的ID,该ID记为IDA;验密方属于量子通信服务站QB,验密方设有包含量子通信服务站QB的相关信息的ID,该ID记为IDB;
则将所述第一密文、所述参数ra以及所述参数srka作为签密发送给验密方用以进行验密,包括:
将所述IDA,所述第一密文、所述参数ra以及所述参数srka进行组合,得到签密FSE发送给验密方用以进行验密。
可选的,所述量子通信服务站数字签密方法,还包括在验密方:
验密方生成签密验证请求消息REQ,与从签密方接收的签密FSE进行组合,得到第二原文;
利用随机数从客户端非对称公钥池中取出参数Kib1、从客户端非对称私钥池中取出与参数Kib1对应的参数kib1,并从所属服务站非对称密钥池中取出参数Kib2,并利用参数Kib2计算得到第三、第四中间参数;
利用第三中间参数加密第二原文得到第二密文;
利用哈希函数作用于第二原文和第四中间参数得到参数rb;
利用参数rb和参数kib1计算得到参数sb;
对参数Kib2和参数Kib1进行计算得到计算结果,利用哈希函数作用于所述计算结果和参数rb得到参数rkb,再利用参数rkb加密参数sb得到参数srkb;
将所述IDB,所述第二密文、所述参数rb以及所述参数srkb进行组合,得到签密MREQSE发送给量子通信服务站QB用以进行验密。
可选的,所述量子通信服务站数字签密方法,还包括在量子通信服务站QB:
量子通信服务站QB接收验密方发送的签密MREQSE,并从客户端非对称密钥池中取出参数Kib1,从服务站非对称公钥池中取出参数Kib2,从服务站非对称私钥池中取出与参数Kib2对应的参数kib2;
对参数Kib2和参数Kib1进行计算得到计算结果,利用哈希函数作用于所述计算结果和参数rb得到参数rkb,用rkb解密参数srkb得到参数sb;
利用参数Kib1、参数rb、参数sb和参数kib2计算得到参数kb,并将kb拆分得到所述第三、第四中间参数;
利用第三中间参数解密第二密文得到第二原文;
利用哈希函数作用于第二原文和第四中间参数,并将哈希函数的作用结果与参数rb进行对比,若对比结果为相同,则从第二原文中获取签密方的IDA,并确定签密方所述的服务站为量子通信服务站QA;
利用第二原文得到第三密文和第一消息认证码,并将所述第三密文和第一消息认证码发送给量子通信服务站QA。
可选的,所述量子通信服务站数字签密方法,还包括在量子通信服务站QA:
接收量子通信服务站QB发送的第三密文和第一消息认证码;
对第一消息认证码进行验证并解密第三密文,验证成功后,并得到签密验证请求消息REQ和签密FSE,对FSE中的第一原文和签密方的ID进行验证,得到验证结果FSEResult;
对验证结果FSEResult和签密验证请求消息REQ进行组合,得到消息MRESP,由消息MRESP得到第四密文和第二消息认证码,并将所述第四密文和第二消息认证码发送至量子通信服务站QB;
量子通信服务站QB接收量子通信服务站QA发送的第四密文和第二消息认证码,解密第四密文并对第二消息认证码进行验证,验证成功后,得到消息MRESP,对消息MRESP进行签密得到签密MRESPSE,并将签密MRESPSE发送至验密方;
验密方接收量子通信服务站QB发送的签密MRESPSE,从签密MRESPSE获取针对第一原文和签密方的ID的验证结果FSEResult。
可选的,所述参与方包括签密方和验密方,若签密方和验密方属于相同的量子通信服务站Q,且签密方设有ID,该ID记为IDA;验密方设有ID,该ID记为IDB;
则将所述第一密文、所述参数ra以及所述参数srka作为签密发送给验密方用以进行验密,包括:
将所述IDA,所述第一密文、所述参数ra以及所述参数srka进行组合,得到签密FSE发送给验密方用以进行验密。
可选的,所述量子通信服务站数字签密方法,还包括在验密方:
验密方生成签密验证请求消息REQ,与从签密方接收的签密FSE进行组合,得到第二原文;
利用随机数从客户端非对称公钥池中取出参数Kib1、从客户端非对称私钥池中取出与参数Kib1对应的参数kib1,并从所属服务站非对称密钥池中取出参数Kib2,并利用参数Kib2计算得到第三、第四中间参数;
利用第三中间参数加密第二原文得到第二密文;
利用哈希函数作用于第二原文和第四中间参数得到参数rb;
利用参数rb和参数kib1计算得到参数sb;
对参数Kib2和参数Kib1进行计算得到计算结果,利用哈希函数作用于所述计算结果和参数rb得到参数rkb,再利用参数rkb加密参数sb得到参数srkb;
将所述IDB,所述第二密文、所述参数rb以及所述参数srkb进行组合,得到签密MREQSE发送给量子通信服务站Q用以进行验密。
可选的,所述量子通信服务站数字签密方法,还包括在量子通信服务站Q:
量子通信服务站Q接收验密方发送的签密MREQSE,并从客户端非对称密钥池中取出参数Kib1,从服务站非对称公钥池中取出参数Kib2,从服务站非对称私钥池中取出与参数Kib2对应的参数kib2;
对参数Kib2和参数Kib1进行计算得到计算结果,利用哈希函数作用于所述计算结果和参数rb得到参数rkb,用rkb解密参数srkb得到参数sb;
利用参数Kib1、参数rb、参数sb和参数kib2计算得到参数kb,并将kb拆分得到所述第三、第四中间参数;
利用第三中间参数解密第二密文得到第二原文,利用哈希函数作用于第二原文和第四中间参数,并将哈希函数的作用结果与参数rb进行对比,若对比结果为相同,则从第二原文中得到签密验证请求消息REQ和签密FSE,对FSE中的第一原文和签密方的ID进行验证,得到验证结果FSEResult;
对验证结果FSEResult和签密验证请求消息REQ进行组合,得到消息MRESP,对消息MRESP进行签密得到签密MRESPSE,并将签密MRESPSE发送至验密方;
验密方接收量子通信服务站Q发送的签密MRESPSE,从签密MRESPSE获取针对第一原文和签密方的ID的验证结果FSEResult。
本发明还提供一种基于非对称密钥池的量子通信服务站数字签密系统,所述量子通信服务站配置有服务站密钥卡,各参与方配置有客户端密钥卡,所述服务站密钥卡中存储有客户端非对称密钥池、服务站非对称公钥池和服务站非对称私钥池,所述客户端密钥卡中存储有所属服务站非对称密钥池,以及己方的客户端非对称公钥池和客户端非对称私钥池;
所述量子通信服务站数字签密系统,包括:
第一模块,用于利用随机数从客户端非对称公钥池中取出参数Kia1、从客户端非对称私钥池中取出与参数Kia1对应的参数kia1,并从所属服务站非对称密钥池中取出参数Kia2,并利用参数Kia2计算得到第一、第二中间参数;
第二模块,用于利用第一中间参数加密第一原文得到第一密文;利用哈希函数作用于第一原文和第二中间参数得到参数ra;利用参数ra和参数kia1计算得到参数sa;
第三模块,用于对参数Kia2和参数Kia1进行计算得到计算结果,利用哈希函数作用于所述计算结果和参数ra得到参数rka,再利用参数rka加密参数sa得到参数srka;
第四模块,用于将所述第一密文、所述参数ra以及所述参数srka作为签密发送给验密方用以进行验密。
本发明还提供一种基于非对称密钥池的量子通信服务站数字签密系统,所述量子通信服务站配置有服务站密钥卡,各参与方配置有客户端密钥卡,所述服务站密钥卡中存储有客户端非对称密钥池、服务站非对称公钥池和服务站非对称私钥池,所述客户端密钥卡中存储有所属服务站非对称密钥池,以及己方的客户端非对称公钥池和客户端非对称私钥池;
各参与方和各量子通信服务站包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现所述的基于非对称密钥池的量子通信服务站数字签密方法。
本发明中,使用的密钥卡是独立的硬件隔离设备。公钥、私钥和其他相关参数均存储在密钥卡中的数据安全区,被恶意软件或恶意操作窃取密钥的可能性大大降低,也不会被量子计算机获取并破解。由于在经典网络中均无涉及公私钥及算法参数的传递,因此非对称密钥被破解的风险很低,另外,服务站与服务站之间采用QKD进行加密传输消息,所以消息的安全性得到极大的保障。密钥卡保障了通信双方在群组中的通信安全,也极大的提高了签密算法的安全性。
同时非对称密钥池解决了对称密钥池给量子通信服务站带来密钥存储压力,降低了存储成本。由于对称密钥池改为非对称密钥池对后,密钥容量大幅减小,量子通信服务站可以将密钥加密存储于量子通信服务站的密钥卡内,而无需加密存储于风险更大的外部存储内。由于密钥容量大幅减小,给密钥备份造成方便。
当前基于量子通信的数字签名方法由于采用了签密,因此相比先签名后加密,本数字签名方法的计算量和传输数据均得到减小。
附图说明
图1为本发明中的服务站密钥卡的内部结构图;
图2为本发明中的客户端密钥卡的内部结构图;
图3为本发明中的服务站密钥卡中的客户端非对称密钥池(公钥池)的结构图;
图4为本发明中的第一种随机数和公私钥的关系图;
图5为本发明中的第二种随机数和公私钥的关系图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了更好地描述和说明本申请的实施例,可参考一幅或多幅附图,但用于描述附图的附加细节或示例不应当被认为是对本申请的发明创造、目前所描述的实施例或优选方式中任何一者的范围的限制。
应该理解的是,除非本文中有明确的说明,各步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
如图1~3所示,本发明服务站密钥卡包含有客户端非对称密钥池(公钥池)、服务站非对称密钥池(公钥池)和服务站非对称密钥池(私钥池)。其中客户端非对称密钥池(公钥池)又包括第1号客户端公钥池、第2号客户端公钥池、…、第N号客户端公钥池。客户端非对称密钥池(公钥池)包含所有客户端的公钥,服务站非对称密钥池(公钥池)和服务站非对称密钥池(私钥池)则分别包含该服务站的公钥/私钥。服务站非对称密钥池(公钥池)也可称为服务站非对称公钥池,服务站非对称密钥池(私钥池)也可称为服务站非对称私钥池。
对于客户端密钥卡来说,假设第n客户端隶属于第m服务站,则该客户端的客户端密钥卡包含第m服务站非对称密钥池(公钥池)、第n客户端非对称密钥池(公钥池)和第n客户端非对称密钥池(私钥池)。其中,服务站非对称密钥池(公钥池)也可称为所属服务站非对称密钥池,客户端非对称密钥池(公钥池)也可称为客户端非对称公钥池,客户端非对称密钥池(私钥池)也可称为客户端非对称私钥池。存储在密钥卡中非对称密钥池里的公钥和私钥,是相对应的,即用一个随机数可以从私钥池中取出一个私钥,同时从一个公钥池中取出相对应的公钥。
公私钥的生成方法如下:颁发机构取一个大素数p,q是p-1的一个素因子,g ϵ Zp*是一个q阶生成元,参数设置以下都通用。再取一个随机数ki,根据公式Ki=gki mod q,算出Ki,得到一组(ki,Ki),将ki作为私钥且Ki作为公钥。如图4~5所示,存储方法如下:对于两种密钥卡中的服务站非对称密钥池(公钥池)和服务站非对称密钥池(私钥池),还有客户端密钥卡中的第n客户端非对称密钥池(公钥池)和第n客户端非对称密钥池(私钥池)来说,取一个随机数ri作为指针随机数,用指针函数fp作用于ri,得到指针kp,用kp指向私钥池得到一个位置,在该位置存储对应的私钥ki,用kp指向公钥池得到一个位置,在该位置存储对应的公钥Ki。对于服务站密钥卡中的客户端非对称密钥池(公钥池)来说,让kp加上Ks(Ks为当前密钥卡中第m客户端公钥池的起始位置,可为Ks1到KsN中的某一个)得到Kp,用Kp指向公钥池得到一个位置,在该位置存储对应的公钥Ki。用这个方法可以将生成的所有公钥都存在密钥卡的公钥池,将生成的所有私钥都存在密钥卡的私钥池内。
其中一实施例中,提供一种基于非对称密钥池的量子通信服务站数字签密方法,所述量子通信服务站配置有服务站密钥卡,各参与方配置有客户端密钥卡,所述服务站密钥卡中存储有客户端非对称密钥池、服务站非对称公钥池和服务站非对称私钥池,所述客户端密钥卡中存储有所属服务站非对称密钥池,以及己方的客户端非对称公钥池和客户端非对称私钥池;
所述量子通信服务站数字签密方法,包括在签密方:
利用随机数从客户端非对称公钥池中取出参数Kia1、从客户端非对称私钥池中取出与参数Kia1对应的参数kia1,并从所属服务站非对称密钥池中取出参数Kia2,并利用参数Kia2计算得到第一、第二中间参数;
利用第一中间参数加密第一原文得到第一密文;
利用哈希函数作用于第一原文和第二中间参数得到参数ra;
利用参数ra和参数kia1计算得到参数sa;
对参数Kia2和参数Kia1进行计算得到计算结果,利用哈希函数作用于所述计算结果和参数ra得到参数rka,再利用参数rka加密参数sa得到参数srka;
将所述第一密文、所述参数ra以及所述参数srka作为签密发送给验密方用以进行验签。本实施例的基于非对称密钥池的量子通信服务站数字签密方法,所述参与方包括签密方和验密方,若签密方和验密方属于两个不同的量子通信服务站,签密方属于量子通信服务站QA,且签密方设有包含量子通信服务站QA的相关信息的ID,该ID记为IDA;验密方属于量子通信服务站QB,验密方设有包含量子通信服务站QB的相关信息的ID,该ID记为IDB。
则将所述第一密文、所述参数ra以及所述参数srka作为签密发送给验密方用以进行验密,包括:
将所述IDA,所述第一密文、所述参数ra以及所述参数srka进行组合,得到签密FSE发送给验密方用以进行验密。
具体地,所述量子通信服务站数字签密方法,还包括在验密方:
验密方生成签密验证请求消息REQ,与从签密方接收的签密FSE进行组合,得到第二原文;
利用随机数从客户端非对称公钥池中取出参数Kib1、从客户端非对称私钥池中取出与参数Kib1对应的参数kib1,并从所属服务站非对称密钥池中取出参数Kib2,并利用参数Kib2计算得到第三、第四中间参数;
利用第三中间参数加密第二原文得到第二密文;
利用哈希函数作用于第二原文和第四中间参数得到参数rb;
利用参数rb和参数kib1计算得到参数sb;
对参数Kib2和参数Kib1进行计算得到计算结果,利用哈希函数作用于所述计算结果和参数rb得到参数rkb,再利用参数rkb加密参数sb得到参数srkb;
将所述IDB,所述第二密文、所述参数rb以及所述参数srkb进行组合,得到签密MREQSE发送给量子通信服务站QB用以进行验密。
具体地,所述量子通信服务站数字签密方法,还包括在量子通信服务站QB:
量子通信服务站QB接收验密方发送的签密MREQSE,并从客户端非对称密钥池中取出参数Kib1,从服务站非对称公钥池中取出参数Kib2,从服务站非对称私钥池中取出与参数Kib2对应的参数kib2;
对参数Kib2和参数Kib1进行计算得到计算结果,利用哈希函数作用于所述计算结果和参数rb得到参数rkb,用rkb解密参数srkb得到参数sb;
利用参数Kib1、参数rb、参数sb和参数kib2计算得到参数kb,并将kb拆分得到所述第三、第四中间参数;
利用第三中间参数解密第二密文得到第二原文;
利用哈希函数作用于第二原文和第四中间参数,并将哈希函数的作用结果与参数rb进行对比,若对比结果为相同,则从第二原文中获取签密方的IDA,并确定签密方所述的服务站为量子通信服务站QA;
利用第二原文得到第三密文和第一消息认证码,并将所述第三密文和第一消息认证码发送给量子通信服务站QA。
具体地,所述量子通信服务站数字签密方法,还包括在量子通信服务站QA:
接收量子通信服务站QB发送的第三密文和第一消息认证码;
对第一消息认证码进行验证并解密第三密文,验证成功后,并得到签密验证请求消息REQ和签密FSE,对FSE中的第一原文和签密方的ID进行验证,得到验证结果FSEResult;
对验证结果FSEResult和签密验证请求消息REQ进行组合,得到消息MRESP,由消息MRESP得到第四密文和第二消息认证码,并将所述第四密文和第二消息认证码发送至量子通信服务站QB;
量子通信服务站QB接收量子通信服务站QA发送的第四密文和第二消息认证码,解密第四密文并对第二消息认证码进行验证,验证成功后,得到消息MRESP,对消息MRESP进行签密得到签密MRESPSE,并将签密MRESPSE发送至验密方;
验密方接收量子通信服务站QB发送的签密MRESPSE,从签密MRESPSE获取针对第一原文和签密方的ID的验证结果FSEResult。
本实施例的基于非对称密钥池的量子通信服务站数字签密方法,所述参与方包括签密方和验密方,若签密方和验密方属于相同的量子通信服务站Q,且签密方设有ID,该ID记为IDA;验密方设有ID,该ID记为IDB。
则将所述第一密文、所述参数ra以及所述参数srka作为签密发送给验密方用以进行验密,包括:
将所述IDA,所述第一密文、所述参数ra以及所述参数srka进行组合,得到签密FSE发送给验密方用以进行验密。
具体地,所述量子通信服务站数字签密方法,还包括在验密方:
验密方生成签密验证请求消息REQ,与从签密方接收的签密FSE进行组合,得到第二原文;
利用随机数从客户端非对称公钥池中取出参数Kib1、从客户端非对称私钥池中取出与参数Kib1对应的参数kib1,并从所属服务站非对称密钥池中取出参数Kib2,并利用参数Kib2计算得到第三、第四中间参数;
利用第三中间参数加密第二原文得到第二密文;
利用哈希函数作用于第二原文和第四中间参数得到参数rb;
利用参数rb和参数kib1计算得到参数sb;
对参数Kib2和参数Kib1进行计算得到计算结果,利用哈希函数作用于所述计算结果和参数rb得到参数rkb,再利用参数rkb加密参数sb得到参数srkb;
将所述IDB,所述第二密文、所述参数rb以及所述参数srkb进行组合,得到签密MREQSE发送给量子通信服务站Q用以进行验密。
具体地,所述量子通信服务站数字签密方法,还包括在量子通信服务站Q:
量子通信服务站Q接收验密方发送的签密MREQSE,并从客户端非对称密钥池中取出参数Kib1,从服务站非对称公钥池中取出参数Kib2,从服务站非对称私钥池中取出与参数Kib2对应的参数kib2;
对参数Kib2和参数Kib1进行计算得到计算结果,利用哈希函数作用于所述计算结果和参数rb得到参数rkb,用rkb解密参数srkb得到参数sb;
利用参数Kib1、参数rb、参数sb和参数kib2计算得到参数kb,并将kb拆分得到所述第三、第四中间参数;
利用第三中间参数解密第二密文得到第二原文,利用哈希函数作用于第二原文和第四中间参数,并将哈希函数的作用结果与参数rb进行对比,若对比结果为相同,则从第二原文中得到签密验证请求消息REQ和签密FSE,对FSE中的第一原文和签密方的ID进行验证,得到验证结果FSEResult;
对验证结果FSEResult和签密验证请求消息REQ进行组合,得到消息MRESP,对消息MRESP进行签密得到签密MRESPSE,并将签密MRESPSE发送至验密方;
验密方接收量子通信服务站Q发送的签密MRESPSE,从签密MRESPSE获取针对第一原文和签密方的ID的验证结果FSEResult。
以下结合附图进一步详细说明基于非对称密钥池的量子通信服务站数字签密方法。
实施例1:
假设现有两个量子通信服务站QA和QB,属于QA的客户端A(签密方)和属于QB的客户端B(验密方)。A的ID内包含QA的ID,并记A的ID为IDA;B的ID内包含QB的ID,并记B的ID为IDB,表示隶属关系。
1、A有文件F,生成签密文件
1.1、A取随机数ria,用函数FA(例如将一个数按照2:3:5的长度分裂开为三段)作用于ria得到三个数ria1、ria2和ria3,再用ria1从客户端密钥卡的客户端非对称密钥池(私钥池/公钥池)中取出kia1/Kia1,用ria2从客户端密钥卡的服务站非对称密钥池(公钥池)中取出Kia2。其中参数“kia1”、“Kia1”、“Kia2”等表示对应密钥池中相应位置的值,而“kia1”、“Kia1”、“Kia2”等仅仅为了便于区分和表述,对参数本身并没有额外限定。
令xa=ria3,根据公式ka=Kia2xa mod p计算得到ka的值,然后用函数fa1(例如将一个数按照1:1的长度分裂开为两段)作用于ka得到两个数:第一中间参数ka1和第二中间参数ka2。
1.2、设A要发送给B的第一原文为F,取带密钥的哈希函数KH作用于原文F和ka2得到ra。其中KH可以为HMAC函数。
如果是选择使用SDSS1签密方案则使用函数fs1来作用于xa、ra和kia1,具体公式为sa=xa/(ra+kia1)从而算出sa。
如果是选择使用SDSS2签密方案则使用函数fs2来作用于xa、ra和kia1,具体公式为sa=xa/(1+kia1*ra)从而算出sa。
其中签密方案SDSS1和SDSS2及fs1和fs2来源于参考资料《Digital Signcryptionor How to Achieve Cost(Signature & Encryption) << Cost(Signature) + Cost(Encryption)》。
用ka1来加密F得到第一密文ca。
1.3、对Kia2和Kia1进行异或运算得到Kia2⊕Kia1,用哈希函数KH作用于ra和Kia2⊕Kia1得到rka,将rka作为密钥加密sa得到{sa}rka(即参数srka)。
1.4、将组合{IDA,ria1,ria2,ca,ra, {sa}rka }令为FSE,并将FSE作为签密发送给B。
2、B生成请求验证消息,发送给QB
B接收A发送过来的消息FSE,将FSE和生成的签密验证请求消息REQ组合起来REQ||FSE得到第二原文MREQ,其中REQ包括签密验证请求的ID及附带信息,附带信息又包括时间和请求者ID等。B根据步骤1中类似的过程生成消息{IDB,rib1,rib2,cb,rb, {sb}rkb },具体过程如下。
2.1、B取随机数rib,用函数FB(例如将一个数按照2:3:5的长度分裂开为三段)作用于rib得到三个数rib1、rib2和rib3,再用rib1从客户端密钥卡的客户端非对称密钥池(私钥池/公钥池)中取出kib1/Kib1,用rib2从客户端密钥卡的服务站非对称密钥池(公钥池)中取出Kib2。
令xb=rib3,根据公式kb=Kib2xb mod p计算得到kb的值,然后用函数fb1(例如将一个数按照1:1的长度分裂开为两段)作用于kb得到两个数:第三中间参数kb1和第四中间参数kb2。
2.2、取带密钥的哈希函数KH作用于要发送的第二原文MREQ和kb2得到rb。
如果是选择使用SDSS1签密方案则使用函数fs1来作用于xb、rb和kib1,具体公式为sb=xb/(rb+kib1)从而算出sb;如果是选择使用SDSS2签密方案则使用函数fs2来作用于xb、rb和kib1,具体公式为sb=xb/(1+kib1*rb)从而算出sb。
用kb1来加密MREQ得到第二密文cb。
2.3、对Kib2和Kib1进行异或运算得到Kib2⊕Kib1,用哈希函数KH作用于rb和Kib2⊕Kib1得到rkb,将rkb作为密钥加密sb得到{sb}rkb(即参数srkb)。
2.4、将组合{IDB,rib1,rib2,cb,rb, {sb}rkb }作为MREQSE,并将MREQSE作为签密发送给QB。
3、QB处理消息并发送结果给QA
3.1、QB接收到来自B的消息MREQSE。再用rib1从服务站密钥卡的客户端非对称密钥池(公钥池)中取出Kib1,用rib2从服务站密钥卡的服务站非对称密钥池(私钥池)中取出kib2,用rib2从服务站密钥卡的服务站非对称密钥池(公钥池)中取出Kib2。
3.2、对Kib2和Kib1进行异或运算得到Kib2⊕Kib1,用哈希函数KH作用于rb和Kib2⊕Kib1得到rkb,用rkb解密{sb}rkb得到sb。
根据签密选择的签密方案SDSS1或者SDSS2来使用对应的函数fu1或者fu2来作用于Kib1、rb、sb和kib2,具体公式为kb=(Kib1*grbsb*kib2 mod p(SDSS1情形)或者kb=(g*Kib1rbsb*kib 2mod p(SDSS2情形)可以得到kb;
其中签密方案SDSS1和SDSS2及fu1和fu2来源于参考资料《Digital Signcryptionor How to Achieve Cost(Signature & Encryption) << Cost(Signature) + Cost(Encryption)》)。
再用与B相同的函数fb1作用于kb得到kb1和kb2。
3.3、用kb1解密cb得到第二原文MREQ。取KH作用于第二原文MREQ和kb2,将得到的结果和签密组合里的rb对比,如果相同则可以验证B的身份正确并且B传给QB的第二原文MREQ在传送过程中没有被修改。
3.4、QB验证签密之后,从MREQ中解析出REQ||FSE。又从FSE中解析出IDA,根据IDA找到对应的量子通信服务站QA。
3.5、QB和QA分别设有量子密钥分发设备,通过QKD方式实现了两站之间的密钥共享。然后使用共享的QKD密钥qk加密{REQ||FSE}得到第三密文{REQ||FSE}qk,并且使用QKD密钥qka对{REQ||FSE}进行消息认证算法计算得到第一消息认证码,将{REQ||FSE}qk和第一消息认证码一起发送给QA。其中消息认证算法可以为HMAC函数。
4、QA处理消息并发送结果至QB
4.1、QA接收到来自QB的消息后,使用共享的QKD密钥qk和qka分别对{REQ||FSE}qk进行解密和消息认证码验证,验证成功后,从FSE中解析出IDA。取出FSE,再按照步骤3中的方法对其进行签密验证,将验证结果令为FSEResult,若FSEResult为验证成功则同时得到来自A的原文F。
4.2、QA将组合{REQ||FSEResult||F}命名为MRESP(若FSEResult为验证失败则不带F),并同样用QKD密钥qk对MRESP进行加密得到第四密文{MRESP}qk,并且计算qka对应的第二消息认证码,将{MRESP}qk和第二消息认证码发送至QB。
5、QB回复B
QB接收到来自QA的消息后,使用qk和qka分别对{MRESP}qk进行解密和消息认证码验证,验证通过的话,按照步骤1中的方式对MRESP进行签密,得到{IDB||riq1||riq2||cq||rq||{sq}rkq},令其为签密MRESPSE,并发送给B。其中,riq1、riq2为随机数;cq为MRESP的签密密文;rq、sq为MRESP的签密签名。
6、B得到验签结果
B得到MRESPSE,按照步骤3中的方法对其进行签密验证并从中解析出{ REQ||FSEResult||F}(如FSEResult为验证失败则不带F),验证通过即可证明:(1)如FSEResult为验证成功,则得到原文F,且F来自于合法用户A;(2) 如FSEResult为验证失败,则得知来自A的FSE为非法签密。
实施例2:
假设现有一个量子通信服务站Q,客户端A(签密方)和客户端B(验密方)都隶属于Q。A的ID为IDA,B的ID为IDB。
1、A有文件F,生成签密文件
1.1、A取随机数ria,用函数FA(例如将一个数按照2:3:5的长度分裂开为三段)作用于ria得到三个数ria1、ria2和ria3,再用ria1从客户端密钥卡的客户端非对称密钥池(私钥池/公钥池)中取出kia1/Kia1,用ria2从客户端密钥卡的服务站非对称密钥池(公钥池)中取出Kia2。
令xa=ria3,根据公式ka=Kia2xa mod p计算得到ka的值,然后用函数fa1(例如将一个数按照1:1的长度分裂开为两段)作用于ka得到两个数:第一中间参数ka1和第二中间参数ka2。
1.2、设A要发送给B的第一原文为F,取带密钥的哈希函数KH作用于原文F和ka2得到ra。
如果是选择使用SDSS1签密方案则使用函数fs1来作用于xa、ra和kia1,具体公式为sa=xa/(ra+kia1)从而算出sa。
如果是选择使用SDSS2签密方案则使用函数fs2来作用于xa、ra和kia1,具体公式为sa=xa/(1+kia1*ra)从而算出sa。
其中签密方案SDSS1和SDSS2及fs1和fs2来源于参考资料《Digital Signcryptionor How to Achieve Cost(Signature & Encryption) << Cost(Signature) + Cost(Encryption)》。
用ka1来加密F得到第一密文ca。
1.3、对Kia2和Kia1进行异或运算得到Kia2⊕Kia1,用哈希函数KH作用于ra和Kia2⊕Kia1得到rka,将rka作为密钥加密sa得到{sa}rka(即参数srka)。
1.4、将组合{IDA,ria1,ria2,ca,ra, {sa}rka }令为FSE,并将FSE作为签密发送给B。
2、B生成请求验证消息,发送给Q
B接收A发送过来的消息FSE,将FSE和生成的签密验证请求消息REQ组合起来REQ||FSE得到第二原文MREQ,其中REQ包括签密验证请求的ID及附带信息,附带信息又包括时间和请求者ID等。B根据步骤1中生成签密的方式生成{IDB,rib1,rib2,cb,rb, {sb}rkb },具体过程如下。
2.1、B取随机数rib,用函数FB(例如将一个数按照2:3:5的长度分裂开为三段)作用于rib得到三个数rib1、rib2和rib3,再用rib1从客户端密钥卡的客户端非对称密钥池(私钥池/公钥池)中取出kib1/Kib1,用rib2从客户端密钥卡的服务站非对称密钥池(公钥池)中取出Kib2。
令xb=rib3,根据公式kb=Kib2xb mod p计算得到kb的值,然后用函数fb1(例如将一个数按照1:1的长度分裂开为两段)作用于kb得到两个数:第三中间参数kb1和第四中间参数kb2。
2.2、取带密钥的哈希函数KH作用于要发送的第二原文MREQ和kb2得到rb。
如果是选择使用SDSS1签密方案则使用函数fs1来作用于xb、rb和kib1,具体公式为sb=xb/(rb+kib1)从而算出sb;如果是选择使用SDSS2签密方案则使用函数fs2来作用于xb、rb和kib1,具体公式为sb=xb/(1+kib1*rb)从而算出sb。
用kb1来加密MREQ得到第二密文cb。
2.3、对Kib2和Kib1进行异或运算得到Kib2⊕Kib1,用哈希函数KH作用于rb和Kib2⊕Kib1得到rkb,将rkb作为密钥加密sb得到{sb}rkb(即参数srkb)。
2.4、将组合{IDB,rib1,rib2,cb,rb, {sb}rkb }令为MREQSE,并将MREQSE作为签密发送给Q。
3、Q处理消息并发送给B
3.1、Q接收到来自B的消息MREQSE。再用rib1从服务站密钥卡的客户端非对称密钥池(公钥池)中取出Kib1,用rib2从服务站密钥卡的服务站非对称密钥池(私钥池)中取出kib2,用rib2从服务站密钥卡的服务站非对称密钥池(公钥池)中取出Kib2。
3.2、对Kib2和Kib1进行异或运算得到Kib2⊕Kib1,用哈希函数KH作用于rb和Kib2⊕Kib1得到rkb,用rkb解密{sb}rkb得到sb。
根据签密选择的签密方案SDSS1或者SDSS2来使用对应的函数fu1或者fu2来作用于Kib1、rb、sb和kib2,具体公式为kb=(Kib1*grbsb*kib2 mod p(SDSS1情形)或者kb=(g*Kib1rbsb*kib 2mod p(SDSS2情形)可以得到kb。
再用与B相同的函数fb1作用于kb得到kb1和kb2。
3.3、用kb1解密cb得到第二原文MREQ。取KH作用于第二原文MREQ和kb2,将得到的结果和签密组合里的rb对比,如果相同则可以验证B的身份正确并且B传给Q的第二原文MREQ在传送过程中没有被修改。
3.4、Q验证签密之后,从MREQ中解析出REQ||FSE。又从FSE中解析出IDA。
3.5、取出FSE,再按照步骤3.1~3.3中验证签密的方法对其进行验证,将验证结果令为FSEResult,如FSEResult为验证成功则同时得到来自A的原文F。
3.6、Q将组合{REQ||FSEResult||F}(如FSEResult为验证失败则不带F)命名为MRESP,按照步骤1中的方式对MRESP进行签密,得到{IDB||riq1||riq2||cq||rq||{sq}rkq},令其为签密MRESPSE,并发送给B。
4、B得到验签结果
B得到MRESPSE,按照步骤3中的方法对其进行签密验证并从中解析出FSEResult||F(如FSEResult为验证失败则不带F),验证通过即可证明:(1)如FSEResult为验证成功,则得到原文F,且F来自于合法用户A;(2) 如FSEResult为验证失败,则得知来自A的FSE为非法签密。
其中一实施例中,提供一种基于非对称密钥池的量子通信服务站数字签密系统,所述量子通信服务站配置有服务站密钥卡,各参与方配置有客户端密钥卡,所述服务站密钥卡中存储有客户端非对称密钥池、服务站非对称公钥池和服务站非对称私钥池,所述客户端密钥卡中存储有所属服务站非对称密钥池,以及己方的客户端非对称公钥池和客户端非对称私钥池;
所述量子通信服务站数字签密系统,包括:
第一模块,用于利用随机数从客户端非对称公钥池中取出参数Kia1、从客户端非对称私钥池中取出与参数Kia1对应的参数kia1,并从所属服务站非对称密钥池中取出参数Kia2,并利用参数Kia2计算得到第一、第二中间参数;
第二模块,用于利用第一中间参数加密第一原文得到第一密文;利用哈希函数作用于第一原文和第二中间参数得到参数ra;利用参数ra和参数kia1计算得到参数sa;
第三模块,用于对参数Kia2和参数Kia1进行计算得到计算结果,利用哈希函数作用于所述计算结果和参数ra得到参数rka,再利用参数rka加密参数sa得到参数srka;
第四模块,用于将所述第一密文、所述参数ra以及所述参数srka作为签密发送给验密方用以进行验签。
关于基于非对称密钥池的量子通信服务站数字签密系统的具体限定可以参见上文中对于基于非对称密钥池的量子通信服务站数字签密方法的限定,在此不再赘述。上述各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,即一种基于非对称密钥池的量子通信服务站数字签密系统,该计算机设备可以是终端,其内部结构可以包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现上述基于非对称密钥池的量子通信服务站数字签密方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
其中一实施例中,提供一种基于非对称密钥池的量子通信服务站数字签密系统,其特征在于,所述量子通信服务站配置有服务站密钥卡,各参与方配置有客户端密钥卡,所述服务站密钥卡中存储有客户端非对称密钥池、服务站非对称公钥池和服务站非对称私钥池,所述客户端密钥卡中存储有所属服务站非对称密钥池,以及己方的客户端非对称公钥池和客户端非对称私钥池;
各参与方和各量子通信服务站包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现所述的基于非对称密钥池的量子通信服务站数字签密方法。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明的保护范围应以所附权利要求为准。

Claims (10)

1.基于非对称密钥池的量子通信服务站数字签密方法,其特征在于,所述量子通信服务站配置有服务站密钥卡,各参与方配置有客户端密钥卡,所述参与方包括签密方和验密方,所述签密方和验密方属于相同的量子通信服务站、或属于两个不同的量子通信服务站,所述服务站密钥卡中存储有客户端非对称密钥池、服务站非对称公钥池和服务站非对称私钥池,所述客户端密钥卡中存储有所属服务站非对称密钥池,以及己方的客户端非对称公钥池和客户端非对称私钥池;
所述量子通信服务站数字签密方法,包括在签密方:
利用随机数从客户端非对称公钥池中取出参数Kia1、从客户端非对称私钥池中取出与参数Kia1对应的参数kia1,并从所属服务站非对称密钥池中取出参数Kia2,并利用参数Kia2计算得到第一、第二中间参数;
利用第一中间参数加密第一原文得到第一密文;
利用哈希函数作用于第一原文和第二中间参数得到参数ra;
利用参数ra和参数kia1计算得到参数sa;
对参数Kia2和参数Kia1进行计算得到计算结果,利用哈希函数作用于所述计算结果和参数ra得到参数rka,再利用参数rka加密参数sa得到参数srka;
将所述第一密文、所述参数ra以及所述参数srka作为签密发送给验密方用以进行验签;
若签密方和验密方属于两个不同的量子通信服务站:量子通信服务站QA和量子通信服务站QB,则在验密方得到签密MREQSE发送给量子通信服务站QB用以进行验密;
若签密方和验密方属于相同的量子通信服务站Q,则在验密方得到签密MREQSE发送给量子通信服务站Q用以进行验密。
2.如权利要求1所述的基于非对称密钥池的量子通信服务站数字签密方法,其特征在于,若签密方和验密方属于两个不同的量子通信服务站,签密方属于量子通信服务站QA,且签密方设有包含量子通信服务站QA的相关信息的ID,该ID记为IDA;验密方属于量子通信服务站QB,验密方设有包含量子通信服务站QB的相关信息的ID,该ID记为IDB;
则将所述第一密文、所述参数ra以及所述参数srka作为签密发送给验密方用以进行验密,包括:
将所述IDA,所述第一密文、所述参数ra以及所述参数srka进行组合,得到签密FSE发送给验密方用以进行验密。
3.如权利要求2所述的基于非对称密钥池的量子通信服务站数字签密方法,其特征在于,所述量子通信服务站数字签密方法,还包括在验密方:
验密方生成签密验证请求消息REQ,与从签密方接收的签密FSE进行组合,得到第二原文;
利用随机数从客户端非对称公钥池中取出参数Kib1、从客户端非对称私钥池中取出与参数Kib1对应的参数kib1,并从所属服务站非对称密钥池中取出参数Kib2,并利用参数Kib2计算得到第三、第四中间参数;
利用第三中间参数加密第二原文得到第二密文;
利用哈希函数作用于第二原文和第四中间参数得到参数rb;
利用参数rb和参数kib1计算得到参数sb;
对参数Kib2和参数Kib1进行计算得到计算结果,利用哈希函数作用于所述计算结果和参数rb得到参数rkb,再利用参数rkb加密参数sb得到参数srkb;
将所述IDB,所述第二密文、所述参数rb以及所述参数srkb进行组合,得到签密MREQSE发送给量子通信服务站QB用以进行验密。
4.如权利要求3所述的基于非对称密钥池的量子通信服务站数字签密方法,其特征在于,所述量子通信服务站数字签密方法,还包括在量子通信服务站QB:
量子通信服务站QB接收验密方发送的签密MREQSE,并从客户端非对称密钥池中取出参数Kib1,从服务站非对称公钥池中取出参数Kib2,从服务站非对称私钥池中取出与参数Kib2对应的参数kib2;
对参数Kib2和参数Kib1进行计算得到计算结果,利用哈希函数作用于所述计算结果和参数rb得到参数rkb,用rkb解密参数srkb得到参数sb;
利用参数Kib1、参数rb、参数sb和参数kib2计算得到参数kb,并将kb拆分得到所述第三、第四中间参数;
利用第三中间参数解密第二密文得到第二原文;
利用哈希函数作用于第二原文和第四中间参数,并将哈希函数的作用结果与参数rb进行对比,若对比结果为相同,则从第二原文中获取签密方的IDA,并确定签密方所述的服务站为量子通信服务站QA;
利用第二原文得到第三密文和第一消息认证码,并将所述第三密文和第一消息认证码发送给量子通信服务站QA。
5.如权利要求4所述的基于非对称密钥池的量子通信服务站数字签密方法,其特征在于,所述量子通信服务站数字签密方法,还包括在量子通信服务站QA:
接收量子通信服务站QB发送的第三密文和第一消息认证码;
对第一消息认证码进行验证并解密第三密文,验证成功后,并得到签密验证请求消息REQ和签密FSE,对FSE中的第一原文和签密方的ID进行验证,得到验证结果FSEResult;
对验证结果FSEResult和签密验证请求消息REQ进行组合,得到消息MRESP,由消息MRESP得到第四密文和第二消息认证码,并将所述第四密文和第二消息认证码发送至量子通信服务站QB;
量子通信服务站QB接收量子通信服务站QA发送的第四密文和第二消息认证码,解密第四密文并对第二消息认证码进行验证,验证成功后,得到消息MRESP,对消息MRESP进行签密得到签密MRESPSE,并将签密MRESPSE发送至验密方;
验密方接收量子通信服务站QB发送的签密MRESPSE,从签密MRESPSE获取针对第一原文和签密方的ID的验证结果FSEResult。
6.如权利要求1所述的基于非对称密钥池的量子通信服务站数字签密方法,其特征在于,若签密方和验密方属于相同的量子通信服务站Q,且签密方设有ID,该ID记为IDA;验密方设有ID,该ID记为IDB;
则将所述第一密文、所述参数ra以及所述参数srka作为签密发送给验密方用以进行验密,包括:
将所述IDA,所述第一密文、所述参数ra以及所述参数srka进行组合,得到签密FSE发送给验密方用以进行验密。
7.如权利要求6所述的基于非对称密钥池的量子通信服务站数字签密方法,其特征在于,所述量子通信服务站数字签密方法,还包括在验密方:
验密方生成签密验证请求消息REQ,与从签密方接收的签密FSE进行组合,得到第二原文;
利用随机数从客户端非对称公钥池中取出参数Kib1、从客户端非对称私钥池中取出与参数Kib1对应的参数kib1,并从所属服务站非对称密钥池中取出参数Kib2,并利用参数Kib2计算得到第三、第四中间参数;
利用第三中间参数加密第二原文得到第二密文;
利用哈希函数作用于第二原文和第四中间参数得到参数rb;
利用参数rb和参数kib1计算得到参数sb;
对参数Kib2和参数Kib1进行计算得到计算结果,利用哈希函数作用于所述计算结果和参数rb得到参数rkb,再利用参数rkb加密参数sb得到参数srkb;
将所述IDB,所述第二密文、所述参数rb以及所述参数srkb进行组合,得到签密MREQSE发送给量子通信服务站Q用以进行验密。
8.如权利要求7所述的基于非对称密钥池的量子通信服务站数字签密方法,其特征在于,所述量子通信服务站数字签密方法,还包括在量子通信服务站Q:
量子通信服务站Q接收验密方发送的签密MREQSE,并从客户端非对称密钥池中取出参数Kib1,从服务站非对称公钥池中取出参数Kib2,从服务站非对称私钥池中取出与参数Kib2对应的参数kib2;
对参数Kib2和参数Kib1进行计算得到计算结果,利用哈希函数作用于所述计算结果和参数rb得到参数rkb,用rkb解密参数srkb得到参数sb;
利用参数Kib1、参数rb、参数sb和参数kib2计算得到参数kb,并将kb拆分得到所述第三、第四中间参数;
利用第三中间参数解密第二密文得到第二原文,利用哈希函数作用于第二原文和第四中间参数,并将哈希函数的作用结果与参数rb进行对比,若对比结果为相同,则从第二原文中得到签密验证请求消息REQ和签密FSE,对FSE中的第一原文和签密方的ID进行验证,得到验证结果FSEResult;
对验证结果FSEResult和签密验证请求消息REQ进行组合,得到消息MRESP,对消息MRESP进行签密得到签密MRESPSE,并将签密MRESPSE发送至验密方;
验密方接收量子通信服务站Q发送的签密MRESPSE,从签密MRESPSE获取针对第一原文和签密方的ID的验证结果FSEResult。
9.基于非对称密钥池的量子通信服务站数字签密系统,其特征在于,所述量子通信服务站配置有服务站密钥卡,各参与方配置有客户端密钥卡,所述参与方包括签密方和验密方,所述签密方和验密方属于相同的量子通信服务站、或属于两个不同的量子通信服务站,所述服务站密钥卡中存储有客户端非对称密钥池、服务站非对称公钥池和服务站非对称私钥池,所述客户端密钥卡中存储有所属服务站非对称密钥池,以及己方的客户端非对称公钥池和客户端非对称私钥池;
所述量子通信服务站数字签密系统,包括:
第一模块,用于利用随机数从客户端非对称公钥池中取出参数Kia1、从客户端非对称私钥池中取出与参数Kia1对应的参数kia1,并从所属服务站非对称密钥池中取出参数Kia2,并利用参数Kia2计算得到第一、第二中间参数;
第二模块,用于利用第一中间参数加密第一原文得到第一密文;利用哈希函数作用于第一原文和第二中间参数得到参数ra;利用参数ra和参数kia1计算得到参数sa;
第三模块,用于对参数Kia2和参数Kia1进行计算得到计算结果,利用哈希函数作用于所述计算结果和参数ra得到参数rka,再利用参数rka加密参数sa得到参数srka;
第四模块,用于将所述第一密文、所述参数ra以及所述参数srka作为签密发送给验密方用以进行验密;
若签密方和验密方属于两个不同的量子通信服务站:量子通信服务站QA和量子通信服务站QB,则在验密方得到签密MREQSE、发送给验密方所在的量子通信服务站用以进行验密;
若签密方和验密方属于相同的量子通信服务站Q,则在验密方得到签密MREQSE发送给量子通信服务站Q用以进行验密。
10.基于非对称密钥池的量子通信服务站数字签密系统,其特征在于,所述量子通信服务站配置有服务站密钥卡,各参与方配置有客户端密钥卡,所述服务站密钥卡中存储有客户端非对称密钥池、服务站非对称公钥池和服务站非对称私钥池,所述客户端密钥卡中存储有所属服务站非对称密钥池,以及己方的客户端非对称公钥池和客户端非对称私钥池;
各参与方和各量子通信服务站包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现权利要求1~8任一项所述的基于非对称密钥池的量子通信服务站数字签密方法。
CN201910248987.1A 2019-03-29 2019-03-29 基于非对称密钥池的量子通信服务站数字签密方法和系统 Active CN110048852B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910248987.1A CN110048852B (zh) 2019-03-29 2019-03-29 基于非对称密钥池的量子通信服务站数字签密方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910248987.1A CN110048852B (zh) 2019-03-29 2019-03-29 基于非对称密钥池的量子通信服务站数字签密方法和系统

Publications (2)

Publication Number Publication Date
CN110048852A CN110048852A (zh) 2019-07-23
CN110048852B true CN110048852B (zh) 2022-04-29

Family

ID=67275622

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910248987.1A Active CN110048852B (zh) 2019-03-29 2019-03-29 基于非对称密钥池的量子通信服务站数字签密方法和系统

Country Status (1)

Country Link
CN (1) CN110048852B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110995362B (zh) * 2019-12-06 2021-06-08 西安电子科技大学 使用软核处理器的mdi-qkd的编码系统及方法
CN114205142B (zh) * 2021-12-09 2023-05-30 建信金融科技有限责任公司 数据传输方法、装置、电子设备和存储介质

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7246240B2 (en) * 2001-04-26 2007-07-17 Massachusetts Institute Of Technology Quantum digital signatures
CN108173649B (zh) * 2018-01-10 2020-08-11 如般量子科技有限公司 一种基于量子密钥卡的消息认证方法和系统
CN109495250B (zh) * 2018-12-03 2021-08-10 如般量子科技有限公司 基于密钥卡的抗量子计算智能家庭通信方法及系统

Also Published As

Publication number Publication date
CN110048852A (zh) 2019-07-23

Similar Documents

Publication Publication Date Title
CN111639361B (zh) 一种区块链密钥管理方法、多人共同签名方法及电子装置
US8670563B2 (en) System and method for designing secure client-server communication protocols based on certificateless public key infrastructure
CN110519046B (zh) 基于一次性非对称密钥对和qkd的量子通信服务站密钥协商方法和系统
WO2017147503A1 (en) Techniques for confidential delivery of random data over a network
EP3841702A1 (en) Method, user device, management device, storage medium and computer program product for key management
CN112202544B (zh) 一种基于Paillier同态加密算法的智能电网数据安全聚合方法
CN110535626B (zh) 基于身份的量子通信服务站保密通信方法和系统
CN109921905B (zh) 基于私钥池的抗量子计算密钥协商方法和系统
CN109936456B (zh) 基于私钥池的抗量子计算数字签名方法和系统
CN110380859B (zh) 基于非对称密钥池对和dh协议的量子通信服务站身份认证方法和系统
CN111416712B (zh) 基于多个移动设备的量子保密通信身份认证系统及方法
CN110519226B (zh) 基于非对称密钥池和隐式证书的量子通信服务端保密通信方法和系统
CN109831305B (zh) 基于非对称密钥池的抗量子计算签密方法和系统
CN110048852B (zh) 基于非对称密钥池的量子通信服务站数字签密方法和系统
CN113468582A (zh) 一种抗量子计算加密通信方法
CN111245609B (zh) 基于秘密共享和随机数的量子保密通信密钥分发和协商系统及其方法
CN116599659B (zh) 无证书身份认证与密钥协商方法以及系统
CN110740034B (zh) 基于联盟链的qkd网络认证密钥生成方法及系统
CN111245611B (zh) 基于秘密共享和可穿戴设备的抗量子计算身份认证方法及系统
CN110519040B (zh) 基于身份的抗量子计算数字签名方法和系统
CN110519214B (zh) 基于在线离线签名和辅助验证签名的应用系统近距离节能通信方法、系统、设备
CN115809459A (zh) 软件密码模块的数据保护及解密方法、系统、设备及介质
CN109787773B (zh) 基于私钥池和Elgamal的抗量子计算签密方法和系统
CN109787772B (zh) 基于对称密钥池的抗量子计算签密方法和系统
CN110061895B (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