CN109951287A - 基于私钥池的抗量子计算签密方法和系统 - Google Patents

基于私钥池的抗量子计算签密方法和系统 Download PDF

Info

Publication number
CN109951287A
CN109951287A CN201910048995.1A CN201910048995A CN109951287A CN 109951287 A CN109951287 A CN 109951287A CN 201910048995 A CN201910048995 A CN 201910048995A CN 109951287 A CN109951287 A CN 109951287A
Authority
CN
China
Prior art keywords
parameter
pond
kik
kib
kia
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
Application number
CN201910048995.1A
Other languages
English (en)
Other versions
CN109951287B (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 CN201910048995.1A priority Critical patent/CN109951287B/zh
Publication of CN109951287A publication Critical patent/CN109951287A/zh
Application granted granted Critical
Publication of CN109951287B publication Critical patent/CN109951287B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Storage Device Security (AREA)

Abstract

本发明涉及一种基于私钥池的抗量子计算签密方法,参与方配置有密钥卡,密钥卡内存储有k池和K池,抗量子计算签密方法包括在签密方:利用随机数从k池中取出参数kia、参数kik,以及从K池中取出参数Kib、与参数kik相对应的参数Kik,并利用参数kik和参数Kib计算得到第一、第二中间参数;利用第一中间参数加密原文得到密文;利用哈希函数作用于原文和第二中间参数得到参数r;利用参数kik、参数r和参数kia计算得到参数s;对参数Kib和参数Kik进行计算得到计算结果,利用哈希函数作用于所述计算结果和参数r得到参数rk,再利用参数rk加密参数s得到参数srk;将所述随机数、所述密文、所述参数r以及所述参数srk作为签密发送给验密方用以进行验密。

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%的通信成本。成本上的节省随着安全参数的增大而增大。随着密码分析理论与技术的进步,将来我们的密码体制需要更大的安全参数,签密体制将更具有实际意义。基于以上原因,许多密码学研究者对签密的工作原理进行了深入研究,设计出了许多高效且安全的签密方案。
自zheng提出签密原语以来,签密已得到了广泛的应用,如电子支付、移动代理安全、密钥管理和Ad Hoc网络路由协议等。自1997年以来,几个有效的签密方案相继被提出。
根据公钥认证方法,我们可以将签密体制分为基于PKI的签密体制、基于身份的签密体制和无证书签密体制。如果一个签密方案与一个具有特殊性质的签名或者加密方案相结合,就可以设计出具有特殊性质的签密方案,比如签密与代理签名相结合,称为代理签密;签密与环签名相结合,称为环签密;签密与广播加密相结合,称为广播加密。如果一个签密是利用混合加密的思想来构造,我们称为混合签密。混合签密将整个算法分成了独立的两块,一块是签密密钥封装机制(Key Encapsulation Mechanism,KEM),另一块是数据封装机制(Data Encapsulation Mechanism,DEM)。这两块通过某种方式相结合就构造出完整的签密方案。因此,我们又可以将签密体制分为基本签密体制、具有特殊性质的签密体制和混合签密体制。
量子计算机在密码破解上有着巨大潜力。当今主流的非对称(公钥)加密算法,如RSA加密算法,大多数都是基于大整数的因式分解或者有限域上的离散对数的计算这两个数学难题。它们的破解难度也就依赖于解决这些问题的效率。传统计算机上,要求解这两个数学难题,花费时间为指数时间(即破解时间随着公钥长度的增长以指数级增长),这在实际应用中是无法接受的。而为量子计算机量身定做的秀尔算法可以在多项式时间内(即破解时间随着公钥长度的增长以k次方的速度增长,其中k为与公钥长度无关的常数)进行整数因式分解或者离散对数计算,从而为RSA、离散对数加密算法的破解提供可能。
现有技术存在的问题:现有技术中,由于量子计算机的强大计算能力可以计算破解签密,因此基于公私钥的签密方法并不够安全;现有签密算法中,通信双方的公私钥是固定的,可能有一定的被破解的风险。
发明内容
本发明提供一种安全性更高的基于私钥池的抗量子计算签密方法和系统。
本发明基于私钥池的抗量子计算签密方法,参与方配置有密钥卡,密钥卡内存储有k池和K池,其中k池为私钥池且k池中存储己方k值,K池为公钥池且K池存储所有参与方的K值,同一方的k值与K值相关;
所述抗量子计算签密方法,包括在签密方:
利用随机数从k池中取出参数kia、参数kik,以及从K池中取出参数Kib、与参数kik相对应的参数Kik,并利用参数kik和参数Kib计算得到第一、第二中间参数;
利用第一中间参数加密原文得到密文;
利用哈希函数作用于原文和第二中间参数得到参数r;
利用参数kik、参数r和参数kia计算得到参数s;
对参数Kib和参数Kik进行计算得到计算结果,利用哈希函数作用于所述计算结果和参数r得到参数rk,再利用参数rk加密参数s得到参数srk;
将所述随机数、所述密文、所述参数r以及所述参数srk作为签密发送给验密方用以进行验密。
可选的,同一方的k值与K值符合如下关系:
Ki=gki mod q;其中Ki为K值,ki为k值,g、q为算法的系统参数。
可选的,利用随机数从k池中取出参数kia、参数kik,以及从K池中取出参数Kib、与参数kik相对应的参数Kik,包括:
生成随机数ri,将随机数ri拆分得到参数ria、参数rib和参数rik;
用指针函数作用于所述参数ria得到指针kap,并利用所述指针kap在k池中的相应位置获取参数kia;
用指针函数作用于所述参数rib得到指针kbp,并利用所述指针kbp在K池中的相应位置获取参数Kib;
用指针函数作用于所述参数rik得到指针kkp,并利用所述指针kkp在k池和K池中的相应位置分别获取参数kik和参数Kik。
可选的,所述利用参数kik和参数Kib计算得到第一、第二中间参数,具体步骤包括:
依据公式k=Kibx mod p计算得到k的值,其中Kib为参数Kib,x为参数kik,p为算法的系统参数;
将k拆分得到所述第一、第二中间参数。
可选的,所述利用参数kik、参数r和参数kia计算得到参数s时采用如下公式:
s=x/(r+kia);其中x为参数kik,r为参数r,kia为参数kia。
可选的,所述利用参数kik、参数r和参数kia计算得到参数s时采用如下公式:
s=x/(1+kia*r),其中x为参数kik,r为参数r,kia为参数kia。
可选的,所述抗量子计算签密方法还包括在验密方:
从签密方接收所述随机数、所述密文、所述参数r以及所述参数srk;
利用所述随机数从k池中取出参数kib,以及从K池中取出参数Kia、参数Kib和参数KiK;
对参数Kib和参数Kik进行计算得到计算结果,利用哈希函数作用于所述计算结果和参数r得到参数rk,再利用参数rk解密参数srk得到参数s;
利用参数Kia、参数r、参数s和参数kib计算得到第一、第二中间参数;
利用第一中间参数解密所述密文得到原文;
用哈希函数作用于所述原文和所述第二中间参数得到参数r;
将己方得到的参数r与来自签密方的参数r进行对比得到相应的验密结果。
可选的,所述利用参数Kia、参数r、参数s和参数kib计算得到第一、第二中间参数包括:
依据公式k=(Kia*gr)s*kib mod p,或k=(g*Kiar)s*kib mod p计算k;其中Kia为参数Kia,g、p为算法的系统参数,r为参数r,s为参数s,kib为参数kib;
将k拆分得到所述第一、第二中间参数。
本发明还提供一种基于私钥池的抗量子计算签密系统,参与方配置有密钥卡,密钥卡内存储有k池和K池,其中k池为私钥池且k池中存储己方k值,K池为公钥池且K池存储所有参与方的K值,同一方的k值与K值相关;
所述基于私钥池的抗量子计算签密系统,包括:
第一模块,用于利用随机数从k池中取出参数kia、参数kik,以及从K池中取出参数Kib、与参数kik相对应的参数Kik,并利用参数kik和参数Kib计算得到第一、第二中间参数;
第二模块,用于利用第一中间参数加密原文得到密文;利用哈希函数作用于原文和第二中间参数得到参数r;利用参数kik、参数r和参数kia计算得到参数s;
第三模块,用于对参数Kib和参数Kik进行计算得到计算结果,利用哈希函数作用于所述计算结果和参数r得到参数rk,再利用参数rk加密参数s得到参数srk;
第四模块,用于将所述随机数、所述密文、所述参数r以及所述参数srk作为签密发送给验密方用以进行验密。
本发明还提供一种基于私钥池的抗量子计算签密系统,参与方配置有密钥卡,密钥卡内存储有k池和K池,其中k池为私钥池且k池中存储己方k值,K池为公钥池且K池存储所有参与方的K值,同一方的k值与K值相关;
参与签密的签密方和验密方分别包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现所述的抗量子计算签密方法。
本发明中,使用密钥卡存储K池和某一个号码的k池,其中k池又称为私钥池。K池中存储公钥,k池中存储私钥,公私钥都是由随机数从密钥卡中取出。密钥卡中存储的公私钥不仅作为签名公私钥使用,还参与其他加解密过程。密钥卡是独立的硬件隔离设备,被恶意软件或恶意操作窃取密钥可能性大大降低。由于量子计算机无法计算出关键数据,因此该签密方案不容易被量子计算机破解。且本发明中利用私钥池存储大量私钥,每次签密计算利用随机数取得不同的公钥/私钥对作为通信双方的签密密钥,即通信双方的公私钥不是固定的,大大降低了因固定公私钥导致的被破解的风险。
附图说明
图1为本发明中的密钥卡的内部结构图;
图2为本发明中公/私钥与对应随机数的关系图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了更好地描述和说明本申请的实施例,可参考一幅或多幅附图,但用于描述附图的附加细节或示例不应当被认为是对本申请的发明创造、目前所描述的实施例或优选方式中任何一者的范围的限制。
应该理解的是,除非本文中有明确的说明,各步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
本发明中的密钥卡中有K池和某一个号码的k池,其中k池也称为私钥池。其中K池中存储的是公钥,称为Ki值;k池中存储的是私钥,称为ki值。
K池分为N个,从1号K池到N号K池,N的个数由颁发机构根据需要密钥卡的人数确定,N个号码的K池合起来统称为K池。k池也分为N个,也是从1号k池到N号k池,并且与K池一一对应,即相同号码的K池里存储的K值和k池里存储的k值相对应。其中“K”与“k”仅仅为了便于区分和表述,对池内数据本身并没有额外限定。
密钥卡里K池都包括有1号到N号,而k池则是N个k池中的某一个,我们称为n号k池(1<<=n<<=N)。K池和k池的大小按照号码依次为S1、S2、S3……SN。颁发机构取一个大素数p,q是p-1的一个素因子,g∈Zp*是一个q阶生成元,参数设置以下都通用。再取一个随机数ki,根据公式Ki=gki mod q,算出Ki,得到一组(ki,Ki),将其分别存入k池和K池。存储方法如下:对第n个密钥卡,取一个随机数ri作为n号k池指针随机数,用k池指针函数fp作用于ri,得到n号k池指针kp,用kp指向n号k池得到一个位置,在该位置存储对应的k值ki;让kp加上Ks(Ks为当前密钥卡中第n个K池的起始位置,可为Ks1到KsN中的某一个)得到Kp,用Kp指向K池得到一个位置,在该位置存储对应的K值Ki。用这个方法可以将生成的所有K值都存在每个密钥卡的K池,将生成的所有k值分别存在不同密钥卡的k池内。
其中一实施例中,提供一种基于私钥池的抗量子计算签密方法,参与方配置有密钥卡,密钥卡内存储有k池和K池,其中k池为私钥池且k池中存储己方k值,K池为公钥池且K池存储所有参与方的K值,同一方的k值与K值相关;
所述抗量子计算签密方法,包括在签密方:利用随机数从k池中取出参数kia、参数kik,以及从K池中取出参数Kib、与参数kik相对应的参数Kik,并利用参数kik和参数Kib计算得到第一、第二中间参数;
利用第一中间参数加密原文得到密文;
利用哈希函数作用于原文和第二中间参数得到参数r;
利用参数kik、参数r和参数kia计算得到参数s;
对参数Kib和参数Kik进行计算得到计算结果,利用哈希函数作用于所述计算结果和参数r得到参数rk,再利用参数rk加密参数s得到参数srk;
将所述随机数、所述密文、所述参数r以及所述参数srk作为签密发送给验密方用以进行验密。
具体地,利用随机数从k池中取出参数kia、参数kik,以及从K池中取出参数Kib、与参数kik相对应的参数Kik,包括:
生成随机数ri,将随机数ri拆分得到参数ria、参数rib和参数rik;
用指针函数作用于所述参数ria得到指针kap,并利用所述指针kap在k池中的相应位置获取参数kia;
用指针函数作用于所述参数rib得到指针kbp,并利用所述指针kbp在K池中的相应位置获取参数Kib;
用指针函数作用于所述参数rik得到指针kkp,并利用所述指针kkp在k池和K池中的相应位置分别获取参数kik和参数Kik。
具体地,所述利用参数kik和参数Kib计算得到第一、第二中间参数,包括:
依据公式k=Kibx mod p计算得到k的值,其中Kib为参数Kib,x为参数kik,p为算法的系统参数;
将k拆分得到所述第一、第二中间参数。
具体地,利用参数kik、参数r和参数kia计算得到参数s时采用如下公式:
s=x/(r+kia);其中x为参数kik,r为参数r,kia为参数kia。
在另一实施算法中,利用参数kik、参数r和参数kia计算得到参数s时采用如下公式:
s=x/(1+kia*r),其中x为参数kik,r为参数r,kia为参数kia。
在验密方包括:
从签密方接收所述随机数、所述密文、所述参数r以及所述参数srk;
利用所述随机数从k池中取出参数kib,以及从K池中取出参数Kia、参数Kib和参数KiK;
对参数Kib和参数Kik进行计算得到计算结果,利用哈希函数作用于所述计算结果和参数r得到参数rk,再利用参数rk解密参数srk得到参数s;
利用参数Kia、参数r、参数s和参数kib计算得到第一、第二中间参数;
利用第一中间参数解密所述密文得到原文;
用哈希函数作用于所述原文和所述第二中间参数得到参数r;
将己方得到的参数r与来自签密方的参数r进行对比得到相应的验密结果。
具体地,所述利用参数Kia、参数r、参数s和参数kib计算得到第一、第二中间参数包括:
依据公式k=(Kia*gr)s*kib mod p,或k=(g*Kiar)s*kib mod p计算k;其中Kia为参数Kia,g、p为算法的系统参数,r为参数r,s为参数s,kib为参数kib;
将k拆分得到所述第一、第二中间参数。
在其中一实施例中,结合图示,提供一种基于私钥池的抗量子计算签密方法,具体包括:
1.签密
1.1设签密的用户为A,验密的用户为B。
A取随机数ri,用函数F(例如将一个数按照2:3:5的长度分裂开为三段)作用于ri得到三个数ria、rib和rik,再用ria从密钥卡k池中取出参数kia,用rib从密钥卡K池中取出参数Kib,用rik从密钥卡k池中取出参数kik,用rik从密钥卡K池中取出参数Kik。其中参数kia和参数kik为k池中相应位置的k值,参数Kib和参数Kik为K池中相应位置的K值,而“kia”、“Kib”、“kik”和“Kik”等仅仅为了便于区分和表述,对参数本身并没有额外限定。
令x=kik,根据公式k=Kibx mod p计算得到k的值,然后用函数f1(例如将一个数按照1:1的长度分裂开为两段)作用于k得到两个数:第一中间参数k1和第二中间参数k2。
1.2设A要发送给B的原文为m,取带密钥的哈希函数KH作用于原文m和k2得到r。其中KH可以为HMAC函数。
如果是选择使用SDSS1签密方案则使用函数fs1来作用于x、r和kia,具体公式为s=x/(r+kia)从而算出参数s;
如果是选择使用SDSS2签密方案则使用函数fs2来作用于x、r和kia,具体公式为s=x/(1+kia*r)从而算出参数s;
其中签密方案SDSS1和SDSS2可参考《Digital Signcryption or How to AchieveCost(Signature&Encryption)<<Cost(Signature)+Cost(Encryption)》。
用k1来加密m得到c。
1.3对参数Kib和参数Kik进行异或运算得到Kib⊕Kik,用哈希函数KH作用于参数r和Kib⊕Kik得到参数rk,将参数rk作为密钥加密参数s得到{s}rk(即参数srk)。
1.4将组合{ri,c,r,{s}rk}作为签密发送给B。
2.解签密
2.1 B接收到A发送的签密{ri,c,r,{s}rk}。取与A相同的函数F作用于ri得到ria、rib和rik。再用ria从密钥卡K池中取出Kia,用rib从密钥卡k池中取出kib,用rib从密钥卡K池中取出Kib,用rik从密钥卡K池中取出Kik。
2.2对Kib和Kik进行异或运算得到Kib⊕Kik,用KH作用于r和Kib⊕Kik得到rk,用rk解密{s}rk得到s。
根据签密选择的签密方案SDSS1或者SDSS2来使用对应的函数fu1或者fu2来作用于Kia、r、s和kib,具体公式为k=(Kia*gr)s*kib mod p(SDSS1情形)或者k=(g*Kiar)s*kibmod p(SDSS2情形)可以得到k。再用与A相同的函数f1作用于k得到k1和k2。
2.3用k1解密c得到原文m。
2.4取KH作用于原文m和k2,将得到的结果和签密组合里的r对比,如果相同则可以验证A的身份正确并且A传给B的原文m在传送过程中没有被修改。
在一个实施例中,提供了一种基于私钥池的抗量子计算签密系统,参与方配置有密钥卡,密钥卡内存储有k池和K池,其中k池为私钥池且k池中存储己方k值,K池为公钥池且K池存储所有参与方的K值,同一方的k值与K值相关;
所述基于私钥池的抗量子计算签密系统,包括:
第一模块,用于利用随机数从k池中取出参数kia、参数kik,以及从K池中取出参数Kib、与参数kik相对应的参数Kik,并利用参数kik和参数Kib计算得到第一、第二中间参数;
第二模块,用于利用第一中间参数加密原文得到密文;利用哈希函数作用于原文和第二中间参数得到参数r;利用参数kik、参数r和参数kia计算得到参数s;
第三模块,用于对参数Kib和参数Kik进行计算得到计算结果,利用哈希函数作用于所述计算结果和参数r得到参数rk,再利用参数rk加密参数s得到参数srk;
第四模块,用于将所述随机数、所述密文、所述参数r以及所述参数srk作为签密发送给验密方用以进行验密。
关于抗量子计算签密系统的具体限定可以参见上文中对于抗量子计算签密方法的限定,在此不再赘述。上述各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,即一种基于私钥池的抗量子计算签密系统,该计算机设备可以是终端,其内部结构可以包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现上述基于私钥池的抗量子计算签密方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
其中一实施例中,提供一种基于私钥池的抗量子计算签密系统,参与方配置有密钥卡,密钥卡内存储有k池和K池,其中k池为私钥池且k池中存储己方k值,K池为公钥池且K池存储所有参与方的K值,同一方的k值与K值相关;
参与签密的签密方和验密方分别包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现所述的抗量子计算签密方法。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明的保护范围应以所附权利要求为准。

Claims (10)

1.基于私钥池的抗量子计算签密方法,其特征在于,参与方配置有密钥卡,密钥卡内存储有k池和K池,其中k池为私钥池且k池中存储己方k值,K池为公钥池且K池存储所有参与方的K值,同一方的k值与K值相关;
所述抗量子计算签密方法,包括在签密方:
利用随机数从k池中取出参数kia、参数kik,以及从K池中取出参数Kib、与参数kik相对应的参数Kik,并利用参数kik和参数Kib计算得到第一、第二中间参数;
利用第一中间参数加密原文得到密文;
利用哈希函数作用于原文和第二中间参数得到参数r;
利用参数kik、参数r和参数kia计算得到参数s;
对参数Kib和参数Kik进行计算得到计算结果,利用哈希函数作用于所述计算结果和参数r得到参数rk,再利用参数rk加密参数s得到参数srk;
将所述随机数、所述密文、所述参数r以及所述参数srk作为签密发送给验密方用以进行验密。
2.如权利要求1所述的基于私钥池的抗量子计算签密方法,其特征在于,同一方的k值与K值符合如下关系:
Ki=gki mod q;其中Ki为K值,ki为k值,g、q为算法的系统参数。
3.如权利要求2所述的基于私钥池的抗量子计算签密方法,其特征在于,所述利用随机数从k池中取出参数kia、参数kik,以及从K池中取出参数Kib、与参数kik相对应的参数Kik,包括:
生成随机数ri,将随机数ri拆分得到参数ria、参数rib和参数rik;
用指针函数作用于所述参数ria得到指针kap,并利用所述指针kap在k池中的相应位置获取参数kia;
用指针函数作用于所述参数rib得到指针kbp,并利用所述指针kbp在K池中的相应位置获取参数Kib;
用指针函数作用于所述参数rik得到指针kkp,并利用所述指针kkp在k池和K池中的相应位置分别获取参数kik和参数Kik。
4.如权利要求3所述的基于私钥池的抗量子计算签密方法,其特征在于,所述利用参数kik和参数Kib计算得到第一、第二中间参数,具体步骤包括:
依据公式k=Kibx mod p计算得到k的值,其中Kib为参数Kib,x为参数kik,p为算法的系统参数;
将k拆分得到所述第一、第二中间参数。
5.如权利要求4所述的基于私钥池的抗量子计算签密方法,其特征在于,所述利用参数kik、参数r和参数kia计算得到参数s时采用如下公式:
s=x/(r+kia);其中x为参数kik,r为参数r,kia为参数kia。
6.如权利要求4所述的基于私钥池的抗量子计算签密方法,其特征在于,所述利用参数kik、参数r和参数kia计算得到参数s时采用如下公式:
s=x/(1+kia*r),其中x为参数kik,r为参数r,kia为参数kia。
7.如权利要求5或6所述的基于私钥池的抗量子计算签密方法,其特征在于,所述抗量子计算签密方法还包括在验密方:
从签密方接收所述随机数、所述密文、所述参数r以及所述参数srk;
利用所述随机数从k池中取出参数kib,以及从K池中取出参数Kia、参数Kib和参数KiK;
对参数Kib和参数Kik进行计算得到计算结果,利用哈希函数作用于所述计算结果和参数r得到参数rk,再利用参数rk解密参数srk得到参数s;
利用参数Kia、参数r、参数s和参数kib计算得到第一、第二中间参数;
利用第一中间参数解密所述密文得到原文;
用哈希函数作用于所述原文和所述第二中间参数得到参数r;
将己方得到的参数r与来自签密方的参数r进行对比得到相应的验密结果。
8.如权利要求7所述的基于私钥池的抗量子计算签密方法,其特征在于,所述利用参数Kia、参数r、参数s和参数kib计算得到第一、第二中间参数包括:
依据公式k=(Kia*gr)s*kib mod p,或k=(g*Kiar)s*kib mod p计算k;其中Kia为参数Kia,g、p为算法的系统参数,r为参数r,s为参数s,kib为参数kib;
将k拆分得到所述第一、第二中间参数。
9.基于私钥池的抗量子计算签密系统,其特征在于,参与方配置有密钥卡,密钥卡内存储有k池和K池,其中k池为私钥池且k池中存储己方k值,K池为公钥池且K池存储所有参与方的K值,同一方的k值与K值相关;
所述基于私钥池的抗量子计算签密系统,包括:
第一模块,用于利用随机数从k池中取出参数kia、参数kik,以及从K池中取出参数Kib、与参数kik相对应的参数Kik,并利用参数kik和参数Kib计算得到第一、第二中间参数;
第二模块,用于利用第一中间参数加密原文得到密文;利用哈希函数作用于原文和第二中间参数得到参数r;利用参数kik、参数r和参数kia计算得到参数s;
第三模块,用于对参数Kib和参数Kik进行计算得到计算结果,利用哈希函数作用于所述计算结果和参数r得到参数rk,再利用参数rk加密参数s得到参数srk;
第四模块,用于将所述随机数、所述密文、所述参数r以及所述参数srk作为签密发送给验密方用以进行验密。
10.基于私钥池的抗量子计算签密系统,其特征在于,参与方配置有密钥卡,密钥卡内存储有k池和K池,其中k池为私钥池且k池中存储己方k值,K池为公钥池且K池存储所有参与方的K值,同一方的k值与K值相关;
参与签密的签密方和验密方分别包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现权利要求1~8任一项所述的抗量子计算签密方法。
CN201910048995.1A 2019-01-18 2019-01-18 基于私钥池的抗量子计算签密方法和系统 Active CN109951287B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910048995.1A CN109951287B (zh) 2019-01-18 2019-01-18 基于私钥池的抗量子计算签密方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910048995.1A CN109951287B (zh) 2019-01-18 2019-01-18 基于私钥池的抗量子计算签密方法和系统

Publications (2)

Publication Number Publication Date
CN109951287A true CN109951287A (zh) 2019-06-28
CN109951287B CN109951287B (zh) 2023-02-17

Family

ID=67006670

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910048995.1A Active CN109951287B (zh) 2019-01-18 2019-01-18 基于私钥池的抗量子计算签密方法和系统

Country Status (1)

Country Link
CN (1) CN109951287B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101051902A (zh) * 2006-06-16 2007-10-10 上海交通大学 一种代理签密方法及系统
CN103297241A (zh) * 2013-05-31 2013-09-11 中国人民武装警察部队工程大学 一种一次性公钥匿名签密的构造方法
CN103905189A (zh) * 2012-12-24 2014-07-02 航天信息股份有限公司 无证书且无配对的基于身份的代理签密方法和系统
US20170365193A1 (en) * 2016-06-18 2017-12-21 Lior Malka Mutable secure communication
CN107707360A (zh) * 2017-11-10 2018-02-16 西安电子科技大学 物联网环境下的异构聚合签密方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101051902A (zh) * 2006-06-16 2007-10-10 上海交通大学 一种代理签密方法及系统
CN103905189A (zh) * 2012-12-24 2014-07-02 航天信息股份有限公司 无证书且无配对的基于身份的代理签密方法和系统
CN103297241A (zh) * 2013-05-31 2013-09-11 中国人民武装警察部队工程大学 一种一次性公钥匿名签密的构造方法
US20170365193A1 (en) * 2016-06-18 2017-12-21 Lior Malka Mutable secure communication
CN107707360A (zh) * 2017-11-10 2018-02-16 西安电子科技大学 物联网环境下的异构聚合签密方法

Also Published As

Publication number Publication date
CN109951287B (zh) 2023-02-17

Similar Documents

Publication Publication Date Title
Timothy et al. A hybrid cryptography algorithm for cloud computing security
US6490352B1 (en) Cryptographic elliptic curve apparatus and method
CN109818749B (zh) 基于对称密钥池的抗量子计算点对点消息传输方法和系统
CN108418686A (zh) 一种多分布式的sm9解密方法与介质及密钥生成方法
CN105024994A (zh) 无对运算的安全无证书混合签密方法
CN109756329A (zh) 基于私钥池的抗量子计算共享密钥协商方法和系统
CN106127079A (zh) 一种数据共享方法及装置
CN105306194A (zh) 供加密档案和/或通讯协定的多重加密方法与系统
CN109660338A (zh) 基于对称密钥池的抗量子计算数字签名方法和抗量子计算数字签名系统
CN107425971A (zh) 终端及其无证书的数据加/解密方法和装置
CN104158880A (zh) 一种用户端云数据共享解决方法
CN109936456A (zh) 基于私钥池的抗量子计算数字签名方法和系统
CN109831306A (zh) 基于多个密钥池的抗量子计算环签名方法和系统
CN109831305A (zh) 基于非对称密钥池的抗量子计算签密方法和系统
CN111030821B (zh) 一种基于双线性映射技术的联盟链的加密方法
CN106850233B (zh) 一种多机构可外包的电子合同签署和管理方法
CN110048852A (zh) 基于非对称密钥池的量子通信服务站数字签密方法和系统
CN110519214B (zh) 基于在线离线签名和辅助验证签名的应用系统近距离节能通信方法、系统、设备
EP2395698B1 (en) Implicit certificate generation in the case of weak pseudo-random number generators
CN109787772A (zh) 基于对称密钥池的抗量子计算签密方法和系统
CN109787773A (zh) 基于私钥池和Elgamal的抗量子计算签密方法和系统
CN109951287A (zh) 基于私钥池的抗量子计算签密方法和系统
CN106973061B (zh) 一种基于可逆逻辑电路的aes的外发文件加密方法
CN105187213A (zh) 一种计算机信息安全的方法
CN109842493A (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