CN117118617B - 一种基于模分量同态的分布式门限加解密方法 - Google Patents
一种基于模分量同态的分布式门限加解密方法 Download PDFInfo
- Publication number
- CN117118617B CN117118617B CN202311381236.XA CN202311381236A CN117118617B CN 117118617 B CN117118617 B CN 117118617B CN 202311381236 A CN202311381236 A CN 202311381236A CN 117118617 B CN117118617 B CN 117118617B
- Authority
- CN
- China
- Prior art keywords
- user
- users
- component
- real
- ciphertext
- 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
- 238000000034 method Methods 0.000 title claims abstract description 51
- 239000011159 matrix material Substances 0.000 claims abstract description 79
- 239000013598 vector Substances 0.000 claims abstract description 39
- 239000012634 fragment Substances 0.000 claims abstract description 15
- 230000000875 corresponding effect Effects 0.000 claims description 43
- 238000004364 calculation method Methods 0.000 claims description 18
- 230000001360 synchronised effect Effects 0.000 claims description 5
- 230000002596 correlated effect Effects 0.000 claims description 3
- 238000003780 insertion Methods 0.000 claims description 3
- 230000037431 insertion Effects 0.000 claims description 3
- 238000005516 engineering process Methods 0.000 description 8
- 238000011156 evaluation Methods 0.000 description 5
- 238000012545 processing Methods 0.000 description 4
- 230000007547 defect Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000000873 masking effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012946 outsourcing Methods 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
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
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/008—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/34—Encoding or coding, e.g. Huffman coding or error correction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/46—Secure multiparty computation, e.g. millionaire problem
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种基于模分量同态的分布式门限加解密方法,包括:根据模投影基集合将每个用户的原始信息分裂成真实模分量集;根据每个真实模分量集生成对应的冗余集;基于每个位置基,将每个真实模分量集中的元素分别插入对应的冗余集中,生成每个用户的第一密文矩阵;将每个第一密文矩阵中的第i个行向量分发给第i用户,获得每个用户的第二密文矩阵;将每个用户位置基中对应的第i个密钥片段分发给第i用户,基于密钥片段对每个第二密文矩阵进行同态运算,使每个用户都获得含有全部真实模分量的最终密文矩阵;基于最终密文矩阵进行解密。通过该方法可以不再依靠云服务器,避免了云服务器产生的信息泄露,提高了方案的安全性,且扩展了应用场景。
Description
技术领域
本发明属于信息安全技术领域,更具体的说是涉及一种基于模分量同态的分布式门限加解密方法。
背景技术
随着物联网、移动计算、云计算等技术的快速兴起及迅猛发展,人们的生活方式正在发生巨大改变。这些新的数据处理技术为整个杜会提供了极大的便利。与此同时,隐私信息和保密数据的泄露事件也在频繁发生,制约着新型数据处理技术的应用和普及。因而,构建隐私保护的数据处理方式成为当前亟待解决的工作,信息安全的重要性被提上一个新的高度。同态计算作为在隐私计算领域里的一项重要解决方案,实现了数据的安全处理,但传统的同态算法往往计算复杂,以此寻求计算外包服务。这种方式虽然不会产生信息泄露,但是将数据的密文存储在某一家的云服务器上,如果服务器出现故障或服务器恶意篡改数据,将导致数据丢失或损坏。因此在实际应用中需要额外昂贵的花销保护云服务器正常的运行。
为解决这种中心化的方案存在权力过大的问题,需要使用分布式技术。在信息安全技术领域中,作为分布式计算的解决方案有安全多方计算、区块链等技术,这些技术在去中心化的环境下完成了数据储存和计算的高度安全性。其中安全多方计算讨论了分布式计算场景下数据拥有者各方以一种安全的方式进行合作计算的问题。实现安全多方计算往往需要秘密共享技术,秘密共享技术完成了将权力分散的作用。最后秘密共享技术与同态计算结合可以综合两种技术的优点而不影响方案的安全性。
因此,如果基于分布式技术,克服模分量同态方案中依赖云计算的缺点,大大节省了云服务器的开销和可能导致的信息泄露,是本领域技术人员亟需解决的问题。
发明内容
鉴于上述问题,本发明提供一种基于模分量同态的分布式门限加解密方法,以至少解决上述背景技术中提到的部分技术问题。
为了实现上述目的,本发明采用如下技术方案:
一种基于模分量同态的分布式门限加解密方法,包括以下步骤:
S1、对用户集中的每个用户按顺序进行编码后,对用户集中每个用户的秘密密钥进行初始化;秘密密钥包含公共的模投影基集合和私有的位置基;
S2、根据公共的模投影基集合,将每个用户的原始信息分裂成真实模分量集;所述真实模分量集中真实模分量的数量与用户集中用户的数量相等;
S3、根据得到的每个用户的真实模分量集,生成对应的冗余集;
S4、基于每个用户的位置基,将每个用户对应的真实模分量集中的每个真实模分量分别插入到对应的冗余集中,生成每个用户的第一密文矩阵;
S5、将每个用户第一密文矩阵中的第i个行向量分发给在用户集中编号为i的用户,获得每个用户的第二密文矩阵;0<i≤n;n表示用户集中用户的数量;
S6、将每个用户位置基中对应的第i个密钥片段分发给在用户集中编号为i的用户;
S7、根据每个用户收到的密钥片段,对每个用户的第二密文矩阵进行同态运算,实现每个用户都获得含有全部真实模分量的最终密文矩阵;
S8、根据最终密文矩阵中的每个真实模分量,利用中国剩余定理,求得中间结果;将中间结果与参数p进行模运算,获得最终结果,实现解密。
进一步地,步骤S1具体包括:
获取参与此次加解密运算的用户集,并对用户集中的每个用户按顺序进行编码;用户集表示为D={P1,P2,…,Pn},其中Pn表示用户集中的第n个用户;
根据用户集中每个用户输入的用户密钥,生成每个用户私有的位置基;位置基中的元素与用户集中用户的数量相同;
位置基表示为Wi={wi1,wi2,…,win},1≤wij≤n,其中Wi表示第i个用户的位置基;win表示Wi中的第n个元素;Wi中的每个元素均表示一个真实模分量的所在位置;
获取用户集中所有用户公共的模投影基集合B={b1,b2,…,bn}并公开;其中,bn表示模投影基集合B中的第n个模投影基;
根据所述位置基和所述模投影基集合,对秘密密钥进行初始化处理。
进一步地,模投影基集合B中的元素满足以下条件:
条件1:模投影基集合B的元素两两互素;
条件2:b1<b2<...<bn;
条件3:;其中符号/>表示乘号;参数p表示整数;k表示预设门限。
进一步地,参数p需满足条件和条件/>;
其中,Xi表示第i个用户的原始信息;bi为模投影基集合B中的第i个模投影基,;gcd表示最小公倍数;/>表示参数p与模投影基集合B的每个元素互素。
进一步地,步骤S2具体包括:
每个用户根据对应秘密密钥中的模投影基集合B,将原始信息进行分裂,原始信息对模投影基集合中的元素分别进行取模操作,得到真实模分量集mi={mi,1,mi,2,mi,3,…mi,n};其中mi表示第i个用户对应的真实模分量集;mi,n表示mi中的第n个真实模分量;
每个真实模分量都满足mi,n=Yi mod bn;其中,Xi需满足条件和条件/>;
其中,为第i个用户处产生的一个随机值,用于隐藏对应的原始信息Xi;Yi表示隐藏后的原始信息;p为整数;b1、b2和bk均为模投影基集合中的元素,k表示预设门限。
进一步地,步骤S3具体包括:
依据真实模分量集mi={mi,1,mi,2,mi,3,…mi,n}中元素的值,生成n个分别包含n个冗余项的冗余向量;
基于n个冗余向量得到冗余集;
其中冗余集Si的规模是n行n列,每一个表示冗余集Si矩阵的一个行向量;
其中,表示矩阵转置符号;
冗余集Si的每一个行向量的分量值不超过该行对应的投影基分量的大小;且每一个行向量/>中的元素与对应的列数j呈正相关。
进一步地,所述步骤S4具体包括:
将真实模分量集中的每个真实模分量按照位置基中代表插入位置的元素,依次代替冗余集中原位置对应的元素,得到每个用户的第一密文矩阵;
其中第i个用户的第一密文矩阵表示为:
Ci={Ci1,Ci2,…,Cin}T;
Cij={Ci,1j ,Ci,2j ,…Ci,nj}={Si,1j,Si,2j,…,Si,nj},i=1,2,…n;即第i用户的密文矩阵Ci的第j行Cij作为第j个真实模分量mi,j替换掉了冗余向量Sij中位置在第wij的冗余项后的模分量向量。
进一步地,步骤S7具体包括:
根据每个用户收到的密钥片段,从每个用户的第二密文矩阵中的对应行向量中选中真实模分量,并将选中的真实模分量发送至用户集中的其他用户,从而实现每个用户都获得最终密文矩阵;具体地:
假设将第i个用户位置基中对应的第j个密钥片段SKij发送给第j个用户,且SKij代表的索引为h;
那么根据密钥片段SKij,从第j个用户的第二密文矩阵的第i行中,选中第h个元素,即为该行的真实模分量;并将选中的真实模分量发送至用户集中的其他用户,实现每个都获得了含有全部真实模分量的最终密文矩阵。
进一步地,将任一次恢复秘密的用户组成一个用户集合,在解密时,当用户集合中参与运算的用户数量大于或等于预设门限k的数量时,则能够实现解密;该过程中,若用户集合中参与加解密运算的用户数量大于预设门限k的数量,则由用户集合中前k个用户参与运算,并将运算结果同步至用户集合中的其他用户;2≤k≤n。
进一步地,在上述步骤S5中,若用户集合中有预设数量个用户参与运算,则需要将当前运算后得到的第二密文矩阵同步到用户集合中的其他用户;2≤k≤n,n表示用户集中共有n个用户。
经由上述的技术方案可知,与现有技术相比,本发明公开提供了一种基于模分量同态的分布式门限加解密方法,具有如下有益效果:
1、本发明中数据所有者发送给其他用户的信息中真实模分量隐藏在冗余中,对于其他用户不可分辨且部分暴漏真实模值不会导致信息泄露,因此可以将原始的混淆模分量方案中的云服务器移除,密文保存在各个用户之间,实现去中心的目的。
2、本发明实现了门限解密:通过对初始生成模投影基集合中的/>个分量设定条件,进而将原始的混淆模分量方案转变为门限方案,从而实现在密文计算后的门限解密;且本发明支持多方的门限解密操作,适用范围广泛。
3、本发明实现了隐私保护处理:利用混淆模投影技术,将真实的数据模投影后将真实的模投影分量插入到随机的冗余模分量组中去得到密文,攻击方在不知道每个正确模分量在多个冗余集中正确位置的前提下,得到每个正确的模分量是困难的,从而保证了整个加密方法的正确性。
4、本发明实现了在去中心化的环境下做密文运算:每一个用户将自己的密文矩阵按行逐个发送给其他用户,每一方都保存原始密文矩阵的部分份额,使得方案可以在无可信第三方下进行密文计算。
5、本发明的同态方法中的相关同态操作以单独的模分量操作实现,比基于理想格、环等问题的方法更加简单明了,效率优于常见的同态加密。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例提供的基于模分量同态的分布式门限加解密方法流程示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参见图1所示,本发明实施例公开了一种基于模分量同态的分布式门限加解密方法,包括以下步骤:
S1、对用户集中的每个用户按顺序进行编码后,对用户集中每个用户的秘密密钥进行初始化;秘密密钥包含公共的模投影基集合和私有的位置基;
S2、根据公共的模投影基集合,将每个用户的原始信息分裂成真实模分量集;真实模分量集中真实模分量的数量与用户集中用户的数量相等;
S3、根据得到的每个用户的真实模分量集,生成对应的冗余集;
S4、基于每个用户的位置基,将每个用户对应的真实模分量集中的每个真实模分量分别插入到对应的冗余集中,生成每个用户的第一密文矩阵;
S5、将每个用户第一密文矩阵中的第i个行向量分发给在用户集中编号为i的用户,获得每个用户的第二密文矩阵;0<i≤n;n表示用户集中用户的数量;
S6、将每个用户位置基中对应的第i个密钥片段分发给在用户集中编号为i的用户;
S7、根据每个用户收到的密钥片段,对每个用户的第二密文矩阵进行同态运算,实现每个用户都获得含有全部真实模分量的最终密文矩阵;
S8、根据最终密文矩阵中的每个真实模分量,利用中国剩余定理,求得中间结果;将中间结果与参数p进行模运算,获得最终结果,实现解密。
接下来分别对上述各步骤进行详细说明。
在上述步骤S1中,主要是密钥初始化的过程,具体包括如下内容:
获取参与此次加解密运算的用户集,并对用户集中的每个用户按顺序进行编码;用户集表示为D={P1,P2,…,Pn},其中Pn表示用户集中的第n个用户;
根据用户集中每一个用户输入的用户密钥,随机生成一个秘密的位置基;用公式表示为:根据用户集中第i个用户Pi,输入的用户密钥Userkeyi,/>,随机生成一个秘密的位置基Wi={wi1,wi2,…,win},1≤wij≤n;其中Wi表示第i个用户的位置基;win表示Wi中的第n个元素;Wi中的每个元素均表示一个真实模分量的所在位置;位置基中的元素与用户集中用户的数量相同,均为n个;
再基于所有用户获取一个公共的模投影基集合B={b1,b2,…,bn};用于将原始信息分裂,其中b1,b2,...,bn均为B中的元素,bj,表示B中第j个投影基;bn表示模投影基集合B中的第n个模投影基;
该模投影基集合B中的元素满足以下条件:
条件1:模投影基集合B的元素两两互素;
条件2:b1<b2<...<bn;
条件3:;
其中符号表示乘号;参数p表示整数;n表示投影基的数量,即在模投影基集合B中包含有n个投影基;k表示本发明实施例中的预设门限;p为整数,且需要满足条件原始信息,还需满足条件条件/>;其中,bi为模投影基集合B中的元素,;gcd表示最小公倍数;/>表示参数p与模投影基集合B的每个元素均为互素关系;该参数p的选取大于或等于用户集中各个用户的原始信息Xi,即p>Max{X1,X2,...Xn},确保p可以将原始信息Xi隐藏;
模投影基集合B满足了上述条件后,实现了门限解密,使解密过程更具有灵活性;
基于上述位置基Wi和模投影基集合B,可以对秘密密钥SKi、公共密钥PKi和评估密钥EKi进行初始化处理;其中,秘密密钥SKi包含用于做模投影的模投影基集合B和位置基Wi;公共密钥PKi为包含投影基B;评估密钥EKi包含投影基B和私钥片段。
在上述步骤S2中,每个用户根据对应秘密密钥中的模投影基集合B,将原始信息进行分裂,原始信息对模投影基集合中的元素分别进行取模操作,得到真实模分量集mi={mi,1,mi,2,mi,3,…mi,n};其中mi表示第i个用户对应的真实模分量集;mi,n表示mi中的第n个真实模分量;且原始信息Xi为整数。
每个真实模分量都满足mi,n=Yi mod bn;其中,Xi需满足条件和条件/>;
其中,为第i个用户处产生的一个随机值,用于隐藏对应的原始信息Xi;Yi表示隐藏后的原始信息;p为整数;b1、b2和bk均为模投影基集合中的元素,k表示预设门限。
在上述步骤S3中,依据真实模分量集mi={mi,1,mi,2,mi,3,…mi,n}中元素的值,生成n个分别包含n个冗余项的冗余向量,基于该n个冗余向量得到冗余集;其中冗余集Si的规模是n行n列,每一个/>表示冗余集Si矩阵的一个行向量;/>,/>为矩阵转置符号;冗余向量的每一个分量均为随机生成的,为更好地使用冗余集Si掩盖真实模分量mi,冗余集Si的每一个行向量/>的分量值大小不超过该行对应的投影基分量bj的大小;且由于b1<b2<...<bn的设置,/>中的元素随着列数j的增大也逐渐增大,即/>中的元素与对应的列数j呈正相关。
在上述步骤S4中,将步骤S2中得到的真实模分量集mi中的元素插入到冗余集中,具体包括:根据秘密密钥SKi包含的位置基Wi={wi1,wi2,…,win},1≤wij≤n,将真实模分量集mi中的每个真实模分量按照位置基Wi中代表插入位置的元素,依次代替冗余集原位置对应的元素,得到第一密文矩阵,其中第i个用户的第一密文矩阵表示为:
Ci={Ci1,Ci2,…,Cin}T;
Cij={Ci,1j ,Ci,2j ,…Ci,nj}={Si,1j,Si,2j,…,Si,nj},
i=1,2,…n
即第i用户的密文矩阵Ci的第j行Cij作为第j个真实模分量mi,j替换掉了冗余向量Sij中位置在第wij的冗余项后的模分量向量,实现对其他用户保密。
上述步骤S2-S4主要实现了明文加密。
在上述步骤S5中,实现了密文分发,即将每个用户第一密文矩阵中的第i个行向量分发给在用户集中编号为i的用户,获得每个用户的第二密文矩阵;0<i≤n;n表示用户集中用户的数量;
例如对第i个用户的第一密文矩阵进行分发,即将Ci中的第一个行向量Ci1分发至用户集中的第1个用户;将Ci中的第二个行向量Ci2分发至用户集中的第2个用户,以此类推,直至将Ci中的第n个行向量Cin分发至用户集中的第n个用户;当所有用户的第一密文矩阵分发完之后,获得每个用户的第二密文矩阵;
第i个用户的第二密文矩阵表示为:;
第n个用户的第二密文矩阵表示为:。
基于此,通过该步骤实现了将每一个用户的第一密文矩阵的每个行向量按照顺序发给其他的n-1个用户,使方案完成去中心化存储;显然完成密文分发后的第二密文矩阵中的每一个元素都不超过该元素所在行的模投影基;即中的每一个行向量内的元素都不超过bi。
在上述步骤S6-S7中,将每个用户位置基中对应的第i个密钥片段分发给在用户集中编号为i的用户;根据每个用户收到的密钥片段,从每个用户的第二密文矩阵中的对应行向量中选中真实模分量(没有选中的分量为混淆模分量),并将选中的真实模分量发送至用户集中的其他用户,从而实现每个用户都获得最终密文矩阵;具体地:
假设将第i个用户位置基中对应的第j个密钥片段SKij发送给第j个用户,且SKij代表的索引为h;
那么根据密钥片段SKij,从第j个用户的第二密文矩阵的第i行中,选中第h个元素,即为该行的真实模分量;并将选中的真实模分量发送至用户集中的其他用户,实现每个都获得了含有全部真实模分量的最终密文矩阵。
上述步骤S7根据模运算的同态性,即(a+b) mod p=((a mod p)+(b mod p))、和评估密钥EK,实现了密文同态运算;
由于每一个用户的最终密文矩阵通过CMP同态算法得出后,将各自的行向量重新发送给对应用户保存,同时由于每一个用户将自己的真实模分量隐藏在冗余集中,因此将各自的密文矩阵(即第一密文矩阵)中的行向量(即第一行向量)发送出去一方面并不会产生信息泄露,故不需要云服务器存储密文;此外,任何人都可以共享和使用公共密钥PK和各自的秘密密钥SKi来加密消息,秘密密钥SKi应由用户保密,并可用于解密消息,任何对密文执行同态操作的实体都应该使用评估密钥EK,在密文下的同态运算时,每一方向其他用户将自己对应位置真实模分量的位置公布,因此每一个用户均可以进行同模下的分布式密文运算,因此也不需要云服务器辅助计算,实现去中心化;任何只有公共密钥PK和评估密钥EK的实体都无法仅从密文中了解有关消息的任何信息,大大提高了安全性。
在上述步骤S8中,实现了分布式密文解密,具体为:假设有满足门限数量的用户P1,P2,…,Pm,这里,k为上述步骤S1中的预设门限;通过上述步骤S1-S7完成了密文计算,现在每一方Pi使用/>中同态计算后的值/>,以及根据中国剩余定理计算/>对应的一个分量Yi,将各个分量汇集起来得到密文计算后的中间结果,该中间结果表示为:
;
然后通过Y(mod p)得到明文信息X = f (X1,X2,...,Xm),m表示存在m个用户参与计算;此处,/>,/>,/>表示密文下的同态运算;/>表示明文下对应/>的计算;mod表示模计算;/>和/>均表示运算过程中的一个具体数值;/>表示/>的乘法逆元;
在该步骤中,虽然每一方Pi的选择的随机值/>不同,但是p是一个公开的参数,对中间结果Y只需要模p就可以获得正确的同态运算结果。
在另一个实施例中,设任一次恢复秘密的用户组成一个用户集合,该用户集合中参与运算的用户数量为m;由于引入门限的设置,则在步骤S8的解密时少于门限数量的用户(m<k)无法解出秘密,但如果满足门限数量的合法用户则可以正确恢复出秘密;在一次密文恢复过程中,如果有超过门限数量的用户/>参与,在具体实施过程中可以使用前k个用户参与恢复秘密,其他用户由这前k个用户同步结果,这类似于门限秘密共享;2≤k≤n;展开来说:当参与运算的用户组成一个用户集合,设为S(显然S是一个有限集合),那么当S的势大于等于k,就可以说实现正确解密,解密的过程是下边的描述:其中任意k个用户使用分布式的方式计算后并求和再取模p得到x;假设S的势等于s(>k),那么这s-k个未参与解密的用户需要k个用户中的某一个人同步一下信息,即告诉那s-k个人解密的结果。
在另一个实施例中,设任一次恢复秘密的用户组成一个用户集合,该用户集合中参与运算的用户数量为m;在上述步骤S5中,若用户集合中有预设数量个用户参与运算,则需要将当前运算后得到的第二密文矩阵同步到用户集合中的其他用户,以保证再执行同态下的密文计算无误。
接下来通过一个具体的实施例来对上述内容进行说明。
一、密钥的生成方式为:
1.定义投影基B
定义投影基B,其元素b1,b2,…,bn为B中元素且满足如下条件:
B={b1,b2,…,bn}
b1<b2<...<bn
这里p需要满足
2.定义冗余向量长度n和模分量位置基Wi
Wi={wi1,wi2,…,win},1≤wij≤n
3.私钥SKi包含B和Wi,评估密钥EK包含B,根据私钥SK对消息Yi加密生成公钥PK,且PK包含B。
二、明文加密:
1.用户Pi处对消息Xi预处理:
2.计算真实模分量集m:
3.利用真实模分量集mi生成冗余集Si,其中是矩阵的转置;
4.依据位置基Wi将真实模分量集mi插入冗余集Si中,得到密文主体Ci
三、密文运算,假设有三个用户P1、P2和P3,分别持有消息X1、X2和X3,设置门限为2,并计算:
私钥是,/>,/>,各自独立计算第一密文矩阵C1和C2和C3,那么:
这里,,此处的yi表示共享秘密;r表示混淆模分量,用于混淆密文矩阵中的真实模分量/>;/>对除了用户Pi外与随机值不可区分;需要强调的是,第一密文矩阵中每行的r值均不相同,且不超过改行所对应的模投影基;
接下来将每个用户第一密文矩阵中的第i个行向量分发给在用户集中编号为i的用户,则得到P1、P2和P3的第二密文矩阵为:
假设其中的两方P1和P2使用各自的私钥,开始密文加法运算:
P1向P2发送位置信息(即从用户P2的第二密文矩阵的第1行中,选中第3个元素,即选中/>),P2向P1发送位置信息 />(即从用户P1的第二密文矩阵的第2行中,选中第1个元素,即选中/>);那么此时双方计算的最终密文矩阵为:
表示密文下的同态加法;
四、分布式门限解密:
P1根据私钥,取出/>,P2根据私钥/>,取出/>。
由于设门限为k=2,可利用中国剩余定理解出中间结果Y(Y=Y1+Y2),其中P1计算Y1,P2计算Y2:
一方将Y1和Y2求和,并同步给另一方得到Y:
计算最终结果
上述本发明针对不需要在云计算环境下,可以实现完全去中心化的对隐私数据进行保护和计算的安全问题,提出了一种针对在无可信第三方环境下的多方全同态门限加密方法,其思路是:
每一个数据的所有者都可以通过自己的用户密钥产生自己的私有密钥用于保护自己的秘密信息,然后协商出满足要求的模投影基集合B,通过B得到密文矩阵后把自己当前密文的行向量逐个发给对应的用户,由于发送给其他用户的信息中真实模分量隐藏在冗余中,对于其他用户不可分辨且部分暴漏真实模值不会导致信息泄露,因此可以将原始的混淆模分量方案中的云服务器移除,密文保存在各个用户之间,实现去中心的目的。由于模运算(加、乘)有同态性,对模分量的操作相当于对原始信息进行操作,将计算结果依照中国剩余定理得出反馈结果,再将得到的中间结果模p计算出最终的结果。
本发明在支持多用户的混淆模分量同态方案的基础上,首次提出了一种分布式的门限加解密方案,不仅支持多用户下的模分量同态运算,还可以实现分布式门限解密密文计算的结果和去中心化的计算和密文存储。此外,该方法还克服了模分量同态方案中依赖云计算的缺点,大大节省了云服务器的开销和可能导致的信息泄露。在引入门限后,通过该方法可允许少量用户通过离线的形式即可恢复秘密,扩展了方案的使用场景,可广泛应用推广到分布式的同态处理、电子投票、安全多方计算、安全机器学习等领域。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (4)
1.一种基于模分量同态的分布式门限加解密方法,其特征在于,包括以下步骤:
S1、对用户集中的每个用户按顺序进行编码后,对用户集中每个用户的秘密密钥进行初始化;秘密密钥包含公共的模投影基集合和私有的位置基;
S2、根据公共的模投影基集合,将每个用户的原始信息分裂成真实模分量集;所述真实模分量集中真实模分量的数量与用户集中用户的数量相等;
S3、根据得到的每个用户的真实模分量集,生成对应的冗余集;
S4、基于每个用户的位置基,将每个用户对应的真实模分量集中的每个真实模分量分别插入到对应的冗余集中,生成每个用户的第一密文矩阵;
S5、将每个用户第一密文矩阵中的第i个行向量分发给在用户集中编号为i的用户,获得每个用户的第二密文矩阵;0<i≤n;n表示用户集中用户的数量;
S6、将每个用户位置基中对应的第i个密钥片段分发给在用户集中编号为i的用户;
S7、根据每个用户收到的密钥片段,对每个用户的第二密文矩阵进行同态运算,实现每个用户都获得含有全部真实模分量的最终密文矩阵;
S8、根据最终密文矩阵中的每个真实模分量,利用中国剩余定理,求得中间结果;将中间结果与参数p进行模运算,获得最终结果,实现解密;
步骤S1具体包括:
获取参与此次加解密运算的用户集,并对用户集中的每个用户按顺序进行编码;用户集表示为D={P1,P2,…,Pn},其中Pn表示用户集中的第n个用户;
根据用户集中每个用户输入的用户密钥,生成每个用户私有的位置基;位置基中的元素与用户集中用户的数量相同;
位置基表示为Wi={wi1,wi2,…,win},1≤wij≤n,其中Wi表示第i个用户的位置基;win表示Wi中的第n个元素;Wi中的每个元素均表示一个真实模分量的所在位置;
获取用户集中所有用户公共的模投影基集合B={b1,b2,…,bn}并公开;其中,bn表示模投影基集合B中的第n个模投影基;
根据所述位置基和所述模投影基集合,对秘密密钥进行初始化处理;
模投影基集合B中的元素满足以下条件:
条件1:模投影基集合B的元素两两互素;
条件2:b1<b2<...<bn;
条件3:p·bn-k+2·...·bn<b1·b2·...·bk;其中符号·表示乘号;参数p表示整数;k表示预设门限;
参数p需满足条件Xi∈[0,p-1]和条件gcd(bi,p)=1;
其中,Xi表示第i个用户的原始信息;bi为模投影基集合B中的第i个模投影基,i∈[n];gcd表示最小公倍数;gcd(bi,p)=1表示参数p与模投影基集合B的每个元素互素;
步骤S2具体包括:
每个用户根据对应秘密密钥中的模投影基集合B,将原始信息进行分裂,原始信息对模投影基集合中的元素分别进行取模操作,得到真实模分量集mi={mi,1,mi,2,mi,3,...mi,n};其中mi表示第i个用户对应的真实模分量集;mi,n表示mi中的第n个真实模分量;
每个真实模分量都满足mi,n=Yimod bn;其中Yi=Xi+pαi,Xi需满足条件Xi∈[0,p-1]和条件Xi+pαi<b1·b2·...·bk;
其中,αi为第i个用户处产生的一个随机值,用于隐藏对应的原始信息Xi;Yi表示隐藏后的原始信息;p为整数;b1、b2和bk均为模投影基集合中的元素,k表示预设门限;
步骤S3具体包括:
依据真实模分量集mi={mi,1,mi,2,mi,3,...mi,n}中元素的值,生成n个分别包含n个冗余项的冗余向量;
基于n个冗余向量得到冗余集
其中冗余集Si的规模是n行n列,每一个表示冗余集Si矩阵的一个行向量;
其中,{·}T表示矩阵转置符号;
冗余集Si的每一个行向量的分量值不超过该行对应的投影基分量的大小;且每一个行向量/>中的元素与对应的列数j呈正相关;
所述步骤S4具体包括:
将真实模分量集中的每个真实模分量按照位置基中代表插入位置的元素,依次代替冗余集中原位置对应的元素,得到每个用户的第一密文矩阵;
其中第i个用户的第一密文矩阵表示为:
Ci={Ci1,Ci2,...,Cin}T;
Cij={Ci,1j,Ci,2j,...Ci,nj}={Si,1j,Si,2j,...,Si,nj},i=1,2,...n;即第i用户的密文矩阵Ci的第j行Cij作为第j个真实模分量mi,j替换掉了冗余向量Sij中位置在第wij的冗余项后的模分量向量;
满足门限数量的第i个用户Pi使用中同态计算后的值/>以及根据中国剩余定理计算/>对应的一个分量Yi,将各个分量汇集起来得到密文计算后的中间结果,所述中间结果表示为:
Y=f*(C1,C2,...,Cm)
然后通过Y(mod p)得到明文信息X=f(X1,X2,...,Xm),m表示存在m个用户参与计算;此处f*(·)表示密文下的同态运算;mod表示模计算;/>和/>均表示运算过程中的一个具体数值;/>表示/>的乘法逆元;Cm表示第m个用户的第一密文矩阵;/>表示第i个用户的第二密文矩阵。
2.如权利要求1所述的一种基于模分量同态的分布式门限加解密方法,其特征在于,步骤S7具体包括:
根据每个用户收到的密钥片段,从每个用户的第二密文矩阵中的对应行向量中选中真实模分量,并将选中的真实模分量发送至用户集中的其他用户,从而实现每个用户都获得最终密文矩阵;具体地:
假设将第i个用户位置基中对应的第j个密钥片段SKij发送给第j个用户,且SKij代表的索引为h;
那么根据密钥片段SKij,从第j个用户的第二密文矩阵的第i行中,选中第h个元素,即为该行的真实模分量;并将选中的真实模分量发送至用户集中的其他用户,实现每个都获得了含有全部真实模分量的最终密文矩阵。
3.如权利要求1所述的一种基于模分量同态的分布式门限加解密方法,其特征在于,将任一次恢复秘密的用户组成一个用户集合,在解密时,当用户集合中参与运算的用户数量大于或等于预设门限k的数量时,则能够实现解密;该过程中,若用户集合中参与加解密运算的用户数量大于预设门限k的数量,则由用户集合中前k个用户参与运算,并将运算结果同步至用户集合中的其他用户;2≤k≤n。
4.如权利要求1所述的一种基于模分量同态的分布式门限加解密方法,其特征在于,在上述步骤S5中,若用户集合中有预设数量个用户参与运算,则需要将当前运算后得到的第二密文矩阵同步到用户集合中的其他用户;2≤k≤n,n表示用户集中共有n个用户。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311381236.XA CN117118617B (zh) | 2023-10-24 | 2023-10-24 | 一种基于模分量同态的分布式门限加解密方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311381236.XA CN117118617B (zh) | 2023-10-24 | 2023-10-24 | 一种基于模分量同态的分布式门限加解密方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117118617A CN117118617A (zh) | 2023-11-24 |
CN117118617B true CN117118617B (zh) | 2024-01-09 |
Family
ID=88811416
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311381236.XA Active CN117118617B (zh) | 2023-10-24 | 2023-10-24 | 一种基于模分量同态的分布式门限加解密方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117118617B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117640065B (zh) * | 2024-01-24 | 2024-04-05 | 北京隐算科技有限公司 | 一种多用户同态加解密方法 |
CN117640066B (zh) * | 2024-01-26 | 2024-04-05 | 北京隐算科技有限公司 | 一种基于同态加密的多用户联合加解密方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115801224A (zh) * | 2023-01-16 | 2023-03-14 | 北京隐算科技有限公司 | 一种云计算环境中支持浮点数运算的全同态加密方法 |
CN116915382A (zh) * | 2023-09-14 | 2023-10-20 | 北京隐算科技有限公司 | 一种基于模分量同态的多用户隐私保护方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020006692A1 (zh) * | 2018-07-04 | 2020-01-09 | 深圳大学 | 一种全同态加密方法、装置和计算机可读存储介质 |
US11469878B2 (en) * | 2019-01-28 | 2022-10-11 | The Toronto-Dominion Bank | Homomorphic computations on encrypted data within a distributed computing environment |
US11750364B2 (en) * | 2020-03-17 | 2023-09-05 | Brainlab Ag | Fuzzy datamatching using homomorphic encryption |
CN111835500B (zh) * | 2020-07-08 | 2022-07-26 | 浙江工商大学 | 基于同态加密与区块链的可搜索加密数据安全共享方法 |
-
2023
- 2023-10-24 CN CN202311381236.XA patent/CN117118617B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115801224A (zh) * | 2023-01-16 | 2023-03-14 | 北京隐算科技有限公司 | 一种云计算环境中支持浮点数运算的全同态加密方法 |
CN116915382A (zh) * | 2023-09-14 | 2023-10-20 | 北京隐算科技有限公司 | 一种基于模分量同态的多用户隐私保护方法 |
Non-Patent Citations (2)
Title |
---|
一种同态密码体制下加密云数据的隐私保护CART算法;苏杰波;张小萍;李道丰;赵搏文;周凯;;小型微型计算机系统(第11期);全文 * |
苏杰波等.一种同态密码体制下加密云数据的隐私保护CART算法.小型微型计算机系统.2016,(第11期),全文. * |
Also Published As
Publication number | Publication date |
---|---|
CN117118617A (zh) | 2023-11-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109684855B (zh) | 一种基于隐私保护技术的联合深度学习训练方法 | |
Liu et al. | An efficient privacy-preserving outsourced calculation toolkit with multiple keys | |
CN107707358B (zh) | 一种ec-kcdsa数字签名生成方法及系统 | |
Groth et al. | Cryptography in the multi-string model | |
CN117118617B (zh) | 一种基于模分量同态的分布式门限加解密方法 | |
CN107196926B (zh) | 一种云外包隐私集合比较方法与装置 | |
CN111510281B (zh) | 一种同态加密方法及装置 | |
CN110999206A (zh) | 阈值数字签名方法及系统 | |
CN107872322A (zh) | 基于同态加密的数字签名协同生成方法及系统 | |
CN115801224B (zh) | 一种云计算环境中支持浮点数运算的全同态加密方法 | |
Diffie | Conventional versus public key cryptosystems | |
Ni et al. | Some graph-based encryption schemes | |
CN113132104A (zh) | 一种主动安全的ecdsa数字签名两方生成方法 | |
Saračević et al. | Source and channel models for secret-key agreement based on Catalan numbers and the lattice path combinatorial approach | |
CN117353912A (zh) | 基于双线性映射的三方隐私集合交集基数计算方法及系统 | |
US7280663B1 (en) | Encryption system based on crossed inverse quasigroups | |
CN104601323B (zh) | 基于bdd解决社会主义百万富翁问题的方法 | |
Al Etaiwi et al. | Structured encryption algorithm for text cryptography | |
Hong et al. | A Digital Signature Scheme Based on MST 3 Cryptosystems | |
Mohamed | (N, N) secret color image sharing scheme with dynamic group | |
Jaafar et al. | Visual zero-knowledge proof of identity scheme: a new approach | |
CN110958114A (zh) | 一种两方协同sm2密钥生成、密文解密方法与介质 | |
CN111130786A (zh) | 一种多方协同sm2密钥生成、密文解密方法与介质 | |
Dwivedi et al. | Image encryption using curved scrambling and diffusion | |
CN113708925B (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 |