CN116170142B - 分布式协同解密方法、设备和存储介质 - Google Patents
分布式协同解密方法、设备和存储介质 Download PDFInfo
- Publication number
- CN116170142B CN116170142B CN202310430162.8A CN202310430162A CN116170142B CN 116170142 B CN116170142 B CN 116170142B CN 202310430162 A CN202310430162 A CN 202310430162A CN 116170142 B CN116170142 B CN 116170142B
- Authority
- CN
- China
- Prior art keywords
- decryption
- target
- polynomials
- component
- secret
- 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
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
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
- H04L63/0442—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
-
- 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/0894—Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
-
- 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/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3006—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
- H04L9/302—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters involving the integer factorization problem, e.g. RSA or quadratic sieve [QS] 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/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3006—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
- H04L9/3026—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters details relating to polynomials generation, e.g. generation of irreducible polynomials
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Algebra (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Mathematical Physics (AREA)
- Pure & Applied Mathematics (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Storage Device Security (AREA)
Abstract
本发明实施例提供一种分布式协同解密方法、设备和存储介质,所述方法包括:获取加密密文和目标多项式,目标多项式用于对K个私钥分量进行处理,以获得与N个解密端各自对应的秘密分量,且目标多项式为T‑1次多项式,N不小于T。基于目标多项式,从N个解密端中随机选择T个解密端确定为目标解密端,目标解密端个数T是由目标多项式次数所决定的。将加密密文的第一部分发送至T个目标解密端,以使得目标解密端分别利用拉格朗日插值法对秘密分量和加密密文的第一部分进行处理,获得解密分量,将解密分量发送至服务端。基于T个解密分量和加密密文的第二部分,确定加密密文所对应的明文,不仅提高了格加密算法的安全性,还可以灵活制定解密策略。
Description
技术领域
本发明涉及网络信息技术领域,尤其涉及一种分布式协同解密方法、设备和存储介质。
背景技术
随着人们对于文件传输、信息传输过程中安全度的重视,越来越多的加密方法和解密算法应用而生,其中,格加密算法是目前公认的能够对抗量子计算机的加密算法。
在传统格加密方案中,通常私钥是掌握在单个解密方手中的,一旦该解密方被入侵,则会导致私钥泄露,将会严重地影响信息的安全性。
发明内容
本发明实施例提供一种分布式协同解密方法、设备和存储介质,用以提高格加密算法的安全性,同时还可以灵活地制定解密策略。
第一方面,本发明实施例提供一种分布式协同解密方法,应用于服务端,该方法包括:
获取待解密的加密密文和目标多项式,所述加密密文由二部分组成,所述目标多项式用于对所述K个私钥分量进行处理,以获得与N个解密端各自对应的秘密分量,且所述目标多项式为T-1次多项式,N不小于T;
基于所述目标多项式,从所述N个解密端中随机选择T个解密端确定为目标解密端,所述目标解密端个数T是由目标多项式次数所决定的;
将所述加密密文的第一部分发送至T个目标解密端,以使得所述目标解密端分别利用拉格朗日插值法对所述秘密分量和所述加密密文的第一部分进行处理,获得解密分量,并将所述解密分量发送至所述服务端;
接收所述T个解密者各自发送的解密分量,并基于所述解密分量和所述加密密文的第二部分,确定所述加密密文所对应的明文。
第二方面,本发明实施例提供一种分布式协同解密装置,位于服务端,该装置包括:
获取模块,用于获取待解密的加密密文和目标多项式,所述加密密文由二部分组成,所述目标多项式用于对所述K个私钥分量进行处理,以获得与N个解密端各自对应的秘密分量,且所述目标多项式为T-1次多项式,N不小于T;
确定模块,用于基于所述目标多项式,从所述N个解密端中随机选择T个解密端确定为目标解密端,所述目标解密端个数T是由目标多项式次数所决定的;
发送模块,用于将所述加密密文的第一部分发送至T个目标解密端,以使得所述目标解密端分别利用拉格朗日插值法对所述秘密分量和所述加密密文的第一部分进行处理,获得解密分量,并将所述解密分量发送至所述服务端;
接收模块,用于接收所述T个解密者各自发送的解密分量,并基于所述解密分量和所述加密密文的第二部分,确定所述加密密文所对应的明文。
第三方面,本发明实施例提供一种电子设备,包括:存储器、处理器、通信接口;其中,所述存储器上存储有可执行代码,当所述可执行代码被所述处理器执行时,使所述处理器至少可以实现如第一方面所述的分布式协同解密方法。
第四方面,本发明实施例提供了一种非暂时性机器可读存储介质,所述非暂时性机器可读存储介质上存储有可执行代码,当所述可执行代码被管控设备的处理器执行时,使所述处理器至少可以实现如第一方面所述的分布式协同解密方法。
第五方面,本发明实施例提供一种分布式协同解密方法,应用于解密端,所述方法包括:
接收服务端发送的加密密文的第一部分;
获取用于解密的秘密分量;
利用拉格朗日插值法对所述秘密分量和所述加密密文中的第一部分进行处理,获得解密分量;
将所述解密分量发送至所述服务端,以使得所述服务端基于所述解密分量和所述加密密文的第二部分,确定所述加密密文所对应的明文。
第六方面,本发明实施例提供一种分布式协同解密装置,位于解密端,所述装置包括:
接收模块,用于接收服务端发送的加密密文的第一部分;
获取模块,用于获取用于解密的秘密分量;
处理模块,用于利用拉格朗日插值法对所述秘密分量和所述加密密文中的第一部分进行处理,获得解密分量;
发送模块,用于将所述解密分量发送至所述服务端,以使得所述服务端基于所述解密分量和所述加密密文的第二部分,确定所述加密密文所对应的明文。
第七方面,本发明实施例提供一种电子设备,包括:存储器、处理器、通信接口;其中,所述存储器上存储有可执行代码,当所述可执行代码被所述处理器执行时,使所述处理器至少可以实现如第五方面所述的分布式协同解密方法。
第八方面,本发明实施例提供了一种非暂时性机器可读存储介质,所述非暂时性机器可
读存储介质上存储有可执行代码,当所述可执行代码被计算设备的处理器执行时,使所述处
理器至少可以实现如第五方面所述的分布式协同解密方法。
本发明实施例提供的分布式协同解密方法方案可以适用于服务端和解密端,对于服务端来说,首先,获取待解密的加密密文和目标多项式。其中,加密密文由二部分组成,目标多项式用于对私钥中的K个私钥分量进行处理,以获得与N个解密端各自对应的秘密分量,且目标多项式为T-1次多项式,N不小于T。接着,基于目标多项式,从N个解密端中随机选择T个解密端确定为目标解密端,目标解密端个数T是由目标多项式次数所决定的。然后,将加密密文的第一部分发送至T个目标解密端,以使得目标解密端分别利用拉格朗日插值法对秘密分量和加密密文的第一部分进行处理,获得解密分量,并将解密分量发送至服务端;接收T个解密者各自发送的解密分量,并基于解密分量和加密密文的第二部分,确定加密密文所对应的明文。
在上述方案中,为了提高私钥的安全性,以避免攻击者攻击泄露私钥,基于私钥中的K个私钥分量,构成出多个T-1次的目标多项式,利用多个目标多项式将K个私钥分量分别隐藏在秘密分量中,分别存储在N个解密端,使得解密端无法获得完整的私钥,提高了格加密算法的安全性。并且,基于T-1次目标多项式以实现对私钥分量的秘密分享,那么基于目标多项式进行秘密分享的特点在进行解密时利用拉格朗日插值法对其中任意T个解密端的秘密分量进行处理即可恢复出私钥分量,然后基于恢复出的私钥分量对加密密文进行解密,实现了任意T个解密端就可以完成对加密密文的解密,这样可以使得解密方法更灵活,可以根据需求灵活定制解密策略,以避免个别解密端出现故障时,影响整个解密过程。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种分布式协同解密方法的流程图;
图2为本发明一示例性实施例的一种分布式协同解密方法的应用场景示意图;
图3为本发明实施例提供的利用拉格朗日插值法,基于K个私钥分量,分别构造与私钥分量各自对应的T-1次目标多项式的流程示意图;
图4为本发明实施例提供的基于解密分量和加密密文中的第二部分,确定加密密文所对应的明文的流程示意图;
图5为本发明一示例性实施例的一种分布式协同解密方法的流程示意图;
图6为本发明实施例提供的一种分布式协同解密装置的结构示意图;
图7为与图6所示实施例提供的分布式协同解密装置对应的电子设备的结构示意图;
图8为本发明实施例提供的一种分布式协同解密装置的结构示意图;
图9为与图8所示实施例提供的分布式协同解密装置对应的电子设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其它含义,“多种”一般包含至少两种,但是不排除包含至少一种的情况。应当理解,本文中使用的术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。取决于语境,如在此所使用的词语“如果”、“若”可以被解释成为“在……时”或“当……时”。
还需要说明的是,术语“包括”、“包含”或者其任何其它变体意在涵盖非排他性的包含,从而使得包括一系列要素的商品或者系统不仅包括那些要素,而且还包括没有明确列出的其它要素,或者是还包括为这种商品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的商品或者系统中还存在另外的相同要素。
另外,下述各方法实施例中的步骤时序仅为一种举例,而非严格限定。
为了便于理解本发明的技术方案,下面对相关技术进行简要说明:
1994年,著名计算机科学家、麻省理工学院的应用数学系教授彼得·秀尔提出了在量子电脑应用上的“秀尔算法”,又称量子质因数分解算法,因其证明量子电脑能做出对数运算,而且速度远胜传统电脑,对于现在通行于银行及网络等处的RSA加密算法可以破解而构成威胁。那么如果有一天量子计算机被真正发明出来,它们将摧毁今天的许多加密算法,这种可怕的可能性使科学家们争先恐后地制作新的"后量子"加密方案,以尽量避免信息落入量子黑客的手中。
格加密算法,是目前公认的能够对抗量子计算机的加密算法。目前的格加密算法,私钥完全掌握于单个解密方,一旦该解密方被入侵,会造成私钥泄露,造成严重后果。另外,若以秘密共享的方式将私钥拆分为多份,拆分后的每个份额由不同的解密者进行存储保存,单个解密者无法恢复出完整的私钥,只有所有的解密者一同协作才能恢复出完整的私钥,但是,这样解密的局限性很大,若某个解密者出现问题无法进行解密时,就无法恢复出完整的私钥,从而影响用户的使用。
基于此,本发明实施例提供了一种解决方案,基于私钥中的K个私钥分量,构造出一个T-1次的目标多项式,利用目标多项式将K个私钥分量分别隐藏在秘密分量中,分别存储在N个解密端,使得解密端无法获得完整的私钥,提高了格加密算法的安全性。并且,基于T-1次目标多项式以实现对私钥分量的秘密分享,那么基于目标多项式进行秘密分享的特点在进行解密时利用拉格朗日插值法对其中任意T个解密端的秘密分量进行处理即可恢复出私钥分量,然后基于恢复出的私钥分量对加密密文进行解密,实现了任意T个解密端就可以完成对加密密文的解密,不仅可以降低加密密文的解密难度,还解密方法更灵活,可以根据需求灵活定制解密策略,以避免个别解密端出现故障时,影响整个解密过程。
下面通过各个实施例对本方案的分布式协同解密方法进行详细介绍。本发明实施例提供的分布式协同解密方法可以由一电子设备来执行,该电子设备可以是诸如PC机、笔记本电脑、智能手机等终端设备。下面分别对服务端和解密端执行的解密过程进行示例性说明。
图1为本发明实施例提供的一种分布式协同解密方法的流程图。图2为本发明一示例性实施例的一种分布式协同解密方法的应用场景示意图;参考附图1、附图2所示,本实施例提供了一种分布式协同解密方法,该方法的执行主体可以为服务端设备,可以理解的是,该服务端设备可以实现为软件、或者软件和硬件的组合,具体的,如图1所示,该分布式协同解密方法可以包括如下步骤:
步骤101、获取待解密的加密密文和目标多项式,加密密文由二部分组成,目标多项式用于对K个私钥分量进行处理,以获得与N个解密端各自对应的秘密分量,且目标多项式为T-1次多项式,N不小于T。
步骤102、基于目标多项式,从N个解密端中随机选择T个解密端确定为目标解密端,目标解密端个数T是由目标多项式次数所决定的。
步骤103、将加密密文的第一部分发送至T个目标解密端,以使得目标解密端分别利用拉格朗日插值法对秘密分量和加密密文的第一部分进行处理,获得解密分量,并将解密分量发送至服务端。
步骤104、接收T个解密者各自发送的解密分量,并基于解密分量和加密密文的第二部分,确定加密密文所对应的明文。
本发明实施例提供的分布式协同解密方法,服务端作为解密过程的控制者,在进行解密之前,服务端可以先获取用于待加密密文进行解密的私钥。其中,可以根据格加密算法,生成用于对加密密文进行解密的私钥。具体的,随机生成第一比特串和第二比特串;基于第一比特串和矩阵函数,确定第一矩阵,其中矩阵函数用于生成比特串所对应的矩阵;基于第二比特串和所述矩阵函数,确定第二矩阵和第三矩阵,并将第二矩阵确定为私钥;基于第一矩阵、第二矩阵和第三矩阵,确定公钥的第一分量;基于第一分量和第一比特串,生成公钥。
具体的,首先随机生成第一比特串和第二比特串/>,并且第一比特串和第二比特串分别是由0或1构成的256长度的随机比特串,即/>。而后,将第一比特串/>输入至矩阵函数Sam,获得第一矩阵/>,即/>。其中Sam函数用于在输入随机比特串之后产生对应的矩阵,且每个矩阵中的元素都为多项式环上的一个多项式,且每个元素对应的多项式都是在多项式环中随机的一个多项式。因此,该式子/>表征将/>输入到Sam函数中获得一个/>的矩阵A,且该矩阵A中的每个元素都是多项式环中包含的一个随机的多项式。接着,将第二比特串/>输入至矩阵函数Sam,获得第二矩阵/>和第三矩阵/>,即/>。其中,该第二矩阵/>中每个元素都对应为一个多项式,该第三矩阵/>中每个元素也对应为一个多项式,且/>为远远小于q的数值,且该/>中包含的每个多项式中各个变量前的系数都是小于/>,该s为基于格加密算法产生的公私钥对中的私钥对应的矩阵。该s和/>分别为一个/>的矩阵,且每个矩阵中包含K个元素。然后,基于公式/>,生成公钥的第一分量/>,其中,t为构成公钥对应的二维向量中的第一分量,A为将第一随机比特串输入到Sam函数中获得的矩阵,s为私钥对应的矩阵。最后,基于第一分量和第一比特串,生成公钥/>。其中,公钥为一个二维向量,/>为第一随机比特串,且构成公钥对应的二维向量中的第二分量。
在本发明实施例中,公私钥对的生成过程可以在服务端完成,也可以在另一个可信设备中生成,对此不做限定。并且,生成的公钥可以对外公开,使得加密者可以获得该公钥对待加密的数据进行加密处理。
在实际应用中,若将私钥存储在服务端,那么一旦服务端被攻击者攻击,将会造成私钥泄露,产生严重的影响。因此,为了提高提高私钥的安全性,以避免攻击者攻击泄露私钥,将私钥分散存储在多个解密端,攻击者需要攻击多个解密端才能获得到完整的私钥,难度大大提升。具体的,服务端在获取到私钥之后,私钥包括K个私钥分量,K为正整数;并将私钥分量分别隐藏在与N个解密端相对应的秘密分量中,分别存储在N个解密端中,使得解密端无法获得完整的私钥,提高了格加密算法的安全性。由于私钥为一个K*1的矩阵,矩阵中的每个元素都对应为一个多项式,因此可以基于私钥本身的特性直接获得K个私钥分量。N可以为任意的正整数,可以根据实际需求进行设定。
在获得K个私钥分量之后,基于K个私钥分量,生成与N个解密端各自对应的秘密分量,并将秘密分量发送至各自对应的解密端。具体的,获取用于对加密密文进行解密的私钥,私钥包括K个私钥分量,K为正整数;利用拉格朗日插值法,基于K个私钥分量,分别构造与私钥分量各自对应的T-1次目标多项式,N大于T;基于目标多项式,生成与N个解密端各自对应的秘密分量,并将秘密分量发送至各自对应的解密端。在本发明实施例中,利用T-1次目标多项式以实现对私钥分量的秘密分享,那么基于目标多项式进行秘密分享的特点在进行解密时利用拉格朗日插值法对其中任意T个解密端的秘密分量进行处理即可恢复出私钥分量。需要注意的是:本发明实施例中,满足N不小于T(N大于T或者N等于T)即可,其N、T具体数值大小可以根据实际需求进行设定,服务端也可以灵活的制定解密策略。
可选地,利用拉格朗日插值法,基于K个私钥分量,分别构造与私钥分量各自对应的T-1次目标多项式的具体实现方式可以包括:随机选取T-1个第一多项式和N个第二多项式,第一多项式和所述第二多项式均为多项式环中的一个随机多项式;基于K个私钥分量、T-1个第一多项式以及N个第二多项式,生成N *K个T-1次目标多项式。也就是说,一个解密端对应有K个T-1次目标多项式。
为了后续可以基于任意T个解密端可以实现解密,那么在生成秘密分量时,可以利用拉格朗日插值法,生成目标多项式,将私钥分量隐藏在T-1次目标多项式中,基于目标多项式生成秘密分量。在一可选实施例中,生成秘密分量的具体实现过程可以包括:随机选取T-1个第一多项式和N个第二多项式,其中第一多项式和第二多项式均为多项式环中的一个随机多项式;基于K个私钥分量、T-1个第一多项式以及N个第二多项式,生成N *K个目标多项式;基于N个第二多项式和目标多项式,生成与N个解密端各自对应的秘密分量,并将秘密分量发送至各自对应的解密端。N个解密端接收到服务端发送的秘密分量之后,可以将秘密分量存储在本地,以便后续接收到服务端发送的加密密文的第一部分后,可以直接基于秘密分量对加密密文的第一部分进行解密,获得解密分量。
当服务端有解密需求时或者接收到解密请求之后,可以先获取待解密的加密密文。其中该加密密文由二部分组成,并且该加密密文可以是利用格加密算法,基于公钥对待加密的数据进行加密后获得的加密密文。
在获取到待解密的加密密文之后,获取目标多项式,并基于目标多项式确定目标解密端个数。例如目标多项式为T-1次多项式,则需要T个目标解密端进行解密。也就是说,目标解密端个数是由构造出的目标多项式次数所决定的。在确定出目标解密端个数T之后,服务端可以根据实际需求,从N个解密端中随机选择T个解密端确定为目标解密端,其中N大于T。然后,将加密密文的第一部分发送至T个目标解密端,以使得目标解密端分别利用拉格朗日插值法对秘密分量和加密密文的第一部分进行处理,获得解密分量,并将解密分量发送至服务端。接收T个解密者各自发送的解密分量,基于解密分量和加密密文的第二部分,确定加密密文所对应的明文。在本发明实施例中,利用拉格朗日插值法,由任意T个解密端协同进行解密就可以实现对加密密文的解密,不再需要所有的解密端也可以完成整个解密过程,因此服务端可以根据需求灵活定制解密策略。
本发明实施例提供的分布式协同解密方案中,通过T-1次目标多项式以实现对私钥分量的秘密分享,那么基于目标多项式进行秘密分享的特点在进行解密时利用拉格朗日插值法对其中任意T个解密端的秘密分量进行处理即可恢复出私钥分量,然后基于恢复出的私钥分量对加密密文进行解密,实现了任意T个解密端就可以完成对加密密文的解密,这样可以使得解密方法更灵活,可以根据需求灵活定制解密策略,以避免个别解密端出现故障时,影响整个解密过程。
图3为本发明实施例提供的利用拉格朗日插值法,基于K个私钥分量,分别构造与私钥分量各自对应的T-1次目标多项式的流程示意图;在上述实施例的基础上,参考附图3所示,本实施例提供了一种基于K个私钥分量,生成与N个解密端各自对应的秘密分量的实现方式。具体的,可以包括:
步骤301、随机选取T-1个第一多项式和N个第二多项式,第一多项式和第二多项式均为多项式环中的一个随机多项式。
步骤302、基于K个私钥分量、T-1个第一多项式以及N个第二多项式,生成N *K个目标多项式。
在本发明实施例中,利用拉格朗日插值法,使得任意T个解密端基于各自对应的秘密分量可以实现对加密密文的解密,那么在生成秘密分量时,可以利用拉格朗日插值法,生成形如拉格朗日多项式的目标多项式,将私钥分量隐藏在目标多项式中。
具体的,在生成N个秘密分量时,首先随机选取T-1个第一多项式和N个第二多项式,第一多项式和第二多项式均为多项式环中的一个随机多项式。其中,多项式环是指由系数在环R中的多项式构成的环,其中环R可以为交换环、整数环、剩余类环等,其环R具体的类型可以根据实际需求进行设定。
接着,基于K个私钥分量、T-1个第一多项式以及N个第二多项式,生成N *K个目标多项式。将私钥分割后存储在N个解密端,一个解密端对应有K个目标向量,那么在生成目标多项式时需要生成N *K个目标多项式。在一可选实施例中,基于K个私钥分量、T-1个第一多项式以及N个第二多项式,生成N *K个目标多项式的具体实现方式可以为:将K个私钥分量分别确定为与解密端所对应的K个目标多项式的常数项;将T-1个第一多项式确定为与解密端所对应的K个目标多项式的系数;将N个第二多项式分别确定为与N个解密端各自对应的目标多项式的变量;基于常数项、系数以及变量,确定与N个解密端各自对应的K个目标多项式。
具体的,假设私钥为S,K个私钥分量分别为,/>,其中/>,/>表示第j个私钥分量,/>为私钥矩阵中第j个元素。T-1个第一多项式分别为/>,N个第二多项式分别为/>。基于该公式,确定N个解密端各自对应的K个目标多项式。例如,第一个解密端所对应的第二多项式为/>,那么第一个解密端所对应的K个目标多项式分别为/>、/>..../>。第二个解密端所对应的第二多项式为/>,那么第二个解密端基于上述公式生成所对应的K个目标多项式分别为:/>、/>..../>。按照此方法依次生成N个解密端各自对应的K个目标多项式,在此不再赘述。
在生成N个解密端各自对应的K个目标多项式之后,基于N个第二多项式和所述目标多项式,生成与N个解密端各自对应的秘密分量。其中,秘密分量是由两部分组成,基于N个第二多项式和目标多项式,生成与N个解密端各自对应的秘密分量的具体实现方式可以为:将N个解密端各自对应的目标多项式的变量确定为秘密分量的第一部分;将N个解密端各自对应的K个目标多项式确定为秘密分量的第二部分;基于秘密分量第一部分和秘密分量第二部分,分别生成与N个解密端各自对应的秘密分量。
具体的,可以基于公式,分别生成与N个解密端各自对应的秘密分量,其中/>为秘密分量。例如,假设第一个解密端对应的目标多项式的变量为/>第一个解密端各自对应的K个目标多项式分别为/>、/>..../>。那么第一个解密端所对应的秘密分量为。假设第二个解密端对应的目标多项式的变量为/>,第二个解密端各自对应的K个目标多项式分别为/>、/>....。那么第二个解密端所对应的秘密分量为/>。
本发明实施例中,通过随机选取T-1个第一多项式和N个第二多项式,第一多项式和第二多项式均为多项式环中的一个随机多项式,基于K个私钥分量、T-1个第一多项式以及N个第二多项式,生成N *K个目标多项式,基于N个第二多项式和目标多项式,生成与N个解密端各自对应的秘密分量,并将秘密分量发送至各自对应的解密端,这样可以将私钥分散在多个解密端,攻击者需要成功攻击所有的解密端才能获取完整私钥,大大提高了安全性,并且这样生成的秘密分量,只需其中任意的T个秘密分量分别对加密密文进行解密,就可以完成整个解密过程。
基于上述实施例生成目标多项式方法的基础上,在一可选实施例中基于目标多项式,生成与N个解密端各自对应的秘密分量的具体实现方式可以包括:将N个解密端各自对应的目标多项式的变量确定为秘密分量的第一部分;将N个解密端各自对应的K个目标多项式确定为秘密分量的第二部分;基于秘密分量第一部分和秘密分量第二部分,分别生成与N个解密端各自对应的秘密分量。在生成与N个解密端各自对应的秘密分量之后,将其发送至各自对应的解密端。
图4为本发明实施例提供的基于解密分量和加密密文中的第二部分,确定加密密文所对应的明文的流程示意图;在上述实施例的基础上,参考附图4所示,本实施例提供了一种基于解密分量和加密密文中的第二部分,确定加密密文所对应的明文的实现方式。具体的,可以包括:
步骤401、对解密分量进行累加处理,获得私钥与加密密文中的第一部分的乘积值。
步骤402、获取加密密文中的第二部分与乘积值的差值。
步骤403、基于预设函数以及所述差值,确定加密密文所对应的明文,预设函数为格解密算法中的编码函数。
在接收到T个目标解密端发送的各自对应的解密分量之后,对多个解密分量进行累加处理,获得私钥与加密密文中的第一部分的乘积值。具体的,假设私钥为s,加密密文中的第一部分为u,T个目标解密端发送的各自对应的解密分量分别为,利用拉格朗日插值法,对T个解密分量进行累加处理,获得私钥与加密密文中的第一部分的乘积值即/>=su。
接着,获取加密密文中的第二部分与乘积值的差值。假设加密密文中的第二部分为v,私钥与加密密文中的第一部分的乘积值为su,则加密密文中的第二部分与乘积值的差值为=/>su。最后,基于预设函数以及差值,确定加密密文所对应的明文,其中预设函数为格解密算法中的编码函数。并且定义预设函数,其中,q为预先设置的参数,mod为取余函数,对/>就近取整。具体的,基于公式/>获得加密密文所对应的明文。
在本发明实施例中,通过对解密分量进行累加处理,获得私钥与加密密文中的第一部分的乘积值,获取加密密文中的第二部分与乘积值的差值,基于预设函数以及所述差值,确定加密密文所对应的明文,实现了基于任意的T个解密端实现了对加密密文的解密,其解密过程较灵活,可以更好地满足用户的个性需求。
图5为本发明一示例性实施例的一种分布式协同解密方法的流程示意图;参考附图5所示,本实施例提供了一种分布式协同解密方法,该方法的执行主体可以为解密端设备,可以理解的是,该设备可以实现为软件、或者软件和硬件的组合。具体的,该分布式协同解密方法可以包括:
步骤501、接收服务端发送的加密密文的第一部分。
步骤502、获取用于解密的秘密分量。
步骤503、利用拉格朗日插值法对秘密分量和加密密文中的第一部分进行处理,获得解密分量。
步骤504、将解密分量发送至服务端,以使得服务端基于解密分量和加密密文中的第二部分,确定加密密文所对应的明文。
本发明实施例提供的分布式协同解密方法,在进行解密之前,首先获取用于解密的秘密分量。其中,获取秘密分量的具体实现方式可以为:接收服务端发送的秘密分量,并对其进行存储,以便后续接收到服务端发送的加密密文后,获取到用于进行解密的秘密分量,并基于存储的秘密分量对加密密文进行解密处理。
当解密端接收到服务端发送的加密密文之后,利用拉格朗日插值法对秘密分量和加密密文中的第一部分进行处理,获得解密分量。其中,秘密分量由秘密分量第一部分和秘密分量第二部分组成,可选地利用拉格朗日插值法对所述秘密分量和所述加密密文中的第一部分进行处理,获得解密分量的具体的实现过程可以包括:获取拉格朗日插值的基函数和T-1个目标解密端所对应的秘密分量第一部分;基于拉格朗日插值的基函数、T-1个目标解密端所对应的秘密分量第一部分、秘密分量第一部分、秘密分量第二部分和加密密文的第一部分,获得解密分量。
在一可选实施例中,假设接收到的加密密文为,假定T个目标解密端为,目标解密端之间可以共享目标解密端的秘密分量第一部分,即共享集合。该解密端为/>计算秘密分量第一部分/>,即,/>。接着,计算解密分量/>即/>,。
最后,将解密分量发送至服务端,以使得服务端基于解密分量和加密密文的第二部分,确定加密密文所对应的明文,实现了基于T个解密端中的解密分量完成了对加密密文的解密。
对于选中的所有用于解密的目标解密端的具体解密过程都和上述方法中的解密端执行的操作一样,其它目标解密端的执行过程可以参考上述实施过程。
综上,在本发明实施例中,通过接收服务端发送的加密密文的第一部分,获取用于解密的秘密分量,利用拉格朗日插值法对秘密分量和加密密文中的第一部分进行处理,获得解密分量,将解密分量发送至服务端,以使得服务端基于解密分量和加密密文中的第二部分,确定加密密文所对应的明文,即通过K个私钥分量构造出T-1次目标多项式,然后基于T-1次目标多项式生成N个解密端对应的秘密分量实现对私钥分量的秘密分享,那么可以利用拉格朗日插值法基于任意T个解密者各自发送的解密分量,就可以恢复出私钥分量,基于私钥分量对加密密文进行解密,这样不仅降低了加密密文的解密难度,还可以根据实际需求,灵活定制解密策略。
本发明实施例提供的方案的一些步骤的具体执行过程可以参考前述其他实施例中的相关说明,在此不赘述。
在上述的实施例中,都是通过服务端来控制整个解密过程,在服务端完成了私钥隐藏等操作,并最终在服务端将多个目标解密端的解密分量进行统一处理,获得了加密密文所对应的明文。然而,在实际应用中,为了使得整个解密过程更简单,可以将服务端的操作放在解密端中执行,在多个解密端中选取一个解密端作为主解密端,最终在主解密端中完成最后的解密。
具体应用时,在分布式协同解密过程中包括主解密端设备和从解密端设备,在本发明实施例中包括一个主解密端和-1个从解密端,其分布式协同解密方法具体的可以包括以下步骤:
步骤1、解密端生成公私钥对。
生成公私钥对的过程可以在主解密端执行,也可以在任意的从解密端中执行,对此不做限定。具体的,随机生成第一比特串和第二比特串/>,并且/>其中,/>和/>分别为该两个随机的比特串,该式子表征该两个随机的比特串/>分别为由0或1构成的256长度的随机比特串。
接着,将第一比特串输入至矩阵函数Sam获得第一矩阵/>,即Sam函数用于在输入随机比特串之后产生对应的矩阵,且每个矩阵中的元素都为多项式环上的一个多项式,且每个元素对应的多项式都是在多项式环中随机的一个多项式。该式子表征将/>输入到Sam函数中获得一个/>的矩阵A,且该矩阵A中的每个元素都是多项式环中包含的一个随机的多项式。
然后,将第二比特串输入至矩阵函数Sam,确定第二矩阵/>和第三矩阵/>,即,其中,该第二矩阵/>中每个元素都对应为一个多项式,该第三矩阵/>中每个元素也对应为一个多项式,且/>为远远小于q的数值,且该/>中包含的每个多项式中各个变量前的系数都是小于/>,该s为基于格加密算法产生的公私钥对中的私钥对应的矩阵。该s和/>分别为一个/>的矩阵,且每个矩阵中包含K个元素,也就是说,该s和/>分别为包含K个元素的向量,且每个向量包含K个分量。
最后,获取第一矩阵和第二矩阵/>的乘积值/>,获取乘积值和第三矩阵/>的和值,将该和值确定公钥的第一分量/>,并基于第一分量/>和第一比特串/>,生成公钥/>,即/>该t为构成公钥对应的二元组中的第一分量,且/>。该/>为将第一随机比特串输入到Sam函数中获得的矩阵,s为私钥对应的矩阵。其中,/>为第一比特串,且该/>构成公钥对应的二元组中的第二分量。生成公私钥对之后,可以将公钥进行公开,以便加密者获取到公钥之后进行加密处理。
步骤2、解密端对私钥进行分割处理,获得K个私钥分量,K为正整数,并基于K个私钥分量,生成与个解密端各自对应的秘密分量,并将秘密分量发送至各自对应的解密端。
生成秘密分量的过程可以在主解密端执行,也可以在任意的从解密端中执行,对此不做限定。具体的,随机选择随机选取-1个第一多项式/>,和/>个第二多项式/>。定义目标多项式,其中,/>计算与/>个解密端各自对应的目标多项式/>}。而后,计算与/>个解密端各自对应的秘密分量/>。最后,将秘密分量/>秘密发送给解密者/>,秘密分量和解密者分别有/>个,一一对应。
步骤3、各个解密端接收各自对应的秘密分量,并将秘密分量进行存储。
步骤4、解密端接收待解密的加密密文,其中加密密文由二部分组成。
在实际应用中,解密端可以从加密者获取待加密的加密密文。其具体的加密过程可以为:假设明文为m。随机选取一个比特串该式子表征该/>为由0或1构成的长度为256的比特串。将第一比特串/>输入至矩阵函数/>获得第一矩阵将比特串/>输入至矩阵函数/>获得矩阵r、/>以及/>,在将随机比特串/>输入到Sam函数中之后,获得三个矩阵,分别为r、/>以及/>,该/>为一个/>的矩阵,该/>中每个元素都对应为一个多项式,该/>为一个K/>的矩阵,且该/>中每个元素也都对应为一个多项式,该/>为一个的矩阵,且该/>中元素也对应为一个多项式,/>为远远小于q的数值,且该/>中包含的每个多项式中各个自变量前的系数都是小于/>。
接着,生成加密密文的第一部分,即/>该/>为将第一随机比特串输入到Sam函数中获得的第一矩阵,该/>为矩阵A的转置矩阵,该r为将随机比特串/>输入到Sam函数中获得的矩阵,且该矩阵为一个/>的矩阵,该e1为将随机比特串/>输入到Sam函数中获得的矩阵,该矩阵为一个/>矩阵,因此,该密文对应向量的第一分量为矩阵。
然后,生成加密密文的第二部分,即/>,该t为公钥对应的二维向量中的第一分量,且该第一分量为一个/>的矩阵,/>为该公钥对应的向量中的一个分量的转置矩阵,该转置矩阵为一个/>的矩阵,该r为将随机比特串/>输入到Sam函数中获得的矩阵,且该矩阵为一个/>的矩阵,该e2为将随机比特串/>输入到Sam函数中获得矩阵,该矩阵为一个/>矩阵,/>就近取整,m为明文对应的多项式,则该密文对应的向量的第二分量为一个/>矩阵。
最后,输出密文该u,v分别为该密文对应的向量的两个分量,且该u也为一个包含K个元素的向量,也就是说,该u也为/>矩阵,且该密文对应的向量中的每个分量对应的向量中的每个分量都为多项式环上的一个多项式,该v为一个/>矩阵,且该/>矩阵中的元素也为项式环上的一个多项式。
步骤5、从个解密端中随机选择/>个解密端确定为目标解密端,N不小于/>,并从/>个目标解密端中选择一个作为主解密端。
其中,主解密端不失一般性,用表示。
步骤6、主解密端和从解密端均利用拉格朗日插值法对秘密分量和加密密文中的第一部分进行处理,获得解密分量。
具体的,假定个目标解密端为/>,目标解密端之间可以共享目标解密端的秘密分量第一部分,即共享集合/>。所有从解密端/>分别计算/>,/>,并计算/>。
步骤7、所有的从解密端将各自对于的解密分量发送至主解密端。
具体的,将所有从解密端的解密分量发送给主解密端/>。/>按照与从解密端相同的方法计算/>。
步骤8、主解密端接收各个从解密端发送的解密分量,并基于解密分量和加密密文中的第二部分,确定加密密文所对应的明文。
具体的,主解密端计算,从而获得加密密文所对应的明文。
本实施例中未展开描述的相关内容,可以参考前述实施例中的相关说明,在此不赘述。
以下将详细描述本发明的一个或多个实施例的分布式协同解密装置。本领域技术人员可以理解,这些装置均可使用市售的硬件组件通过本方案所教导的步骤进行配置来构成。
图6为本发明实施例提供的一种分布式协同解密装置的结构示意图,该装置位于一服务端设备,如图6所示,该装置包括:获取模块11、确定模块12、发送模块13、接收模块14。
获取模块11,用于获取待解密的加密密文和目标多项式,所述加密密文由二部分组成,所述目标多项式用于对所述K个私钥分量进行处理,以获得与N个解密端各自对应的秘密分量,且所述目标多项式为T-1次多项式,N不小于T;
确定模块12,用于基于所述目标多项式,从所述N个解密端中随机选择T个解密端确定为目标解密端,所述目标解密端个数T是由目标多项式次数所决定的;
发送模块13,用于将所述加密密文的第一部分发送至T个目标解密端,以使得所述目标解密端分别利用拉格朗日插值法对所述秘密分量和所述加密密文的第一部分进行处理,获得解密分量,并将所述解密分量发送至所述服务端;
接收模块14,用于接收所述T个解密者各自发送的解密分量,并基于所述解密分量和所述加密密文的第二部分,确定所述加密密文所对应的明文。
可选地,所述装置还可以包括生成模块,具体可以用于:获取用于对加密密文进行解密的私钥,所述私钥包括K个私钥分量,K为正整数;利用拉格朗日插值法,基于K个私钥分量,分别构造与所述私钥分量各自对应的T-1次目标多项式;基于所述目标多项式,生成与N个解密端各自对应的秘密分量,并将所述秘密分量发送至各自对应的解密端,N不小于T。
可选地,所述生成模块,具体可以用于:随机生成第一比特串和第二比特串;基于所述第一比特串和矩阵函数,确定第一矩阵,所述矩阵函数用于生成比特串所对应的矩阵;基于所述第二比特串和所述矩阵函数,确定第二矩阵和第三矩阵,并将所述第二矩阵确定为私钥;基于所述第一矩阵、所述第二矩阵和所述第三矩阵,确定公钥的第一分量;基于所述第一分量和所述第一比特串,生成公钥。
可选地,所述生成模块,具体可以用于:随机选取T-1个第一多项式和N个第二多项式,所述第一多项式和所述第二多项式均为多项式环中的一个随机多项式;基于所述K个私钥分量、所述T-1个第一多项式以及所述N个第二多项式,生成N *K个T-1次目标多项式。
可选地,所述生成模块,具体可以用于:将所述K个私钥分量分别确定为与解密端所对应的K个目标多项式的常数项;将所述T-1个第一多项式确定为与解密端所对应的K个目标多项式的系数;将所述N个第二多项式分别确定为与N个解密端各自对应的目标多项式的变量;基于所述常数项、所述系数以及所述变量,确定与N个解密端各自对应的K个目标多项式。
可选地,所述生成模块,具体还可以用于:将所述N个解密端各自对应的目标多项式的变量确定为秘密分量的第一部分;将所述N个解密端各自对应的K个目标多项式确定为秘密分量的第二部分;基于所述秘密分量第一部分和所述秘密分量第二部分,分别生成与N个解密端各自对应的秘密分量。
可选地,所述接收模块14,具体可以用于:对所述解密分量进行累加处理,获得私钥与加密密文中的第一部分的乘积值;获取加密密文中的第二部分与所述乘积值的差值;基于预设函数以及所述差值,确定所述加密密文所对应的明文,所述预设函数为格解密算法中用于获取明文的解密函数。
图6所示装置可以执行前述实施例中服务端设备执行的步骤,详细的执行过程和技术效果参见前述实施例中的描述,在此不再赘述。
在一个可能的设计中,上述图6所示分布式协同解密装置的结构可实现为一电子设备,如图7所示,该电子设备可以包括:第一处理器21、第一存储器22、第一通信接口23。其中,第一存储器22上存储有可执行代码,当所述可执行代码被第一处理器21执行时,使第一处理器21至少可以实现如前述实施例中服务端设备执行的步骤。
另外,本发明实施例提供了一种非暂时性机器可读存储介质,所述非暂时性机器可读存储介质上存储有可执行代码,当所述可执行代码被电子设备的处理器执行时,使所述处理器至少可以实现如前述实施例中提供的分布式协同解密方法。
图8为本发明实施例提供的一种分布式协同解密装置的结构示意图,该装置位于解密端设备,如图8所示,该装置包括:接收模块31、获取模块32、处理模块33、发送模块34。
接收模块31,用于接收服务端发送的秘密分量和加密密文,所述加密密文由两部分组成;
获取模块32,用于获取用于解密的秘密分量;
处理模块33,用于利用拉格朗日插值法对所述秘密分量和所述加密密文中的第一部分进行处理,获得解密分量;
发送模块34,用于将所述解密分量发送至所述服务端,以使得所述服务端基于所述解密分量和所述加密密文中的第二部分,确定所述加密密文所对应的明文。
可选地,所述接收服务端发送的加密密文的第一部分之前,所述装置还可以包括存储模块,具有可以用于:接收服务端发送的秘密分量,并将所述秘密分量进行存储。
可选地,所述处理模块33,具体可以用于获取拉格朗日插值的基函数和T-1个目标解密端所对应的秘密分量第一部分;基于所述拉格朗日插值的基函数、所述T-1个目标解密端所对应的秘密分量第一部分、所述秘密分量第一部分、所述秘密分量第二部分和所述加密密文中的第一部分,获得解密分量。
图8所示装置可以执行前述实施例中解密端设备执行的步骤,详细的执行过程和技术效果参见前述实施例中的描述,在此不再赘述。
在一个可能的设计中,上述图8所示分布式协同解密装置的结构可实现为一电子设备,如图9所示,该设备可以包括:第二处理器41、第二存储器42、第二通信接口43。其中,第二存储器42上存储有可执行代码,当所述可执行代码被第二处理器41执行时,使第二处理器41至少可以实现如前述实施例中解密端设备执行的步骤。
另外,本发明实施例提供了一种非暂时性机器可读存储介质,所述非暂时性机器可读存储介质上存储有可执行代码,当所述可执行代码被设备的处理器执行时,使所述处理器至少可以实现如前述实施例中提供的分布式协同解密方法。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助加必需的通用硬件平台的方式来实现,当然也可以通过硬件和软件结合的方式来实现。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以计算机产品的形式体现出来,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (8)
1.一种分布式协同解密方法,其特征在于,应用于服务端,包括:
获取用于对加密密文进行解密的私钥,所述私钥包括K个私钥分量,K为正整数;
随机选取T-1个第一多项式和N个第二多项式,所述第一多项式和所述第二多项式均为多项式环中的一个随机多项式;
利用拉格朗日插值法,基于所述K个私钥分量、所述T-1个第一多项式以及所述N个第二多项式,生成N *K个T-1次目标多项式,每个解密端对应有K个T-1次目标多项式,N不小于T;
将N个解密端各自对应的目标多项式的变量确定为秘密分量的第一部分;
将所述N个解密端各自对应的K个目标多项式确定为秘密分量的第二部分;
基于所述秘密分量第一部分和所述秘密分量第二部分,分别生成与N个解密端各自对应的秘密分量,并将所述秘密分量发送至各自对应的解密端;
获取待解密的加密密文和目标多项式,所述加密密文由二部分组成;
基于所述目标多项式,从所述N个解密端中随机选择T个解密端确定为目标解密端,所述目标解密端个数T是由目标多项式次数所决定的;
将所述加密密文的第一部分发送至T个目标解密端,以使得所述目标解密端分别利用拉格朗日插值法对所述秘密分量和所述加密密文的第一部分进行处理,获得解密分量,并将所述解密分量发送至所述服务端;
接收所述T个解密端各自发送的解密分量,并基于所述解密分量和所述加密密文的第二部分,确定所述加密密文所对应的明文。
2.根据权利要求1所述的方法,其特征在于,所述获取用于对加密密文进行解密的私钥,包括:
随机生成第一比特串和第二比特串;
基于所述第一比特串和矩阵函数,确定第一矩阵,所述矩阵函数用于生成比特串所对应的矩阵;
基于所述第二比特串和所述矩阵函数,确定第二矩阵和第三矩阵,并将所述第二矩阵确定为私钥;
基于所述第一矩阵、所述第二矩阵和所述第三矩阵,确定公钥的第一分量;
基于所述第一分量和所述第一比特串,生成公钥。
3.根据权利要求2所述的方法,其特征在于,所述基于所述K个私钥分量、所述T-1个第一多项式以及所述N个第二多项式,生成N*K个目标多项式,包括:
将所述K个私钥分量分别确定为与解密端所对应的K个目标多项式的常数项;
将所述T-1个第一多项式确定为与解密端所对应的K个目标多项式的系数;
将所述N个第二多项式分别确定为与N个解密端各自对应的目标多项式的变量;
基于所述常数项、所述系数以及所述变量,确定与N个解密端各自对应的K个目标多项式。
4.根据权利要求1所述的方法,其特征在于,所述基于所述解密分量和所述加密密文中的第二部分,确定所述加密密文所对应的明文,包括:
对所述解密分量进行累加处理,获得私钥与加密密文中的第一部分的乘积值;
获取加密密文中的第二部分与所述乘积值的差值;
基于预设函数以及所述差值,确定所述加密密文所对应的明文,所述预设函数为格解密算法中的编码函数。
5.一种分布式协同解密方法,其特征在于,应用于解密端,包括:
接收服务端发送的秘密分量,并将所述秘密分量进行存储,所述秘密分量是由两部分组成,所述秘密分量的第一部分是由所述解密端对应的目标多项式的变量所确定,所述秘密分量的第二部分是由所述解密端对应的K个目标多项式所确定,所述目标多项式是由K个私钥分量、T-1个第一多项式以及N个第二多项式所生成,所述第一多项式和所述第二多项式均为多项式环中的一个随机多项式;
接收服务端发送的加密密文的第一部分;
获取用于解密的秘密分量;
利用拉格朗日插值法对所述秘密分量和所述加密密文中的第一部分进行处理,获得解密分量;
将所述解密分量发送至所述服务端,以使得所述服务端基于所述解密分量和所述加密密文的第二部分,确定所述加密密文所对应的明文。
6.根据权利要求5所述的方法,其特征在于,所述秘密分量由秘密分量第一部分和秘密分量第二部分组成,所述利用拉格朗日插值法对所述秘密分量和所述加密密文中的第一部分进行处理,获得解密分量,包括:
获取拉格朗日插值的基函数和T-1个目标解密端所对应的秘密分量第一部分;
基于所述拉格朗日插值的基函数、所述T-1个目标解密端所对应的秘密分量第一部分、所述秘密分量第一部分、所述秘密分量第二部分和所述加密密文中的第一部分,获得解密分量。
7.一种电子设备,其特征在于,包括:存储器、处理器、通信接口;其中,所述存储器上存储有可执行代码,当所述可执行代码被所述处理器执行时,使所述处理器执行如权利要求1至4或者5-6中任一项所述的分布式协同解密方法。
8.一种非暂时性机器可读存储介质,其特征在于,所述非暂时性机器可读存储介质上存储有可执行代码,当所述可执行代码被处理器执行时,使所述处理器执行如权利要求1至4或者5-6中任一项所述的分布式协同解密方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310430162.8A CN116170142B (zh) | 2023-04-20 | 2023-04-20 | 分布式协同解密方法、设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310430162.8A CN116170142B (zh) | 2023-04-20 | 2023-04-20 | 分布式协同解密方法、设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116170142A CN116170142A (zh) | 2023-05-26 |
CN116170142B true CN116170142B (zh) | 2023-07-18 |
Family
ID=86422180
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310430162.8A Active CN116170142B (zh) | 2023-04-20 | 2023-04-20 | 分布式协同解密方法、设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116170142B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117134911B (zh) * | 2023-10-25 | 2024-01-26 | 北京信安世纪科技股份有限公司 | 秘密共享方法、秘密分割端、秘密恢复端、系统及介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107979461A (zh) * | 2017-10-27 | 2018-05-01 | 财付通支付科技有限公司 | 秘钥找回方法、装置、终端、秘钥托管服务器及可读介质 |
CN112995215A (zh) * | 2021-04-29 | 2021-06-18 | 北京信安世纪科技股份有限公司 | 解密系统、方法、装置、电子设备及存储介质 |
CN113742670A (zh) * | 2021-08-30 | 2021-12-03 | 建信金融科技有限责任公司 | 多方协同解密方法和装置 |
CN113810184A (zh) * | 2021-09-14 | 2021-12-17 | 东莞理工学院 | 一种基于动态门限多秘密共享的设备口令托管方法及系统 |
CN113904808A (zh) * | 2021-09-08 | 2022-01-07 | 北京信安世纪科技股份有限公司 | 一种私钥分发、解密方法、装置、设备及介质 |
CN114095170A (zh) * | 2022-01-20 | 2022-02-25 | 北京信安世纪科技股份有限公司 | 数据处理方法、装置、系统及计算机可读存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101906225B1 (ko) * | 2011-11-30 | 2018-12-10 | 삼성전자 주식회사 | 복호장치와, 복호장치의 암호문 복호화 방법 |
-
2023
- 2023-04-20 CN CN202310430162.8A patent/CN116170142B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107979461A (zh) * | 2017-10-27 | 2018-05-01 | 财付通支付科技有限公司 | 秘钥找回方法、装置、终端、秘钥托管服务器及可读介质 |
CN112995215A (zh) * | 2021-04-29 | 2021-06-18 | 北京信安世纪科技股份有限公司 | 解密系统、方法、装置、电子设备及存储介质 |
CN113742670A (zh) * | 2021-08-30 | 2021-12-03 | 建信金融科技有限责任公司 | 多方协同解密方法和装置 |
CN113904808A (zh) * | 2021-09-08 | 2022-01-07 | 北京信安世纪科技股份有限公司 | 一种私钥分发、解密方法、装置、设备及介质 |
CN113810184A (zh) * | 2021-09-14 | 2021-12-17 | 东莞理工学院 | 一种基于动态门限多秘密共享的设备口令托管方法及系统 |
CN114095170A (zh) * | 2022-01-20 | 2022-02-25 | 北京信安世纪科技股份有限公司 | 数据处理方法、装置、系统及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN116170142A (zh) | 2023-05-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Liu et al. | An efficient privacy-preserving outsourced calculation toolkit with multiple keys | |
CN106789044B (zh) | 标准模型下格上云存储密文数据公钥可搜索加密方法 | |
US11323255B2 (en) | Methods and systems for encryption and homomorphic encryption systems using Geometric Algebra and Hensel codes | |
KR101829267B1 (ko) | 암호문의 크기가 감소되는 동형 암호화 방법 | |
WO2019106166A1 (en) | Cryptography device having secure provision of random number sequences | |
US20090138698A1 (en) | Method of searching encrypted data using inner product operation and terminal and server therefor | |
JP5762232B2 (ja) | プライバシを保護したまま暗号化された要素の順序を選択するための方法およびシステム | |
CN112865953B (zh) | 基于辅助服务器的安全多方计算方法、装置和系统 | |
CN113904808B (zh) | 一种私钥分发、解密方法、装置、设备及介质 | |
CN114073037B (zh) | Rlwe明文的压缩和未察觉地扩展 | |
WO2014132552A1 (ja) | 順序保存暗号化システム、装置、方法およびプログラム | |
JP5929905B2 (ja) | 順序保存暗号化システム、装置、方法及びプログラム | |
WO2021129470A1 (zh) | 基于多项式完全同态的二进制数据加密系统及方法 | |
CN115549891B (zh) | 同态加密方法、同态解密方法、同态计算方法及设备 | |
CN115102688A (zh) | 数据处理方法、多项式计算方法及电子设备 | |
CN118445844A (zh) | 一种联邦学习数据隐私保护方法、装置及可读存储介质 | |
CN115865348B (zh) | 数据加密方法、同态计算方法及设备 | |
WO2014030706A1 (ja) | 暗号化データベースシステム、クライアント装置およびサーバ、暗号化データ加算方法およびプログラム | |
CN116170142B (zh) | 分布式协同解密方法、设备和存储介质 | |
US8325913B2 (en) | System and method of authentication | |
Tosun et al. | FSDS: A practical and fully secure document similarity search over encrypted data with lightweight client | |
KR20220079522A (ko) | 기하 대수 및 헨젤 코드들을 이용한 암호화를 위한 방법들 및 시스템들과 동형 암호화 시스템들 | |
CN114095157B (zh) | 密钥管理方法、装置、计算机设备及可读存储介质 | |
Backes et al. | Fully secure inner-product proxy re-encryption with constant size ciphertext | |
CN113645022B (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 |