CN112543091A - 密文长度固定的多密钥全同态加密方法 - Google Patents

密文长度固定的多密钥全同态加密方法 Download PDF

Info

Publication number
CN112543091A
CN112543091A CN202011153928.5A CN202011153928A CN112543091A CN 112543091 A CN112543091 A CN 112543091A CN 202011153928 A CN202011153928 A CN 202011153928A CN 112543091 A CN112543091 A CN 112543091A
Authority
CN
China
Prior art keywords
key
ciphertext
user
bootstrap
homomorphic
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
CN202011153928.5A
Other languages
English (en)
Other versions
CN112543091B (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.)
Engineering University of Chinese Peoples Armed Police Force
Original Assignee
Engineering University of Chinese Peoples Armed Police Force
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 Engineering University of Chinese Peoples Armed Police Force filed Critical Engineering University of Chinese Peoples Armed Police Force
Priority to CN202011153928.5A priority Critical patent/CN112543091B/zh
Publication of CN112543091A publication Critical patent/CN112543091A/zh
Application granted granted Critical
Publication of CN112543091B publication Critical patent/CN112543091B/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/008Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Storage Device Security (AREA)
  • Complex Calculations (AREA)

Abstract

本发明属于信息安全技术领域,具体设计了两种密文长度固定的多密钥全同态加密通用构造方法以及两种具体的密文定长的多密钥全同态加密方案THFE型和CKKS型,密文长度固定的MKFHE方案的通用构造方法包括以下步骤:将用户集的公钥进行累加,构造了长度固定的用户集的累加公钥;各用户用累加公钥加密自己私钥,生成累加计算密钥;对单个用户密文和对应的累加自举密钥运行自举过程,实现密文的刷新;对刷新后的密文运行同态计算和联合解密。本发明利用CGGI系列方案高效的自举方法和CKKS方案支持近似数据同态计算的优点,构造了两个高效的定长MKFHE方案。分析表明,本申请的密文规模、同态计算效率与用户数无关,同单用户全同态加密方案一样高效。

Description

密文长度固定的多密钥全同态加密方法
技术领域
本申请属于信息安全技术领域,设计了密文长度固定的多密钥全同态 加密通用构造方法,特别涉及针对TFHE型定长MKFHE和CKKS型 MKFHE的密文长度固定的多密钥全同态加密方法。
背景技术
作为信息安全领域的核心技术,密码技术在保护用户隐私数据的安全 存储、传输和处理方面发挥着至关重要的作用。全同态加密支持对密文数 据进行任意的运算处理,为云环境下用户隐私数据的安全存放、传输和处 理提供了强有力的工具。MKFHE支持对不同用户(不同密钥)的密文进行 任意的同态运算,且运算之后的结果可由参与计算的所有用户联合解密, 可以较好地解决多用户数据之间的安全联合计算问题。
随着云计算、大数据等新兴需求牵引,外包计算、安全多方计算 (Multi-partycomputation,MPC)等新型计算模式迅速发展,如何保证信 息在处理过程中的安全和信息所有者的隐私,已成为当前信息安全领域的 研究热点。全同态加密(Fully homomorphicencryption,FHE)支持对密文 数据运行任意的函数,具备强大的密态计算能力。典型的FHE只能支持对 单个用户的密文进行同态计算,即参与计算的所有密文对应于相同的密钥。然而在许多的现实场景中,通常需要对网络中多个用户上传到云端的数据 一起进行计算。多密钥全同态加密(Multi-Key fully homomorphic encryption,MKFHE)支持对不同用户(不同密钥)的密文进行任意的同态 运算,运算之后的结果由参与计算的用户联合解密,因此可以较好地解决 多用户密文进行同态计算的问题,云环境下MKFHE在多用户数据安全计算中应用的流程见图1。
当前,MKFHE方案都是在经典的全同态加密方案的基础上发展而来, 按照底层同态加密方案的不同类型,当前多密钥全同态加密主要分为NTRU 型、GSW型、BGV型、TFHE型,四类MKFHE方案的分析对比见表1:
表1四类MKFHE方案的分析
Figure BDA0002742106910000021
多密钥全同态加密具有重要理论价值和应用前景,表1对现阶段4类 MKFHE(NTRU型、GSW型、BGV型、TFHE型)方案进行了分析,目 前,大多数BGV型、GSW型、TFHE型MKFHE方案都使用转化模式,其 中以密文级联为特征的单用户密文到用户集密文的密文扩展算法,使扩展 密文规模随着用户数的增加呈平方或线性规模增长,这限制了MKFHE在 大量用户参与场景中的应用。
本方案将多个用户公钥直接累加的方式生成用户集的联合公钥,将自 举过程引入密文扩展过程,构造基于LWE/RLWE问题的固定长度扩展密文。 分析表明,本方案方案的密文规模、同态计算效率与用户数无关,和单用 户全同态加密方案一样高效。当用户集合更新时,原先集合的密文经过密 文转化后可以用到新集合的同态计算,但方案需要各用户提供新的公共密 钥。本方案与LZY+19,CCS19,CDKS方案空间对比见表2,其中k是参 与计算的用户数,n是(R)LWE的维度。
表2本方案与LZY+19,CCS19,CDKS方案空间对比
Figure BDA0002742106910000031
发明内容
本申请的目的在于提出一个密文长度固定的多密钥全同态加密方法, 设计了密文长度固定的MKFHE方案的通用构造方法,利用CGGI系列方 案高效的自举方法和CKKS方案支持近似数据同态计算的优点,构造了两 个高效的定长MKFHE方案,方案的密文规模、同态计算效率与用户数无 关,同单用户全同态加密方案一样高效。
TFHE型定长MKFHE包括以下步骤:
·HDTMK.Setup(1λ)→pp=(ppLWE,ppGSW):
LWE.Setup(1λ)→ppLWE=(η,χ,α,Bks,dks,B);
GSW.Setup(1λ)→ppGSW=(N,φ,α,B,d,y),其中,B,y随机产生的公用变 量;
·HDTMK.KeyGen(pp)→(pki,ski,pkBK,i,skBK,i);
LWE.KeyGen(pp)→{pki=Ai,ski=si};
RGSW.KeyGen(pp)→{pkBK,i=Zi,skBK,i=zi};
当所有用户都完成HDTMK.KeyGen(params)程序之后,运行累加计算密钥 生成算法;如果方案中有用户更新,则重新运行密钥生成算法;
·
Figure BDA0002742106910000041
1)公钥累加:给定k个用户的公钥b1,...,bk生成累加公钥
Figure BDA0002742106910000042
累加自举公钥:给定k个用户的自举公钥d1,...,dk生成累加自举公钥
Figure BDA0002742106910000043
2)用户累加自举密钥:输入累加自举公钥
Figure BDA0002742106910000044
secret key of LWEciphertext
Figure BDA0002742106910000045
输出单用户的累加自举密钥
Figure BDA0002742106910000046
Figure BDA0002742106910000047
其中i∈[k],j∈[n]。
3)用户累加计算密钥:输入累加公钥
Figure BDA0002742106910000048
RGSW密文的私钥zi,令
Figure BDA0002742106910000049
生成单用户的累加转化密钥
Figure BDA00027421069100000410
其中i∈[k]。
·HDTMK.Enc(pk,μ):输入明文μ,用户公钥pk,运行
Figure BDA00027421069100000411
·HDTMK.Dec((sk1,...,skk),ct):输入密文
Figure BDA0002742106910000051
输入密钥 (sk1,...,skk),返回使得
Figure BDA0002742106910000052
最小的明文比特μ′∈{0,1};
·
Figure BDA0002742106910000053
输入密文
Figure BDA0002742106910000054
和自举密 钥集合
Figure BDA0002742106910000055
转化密钥集合
Figure BDA0002742106910000056
使用如下自举过程实现同态运 算:
1)云端通过
Figure BDA0002742106910000057
生成累加密文的累加转化密钥
Figure BDA0002742106910000058
云 端通过
Figure BDA0002742106910000059
生成累加密文的累加自举密钥
Figure BDA00027421069100000510
其中j∈[n],
Figure BDA00027421069100000511
HomAddk(,)是k个1位TGSW密文的同态加法算法,可以使用TGSW密文 的同态乘法和同态加法构造。对于固定的用户集,云端只需要计算一次
Figure BDA00027421069100000512
Figure BDA00027421069100000513
之后将其作为公共变量给出。
2)密文刷新:给定密文
Figure BDA00027421069100000514
和对应的计算密钥
Figure BDA00027421069100000515
Figure BDA00027421069100000516
运行如下的同态累加算法:
2-1.输入密文
Figure BDA00027421069100000517
返回
Figure BDA00027421069100000518
Figure BDA00027421069100000519
以及对应 的自举密钥
Figure BDA00027421069100000520
2-2.初始化RLWE密文
Figure BDA00027421069100000521
其中
Figure BDA00027421069100000522
Figure BDA00027421069100000523
对于j=1到n,,运行:
(1).
Figure BDA0002742106910000061
(2).
Figure BDA0002742106910000062
...
Figure BDA0002742106910000063
其中选择最大电路CMux(C,d1,d0)沿用CGGI16的表达,输入一个控制 TGSW密文C和两输入的RLWE密文数据d1,d0,输出RLWE的密文
Figure BDA0002742106910000064
Figure BDA0002742106910000065
是GSW密文和BGV密文的混合同态乘法运算;
2-3.输出
Figure BDA0002742106910000066
3)密钥转化过程:最后一步将ACC转化为LWE密文,并运行密 钥转化算法;
3-1.输入密文ACC=(c0,c1)∈T2,令b″是多项式c0中的常数项,a″是 由多项式c1的系数组成的向量;输出LWE密文
Figure BDA0002742106910000067
3-2.令Let
Figure BDA0002742106910000068
运行密钥转化算法,输出密文
Figure BDA0002742106910000069
·利用自举过程构造同态与非门NAND电路 HDTMK.NAND(c1,c2)=HDTMK.Boot((0,5/8)-c1-c2);
CKKS型定长MKFHE包括以下步骤:
·HDCMK.Setup(1λ):输入安全参数λ,选择一个为2的幂次的整数N;令 χkeyerrenc分别为私钥、噪声和加密过程使用的
Figure BDA00027421069100000610
上的分 布;选择素数P,p和层数L,令密文模数ql=pl,其中1≤l≤L,随机选 择
Figure BDA00027421069100000611
输出公共参数 pp=(N,χkeyerrenc,L,P,ql,a,a′);
·HDCMK.KeyGen(pp):输入公共参数pp,选取s←χkey,e←χerr,输出用 户公钥pk为
Figure BDA0002742106910000071
选取e′←χerr,输出用户计算公钥pkevk
Figure BDA0002742106910000072
当所有用户都完成HDCMK.KeyGen(pp)程序之后,运行累加计算密钥生 成算法;如果方案中有用户更新,则重新运行密钥生成算法;
·
Figure BDA0002742106910000073
1)累加公钥:给定k个用户的公钥b1,...,bk生成CKKS型累加公钥
Figure BDA0002742106910000074
2)累加计算公钥:给定k个用户的计算公钥b1′,...,bk′生成CKKS型累加 公钥
Figure BDA0002742106910000075
3)累加计算密钥部件生成:
生成用户i的密文集合刷新密钥
Figure BDA0002742106910000076
生成用户i生成转化密钥的部件
Figure BDA0002742106910000077
Figure BDA0002742106910000078
其中es←χerr,输出
Figure BDA0002742106910000079
输出移位密钥
Figure BDA00027421069100000710
共轭密钥
Figure BDA00027421069100000711
4)云端生成计算密钥
Figure BDA00027421069100000712
Figure BDA00027421069100000713
当系统的用户集合更新时,HDCMK系统不使用自举,而用累加的密 钥转化过程实现密文对应的密钥集合的刷新(将老集合的密文转化为新集 合的密文),相对BP16,这种模式大幅提升方案效率。
·HDCMK.Enc(pk,m):c=CKKS.Encpk(m);
·HDCMK.Dec((sk1,...,skk),c):输入l层的密文c,输出 m′=<c,sk1+...+skk>(modql);
当系统的用户集合更新时,HDCMK系统不使用自举,而用累加的密 钥转化过程实现密文对应的密钥集合的刷新(将老集合的密文转化为新集 合的密文),相对BP16,这种模式大幅提升方案效率。
·
Figure BDA0002742106910000081
输入密文c′=(b′,a′),构造对应的累加转 化密钥
Figure BDA0002742106910000082
输出
Figure BDA0002742106910000083
·同态运算:如果输入同态运算的密文对应的公钥不相同时,利用
Figure BDA0002742106910000084
将其转化到相同公钥,之后再进行同态运 算;同态运算过程、自举过程和CKKS方案相同,只是将输入的计算密 钥替换成累加计算密钥,因此计算效率与单比特全同态加密方案相同。
-HDCMK.Add(ct,ct′).CKKS.Add(ct,ct′).
-HDCMK.CMult(a,ct).CKKS.CMult(a,ct).
-
Figure BDA0002742106910000085
-
Figure BDA0002742106910000086
与现有技术相比,本发明具有以下有益效果:
(1)本发明的密文规模与用户数量无关,同态运算和单用户全同态加 密方案一样高效。当用户集合更新时,原先集合的密文经过密文转化(或 刷新)后还可以继续用于新集合的同态计算,但方案需要提供新的累加计 算密钥。
(2)本发明加密方法中,如果用户没有授权(提供自身私钥的密文) 数据参加某个集合的运算,则自身的数据无法参与该集合运算,相对于全 动态的MKFHE,本发明提出的半动态MKFHE支持用户对自身数据参与哪 个集合的运算进行有效控制。
(3)本发明加密方法中,半动态MKFHE可以向单密钥全同态加密兼 容,即加密函数、同态计算函数、解密函数与单密钥全同态加密相同,因 此如果先期已经利用单密钥全同态加密搭建好程序,经过少量的改变就可 以转化为多密钥全同态加密。
附图说明
图1是云环境下MKFHE在多用户数据安全计算中应用的流程;
图2是本发明双用户情况下同态运算的步骤。
具体实施方式
下面结合具体实施例对本方案做进一步详细的描述,但本方案的实施 方式不限于此。
密文长度固定的多密钥全同态加密方法,首先,设计密文长度固定的 MKFHE方案的通用构造方法,通用构造有两种模式:静态定长MKFHE方 案和半动态定长MKFHE方案,它们分别适用于不同的场景。
静态定长MKFHE方案:
下面介绍用户i运行方案的过程(本方案和大部分的MKFHE方案一样, 基于CRS模型,所有用户使用一些相同的公共参数):
·SAMK.Setup(1λ):FHE.Setup(1λ)→params
·SAMK.KeyGen(params,i,B):FHE.KeyGen(params,B)→pki,ski
当所有用户都完成程序SAMK.KeyGen之后,运行计算密钥生成算法;
·SAMK.EvalKeyGen(params,ski,{pk1,...,pkk}):
1)SAMK.SAPK(params,ski,{pk1,...,pkk}):
公钥累加函数:将单个用户的公钥中的非公共参数部分累加,生成联 合公钥。例如:GSW型FHE中公共参数为B,用户公钥为bi=siB+ei,则 得到联合公钥
Figure BDA0002742106910000101
2)
Figure BDA0002742106910000102
如果需要运行密钥转化过程(GSW 型MKFHE无需运行密钥转化过程),则需要使用单用户和累加用户的累 加转化密钥;
用户提供单用户的累加转化密钥
Figure BDA0002742106910000103
云端通过
Figure BDA0002742106910000104
生成累加密文的累加转化密钥:
Figure BDA0002742106910000105
3)
Figure BDA0002742106910000106
如果需要运行自举过程,则需要使用单用户密文和累加密文的累加自 举密钥;
用户提供单用户密文的累加自举密钥
Figure BDA0002742106910000107
云端通过
Figure BDA0002742106910000108
生成累加密文的累加自举密钥:
Figure BDA0002742106910000109
其中 HomAddk(,)是对于l比特的同态加法电路;
·
Figure BDA00027421069100001010
·SAMK.Dec((sk1,...,skN),C):和大多数MKFHE一样,方案可以构造联 合解密协议,协议分为部分解密和最终解密两个部分。
1)SAMK.PartDec(C,i,ski):用户i利用自身私钥ski=(-si,1),运行部分解 密协议;为了方案更加高效,我们保留密文的公用部分不进行运算。例如: GSW型FHE中的结果过程
Figure BDA0002742106910000111
我们计算
Figure BDA0002742106910000112
其中C[1,...,n-1;]表示密文C的前n-1列,
Figure BDA0002742106910000113
用于保证中间变量的 安全;
2)SAMK.FinDec(p′1,...,p′N):解密者得到所有用户的中间变量后,最终 解密
Figure BDA0002742106910000114
因为所有的密文都是对应相同的公钥(联合)都是相同的,因此同态 计算过程和单密钥全同态加密的计算过程是完全相同的,因此效率较其它 MKFHE具有较大优势。
·SAMK.Add(C1,C2):C+←FHE.Add(C1,C2):
·
Figure BDA0002742106910000115
·
Figure BDA0002742106910000116
上述方案的解密过程正确性可以通过下式得到:
Figure BDA0002742106910000117
半动态定长MKFHE方案:
参见图2,半动态定长MKFHE方案,该方案可以达到:密文规模与用 户数无关,当用户集和更新时所有的密文可以继续在新的集合中使用。方 案和核心思想是:加密数据时使用个人公钥或私钥,利用优化的自举过程 (或密钥转化过程)将密文调整为累加公钥,从而实现密文可重用。半动 态MKFHE和SAFHE有两个不同之处:同态计算前需要调整密文对应的公 钥到新的用户集,用户集合更新时需要进行交互从而生成新的计算密钥。
·HDMK.Setup(1λ):FHE.Setup(1λ)→params
·HDMK.KeyGen(params):FHE.KeyGen(params,B)→pki,ski
当所有用户都完成HDMK.KeyGen(params)程序之后,运行计算密钥生成 算法;如果方案中有用户更新,则重新运行密钥生成算法;
·HDMK.EvalKeyGen(params,ski,{pk1,...,pkN}):
Figure BDA0002742106910000121
·HDMK.Enc(pk,μ):FHE.Enc(pk,μ)→C;
·HDMK.Dec((sk1,...,skN),C):SAMK.Dec((sk1,...,skN),C)→μ′;
·
Figure BDA0002742106910000122
沿用BP16的表示方法,通用模式使 用自举过程实现同态运算;
1)
Figure BDA0002742106910000123
该过程实现密文公钥的刷新,其中
Figure BDA0002742106910000124
是Ci对应的自举密钥,如果Ci是单个用户的密文,则其自举密钥是 对应的
Figure BDA0002742106910000125
如果Ci是累加公钥的密文,则其自举密钥是对应的
Figure BDA0002742106910000126
2)
Figure BDA0002742106910000127
该过程实现联合密文同态计算,其中
Figure BDA0002742106910000128
是 联合密文的计算密钥;
半同态定长MKFHE方案通用方案的缺陷是:用户集合更新时,需要 所有用户更新计算密钥和自举密钥(即群中成员变化时需要征得所有用户 的同意),因此方案需要三轮交互才能构造MPC。
在半动态定长MKFHE方案中,
对于TFHE型定长MKFHE,其具体的加密方法是:
CGGI系列方案是目前自举过程速度最快的一类方案,基于CGGI系列 方案平凡的构造HDMK效率较低,本方案针对TFHE方案的特点,构造高 效的HDTMK方案。CGGI系列的FHE只能支持私钥分量取自{0,1}的情况, 而累加自举私钥分量的取值范围更大,所以无法直接高效应用。为了使得 定长MKFHE和基础CGGI系列方案更好得结合,本方案设计了私钥扩展 的TFHE方案,该方案能够在私钥空间更平凡的情况下实现自举。
·HDTMK.Setup(1λ)→pp=(ppLWE,ppGSW):
LWE.Setup(1λ)→ppLWE=(η,χ,α,Bks,dks,B);
GSW.Setup(1λ)→ppGSW=(N,φ,α,B,d,y),其中,B,y随机产生的公用变 量。
·HDTMK.KeyGen(pp)→(pki,ski,pkBK,i,skBK,i)。
LWE.KeyGen(pp)→{pki=Ai,ski=si};
RGSW.KeyGen(pp)→{pkBK,i=Zi,skBK,i=zi}。
当所有用户都完成HDTMK.KeyGen(params)程序之后,运行累加计算密钥 生成算法。如果方案中有用户更新,则重新运行密钥生成算法。
·
Figure BDA0002742106910000131
1)公钥累加:给定k个用户的公钥b1,...,bk生成累加公钥
Figure BDA0002742106910000132
累加自举公钥:给定k个用户的自举公钥d1,...,dk生成累加自举公钥
Figure BDA0002742106910000133
2)用户累加自举密钥:输入累加自举公钥
Figure BDA0002742106910000134
secret key of LWEciphertext
Figure BDA0002742106910000135
输出单用户的累加自举密钥
Figure BDA0002742106910000136
Figure BDA0002742106910000137
其中i∈[k],j∈[n]。
3)用户累加计算密钥:输入累加公钥
Figure BDA0002742106910000141
RGSW密文的私钥zi,令
Figure BDA0002742106910000142
生成单用户的累加转化密钥
Figure BDA0002742106910000143
其中i∈[k]。
·HDTMK.Enc(pk,μ):输入明文μ,用户公钥pk,运行
Figure BDA0002742106910000144
·HDMK.Dec((sk1,...,skk),ct):构造联合解密协议,协议分为部分解密 和最终解密两个部分。
1)HDMK.PartDec(C,i,ski):用户i利用自身私钥ski=(-si,1),运行部 分解密协议。为了方案更加高效,保留密文的公用部分不进行运算。例如: GSW型FHE中的结果过程
Figure BDA0002742106910000145
计算
Figure BDA0002742106910000146
其 中C[1,...,n-1;]表示密文C的前n-1列,
Figure BDA0002742106910000147
用于保证中间变量的安 全。
2)HDMK.FinDec(p′1,...,p′N):解密者得到所有用户的中间变量后, 最终解密
Figure BDA0002742106910000148
·
Figure BDA0002742106910000149
输入密文
Figure BDA00027421069100001410
和自举密 钥集合
Figure BDA00027421069100001411
转化密钥集合
Figure BDA00027421069100001412
使用自举过程实现同态运算:
1)云端通过
Figure BDA00027421069100001413
生成累加密文的累加转化密钥
Figure BDA00027421069100001414
云 端通过
Figure BDA00027421069100001415
生成累加密文的累加自举密钥
Figure BDA00027421069100001416
其中j∈[n],
Figure BDA00027421069100001417
HomAddk(,)是k个1位TGSW密文的同态加法算法,可以使用TGSW密文 的同态乘法和同态加法构造;对于固定的用户集,云端只需要计算一次
Figure BDA00027421069100001418
Figure BDA00027421069100001419
之后将其作为公共变量给出;
2)密文刷新:给定密文
Figure BDA0002742106910000151
和对应的计算密钥
Figure BDA0002742106910000152
Figure BDA0002742106910000153
运行如下的同态累加算法:
2-1.输入密文
Figure BDA0002742106910000154
返回
Figure BDA0002742106910000155
Figure BDA0002742106910000156
以及对应 的自举密钥
Figure BDA0002742106910000157
2-2.初始化RLWE密文
Figure BDA0002742106910000158
其中
Figure BDA0002742106910000159
Figure BDA00027421069100001510
对于j=1到n,,运行:
(1).
Figure BDA00027421069100001511
(2).
Figure BDA00027421069100001512
...
Figure BDA00027421069100001513
其中选择最大电路CMux(C,d1,d0)沿用CGGI16的表达,输入一个控制 TGSW密文C和两输入的RLWE密文数据d1,d0,输出RLWE的密文
Figure BDA00027421069100001514
Figure BDA00027421069100001515
是GSW密文和BGV密文的混合同态乘法运算,具体过 程见方案Chillotti I,Gama N,Georgieva M,et al.Fasterfully homomorphic encryption:bootstrapping in less than 0.1seconds[C].International Conference on the Theory and Application of Cryptology andInformation Security—ASIACRYPT 2016.Springer,Berlin,Heidelberg,2016:3-33;
2-3.输出
Figure BDA00027421069100001516
3)密钥转化过程:最后一步将ACC转化为LWE密文,并运行密 钥转化算法。
3-1.输入密文ACC=(c0,c1)∈T2,令b″是多项式c0中的常数项,a″是 由多项式c1的系数组成的向量。输出LWE密文
Figure BDA0002742106910000161
3-2.令Let
Figure BDA0002742106910000162
运行密钥转化算法,输出密文
Figure BDA0002742106910000163
′利用自举过程构造同态与非门NAND电路. HDTMK.NAND(c1,c2)=HDTMK.Boot((0,5/8)-c1-c2)
安全性分析:本方案的语义安全基于(R)LWE假设,参数ppLWE,ppGSW使得(R)LWE假设达到λ-bit的安全基本,本方案和大部分方案一样需要基 于循环安全性假设。
正确性分析:本方案中输入自举过程的密文(b′,a′)的噪音
Figure BDA0002742106910000164
需要满足
Figure BDA0002742106910000165
输出的LWE密文噪声e应该足够小,噪声分析的过程如 下:
基础知识:HDTMK方案噪声估计
沿用CCS19的表达,定义分解基B,分解度d,令ε2=1/(12B2d)是 (-1/2Bd,1/2Bd]上的均匀分布的方差。定义
Figure BDA0002742106910000166
Figure BDA0002742106910000167
中均匀分布的均方差。使用类似的方法定义自举算法的密钥 转化算法中的参数
Figure BDA0002742106910000168
Bks。定义RGSW和LWE上私钥分布χ∈{0,1}w,
Figure BDA0002742106910000169
定义Var(e)为
Figure BDA00027421069100001610
上随机变量e的方差。如果e是随机变量组成的向 量,定义Var(e)为向量元素中方差的最大值。
舍入噪声:已知
Figure BDA00027421069100001611
假设每次舍入的噪声服从
Figure BDA00027421069100001612
的随机均匀分布,则表达式
Figure BDA00027421069100001613
整 体的舍入噪声的方差为
Figure BDA0002742106910000171
计算密钥的初始噪声:
Figure BDA0002742106910000172
噪声方差为
Figure BDA0002742106910000173
Figure BDA0002742106910000174
Figure BDA0002742106910000175
噪声方差为
Figure BDA0002742106910000176
沿用CGGI7的方法,对本方案自举噪声分析如下。
令Let d0,d1 be TRLWE samples and let C∈TGSWs({0,1}),Then, msg(CMux(C,d1,d0))=msg(C)?msg(d1):msg(d0),Andwe have ||Err(CMux(C,d1,d0))||≤max(||Err(d0)||,||Err(d1)||)+η(C),where
Figure BDA0002742106910000177
we have:Var(Err(CMux(C,d1,d0)))≤max(Var(Err(d0)),Var(Err(d1)))+θ(C),where θ(C)=2dNVBVar(Err(C))+(N+1)ε2
累加过程:初始RLWE密文为平凡密文,噪声为0。所有的自举密钥。 由HomAdd算法产生的计算密钥
Figure BDA0002742106910000178
噪声方差为
Figure BDA0002742106910000179
递归的运行l·n次Cmux电路, 可以得到累加过程的噪声方差为
Figure BDA00027421069100001710
密钥转化算法:输入累加密文
Figure BDA00027421069100001711
和累加计算密钥
Figure BDA00027421069100001712
其中
Figure BDA00027421069100001713
输出密文
Figure BDA00027421069100001714
的噪声方差为
Figure BDA00027421069100001715
自举过程:自举过程的噪声可以由累加过程噪声和密钥转化过程噪声累 加得到,因此噪声方差为
Figure BDA0002742106910000181
对于CKKS型定长MKFHE,其具体的加密方法是:
BGV型MKHFE方案中,CKKS系列方案应能高效处理浮点型数据, 受到广泛关注,在神经网络的密态计算等领域,具有广泛的应用,本方案 针对CKKS方案的特点,构造高效的HDCMK方案;
·HDCMK.Setup(1λ):输入安全参数λ,选择一个为2的幂次的整数N,令 χkeyerrenc分别为私钥、噪声和加密过程使用的
Figure BDA0002742106910000182
上的分 布,选择素数P,p和层数L,令密文模数ql=pl,其中1≤l≤L,随机选 择
Figure BDA0002742106910000183
输出公共参数 pp=(N,χkeyerrenc,L,P,ql,a,a′)。
·HDCMK.KeyGen(pp):输入公共参数,选取s←χkey,e←χerr,输出用户公 钥pk为
Figure BDA0002742106910000184
选取e′←χerr,输出用户计算公钥pkevk
Figure BDA0002742106910000185
当所有用户都完成HDCMK.KeyGen(pp)程序之后,运行累加计算密钥生 成算法。如果方案中有用户更新,则重新运行密钥生成算法。
·
Figure BDA0002742106910000186
1)累加公钥:给定k个用户的公钥b1,...,bk生成CKKS型累加公钥
Figure BDA0002742106910000187
2)累加计算公钥:给定k个用户的计算公钥b′1,...,b′k生成CKKS型累加 公钥
Figure BDA0002742106910000188
3)累加计算密钥部件生成:
生成用户i的密文集合刷新密钥
Figure BDA0002742106910000191
生成用户i生成转化密钥的部件
Figure BDA0002742106910000192
Figure BDA0002742106910000193
其中es←χerr,输出
Figure BDA0002742106910000194
输出移位密钥
Figure BDA0002742106910000195
共轭密钥
Figure BDA0002742106910000196
4)云端生成计算密钥
Figure BDA0002742106910000197
Figure BDA0002742106910000198
当系统的用户集合更新时,HDCMK系统不使用自举,而用累加的密 钥转化过程实现密文对应的密钥集合的刷新(将老集合的密文转化为新集 合的密文),相对BP16,这种模式大幅提升方案效率。
·HDCMK.Enc(pk,m):c=CKKS.Encpk(m)
·HDCMK.Dec((sk1,...,skk),c):输入l层的密文c,输出 m′=<c,sk1+...+skk>(modql).
当系统的用户集合更新时,HDCMK系统不使用自举,而用累加的密 钥转化过程实现密文对应的密钥集合的刷新(将老集合的密文转化为新集 合的密文),相对BP16,这种模式大幅提升方案效率。
·
Figure BDA0002742106910000199
输入密文c′=(b′,a′),构造对应的累加转 化密钥
Figure BDA0002742106910000201
输出
Figure BDA0002742106910000202
·同态运算:如果输入同态运算的密文对应的公钥不相同时,利用
Figure BDA0002742106910000203
将其转化到相同公钥,之后再进行同态运 算。同态运算过程、自举过程和CKKS方案相同,只是将输入的计算密 钥替换成累加计算密钥,因此计算效率与单比特全同态加密方案相同。
-HDCMK.Add(ct,ct′).CKKS.Add(ct,ct′).
-HDCMK.CMult(a,ct).CKKS.CMult(a,ct).
-
Figure BDA0002742106910000204
-
Figure BDA0002742106910000205
正确性分析:
全同态加密方案中密文能否正确解密,主要取决于密文中噪声的大小, 沿用CKKS17的表达方式,本方案我们对主要函数的功能和噪声增长情况 进行分析:
Figure BDA0002742106910000206
表示多项式
Figure BDA0002742106910000207
经过正则嵌入之后得到a(ζ) (a的系数和向量
Figure BDA0002742106910000208
做内积)的无穷范式。根据CKKS中的分析 有:
Figure BDA0002742106910000209
其中σ2为a(ζ)的方差;
Figure BDA00027421069100002010
其中
Figure BDA00027421069100002011
Figure BDA00027421069100002012
为分别 为a(ζ)和b(ζ)的方差。如果a的系数取自[0,q)的均匀分布,则有 Var(a(ζM))=q2N/12;a取自方差为σ2离散高斯分布DGq2),则有Var(a(ζM))=σ2N; a取自汉明重量为h的{0,±1}分布HWT(h),则Var(a(ζM))=h。
CKKS系列方案可以加密复数向量,考虑精度的原因,方案在加密前 通常会将数据扩大Δ倍,Δ称为增模因子。对于给定的密文
Figure BDA0002742106910000211
如果增 模因子Δ>N+2B,则方案可以正确解密,其中令<ct,sk>=m+e(modqL),B为
Figure BDA0002742106910000212
的上界。重要函数的噪声增长规律见如下定理。
引理1(CKKS,Lemma 1],单用户密文):令ct←Encpk(m)是某个用户加密 m∈R的密文,则有<ct,sk>=m+e(modqL),对于某个e∈R成立,其中
Figure BDA0002742106910000213
Figure BDA0002742106910000214
引理2(多用户密文):令
Figure BDA0002742106910000215
是利用累加公钥
Figure BDA0002742106910000216
加密m∈R的密文, 其中
Figure BDA0002742106910000217
则有
Figure BDA0002742106910000218
对于某个e∈R成立,其中
Figure BDA0002742106910000219
对于本方案使用的集合刷新密钥
Figure BDA00027421069100002110
移位密钥
Figure BDA00027421069100002111
共轭密钥
Figure BDA00027421069100002112
均为多用 户密文,因此均有
Figure BDA00027421069100002113
引理3(累加转化密钥):令
Figure BDA00027421069100002114
是云端生成的累加转化密钥,
Figure BDA00027421069100002115
是用户 生成的累加转化密钥分量,则有
Figure BDA00027421069100002116
Figure BDA00027421069100002117
其中
Figure BDA00027421069100002118
Figure BDA00027421069100002119
引理4(CKKS,Lemma 2],模数处理):令ct′←RSl→l′(ct),其中
Figure BDA00027421069100002120
则 有
Figure BDA00027421069100002121
对于某个e∈R成立,其中
Figure BDA00027421069100002122
Figure BDA00027421069100002123
引理5(同态乘法):令
Figure BDA00027421069100002124
其中
Figure BDA00027421069100002125
则有 <ctmult,sk>=<ct1,sk><ct2,sk>+emult(modql′),对于某个e∈R成立,其中
Figure BDA00027421069100002126
Figure BDA00027421069100002127
将转化密钥相关上限
Figure BDA00027421069100002128
带入CKKS中的引理3可以得到引理5, 证明过程略。
引理6(集合刷新,密钥转化):令
Figure BDA0002742106910000221
定义
Figure BDA0002742106910000222
对于私钥为 sk,令
Figure BDA0002742106910000223
则有
Figure BDA0002742106910000224
对于某个
Figure BDA0002742106910000225
成立,其中
Figure BDA0002742106910000226
将累加转化密钥相关上限
Figure BDA0002742106910000227
带入CHKKS中的引理4可以 得到引理6。
图2以两个用户为例,介绍同态运算的步骤:(0)系统初始化阶段: 用户和云端进行两次交互构造公共密钥。用户公布自身的公钥,从云端获 取累加公钥;利用累加公钥生成自身的累加计算密钥、集合刷新密钥,并 上传云端;云端收集所有用户集的累加计算密钥、集合刷新密钥,生成累 加集合计算密钥、集合刷新密钥。(1)数据加密:用户利用公钥或累加公 钥加密密文,并将密文上传到云端。(2)密文用户集合刷新:云端使用集 合刷新密钥,对用户密文进行集合刷新。(3)同态计算:云端利用累加集 合计算密钥运行同态运算,输出密文。(4)联合解密:用户对密文进行解 密,得到最终明文。
本方案提出了密文长度固定的MKFHE方案的通用构造方法,并针对 通用构造中自举过程效率较低,和CGGI系列方案和CKKS方案的特点, 构造了两个高效的定长MKFHE方案。分析表明,本方案的密文规模、同 态计算效率与用户数无关,同单用户全同态加密方案一样高效。在安全性 方面,本方案涉及到的基础加密方案为CKKS全同态加密方案和CGGI全同态加密方案,其安全性可以规约到格上的困难问题,能够有效抵抗量子 攻击,因此安全性能够得到保证。
为了进一步对方案了解,对部分基础知识补充如下:
同态加法器
本申请需要使用TGSW密文的同态加法和同态乘法构造同态加法器的 具体构造,
C.1加法器的数学表达
·半加器Half-Add:
输入:两个单比特二进制数x,y,对应的GSW密文TGSW(x),TGSW(y)。
输出:进位:
Figure BDA0002742106910000231
对应明文cout=x·y。
sum:TGSW(cout)=TGSW(x)+TGSW(y),对应明文s=x+y。
·全加器Full-Add(x,y,c):
输入:两个单比特二进制数x,y和进位cin,对应的GSW密文TGSW(x), TGSW(y),TGSW(cin)。
输出:
-进位:
Figure BDA0002742106910000232
对应明文cout=x·y+cin(x+y);
-和:TGSW(cout)=TGSW(x)+TGSW(y)+TGSW(cin),对应明文s=x+y+cin
·两个l位TGSW密文的同态加法算法HomAdd
输入:两组长度为l的TGSW密文TGSW(xl-1),...,TGSW(x0), TGSW(yl-1),...,TGSW(y0),使用波纹加法器(Ripple-carry adder)的方式求解 两个l位TGSW密文的同态加法。
从i=0到l-1运行:
(1).{TGSW(c),TGSW(s0)}=FullAdd(TGSW(x0),TGSW(y0),0)
(2).{TGSW(c),TGSW(s1)}=FullAdd(TGSW(x1),TGSW(y1),TGSW(c))
(l-1).{TGSW(c),TGSW(sl-1)}=FullAdd(TGSW(xl-1),TGSW(yl-1),TGSW(c))
输出密文{TGSW(c),TGSW(sl-1),...,TGSW(s0)}
对于k个l位TGSW密文的同态加法HomAddk{TGSW(xk),...,TGSW(x0)}, 利用HomAdd算法,使用二叉树的方式快速的实现。
以上内容是结合具体的优选实施方式对本方案所作的进一步详细说明, 不能认定本方案的具体实施只局限于这些说明。对于本方案所属技术领域 的普通技术人员来说,在不脱离本方案构思的前提下,还可以做出若干简 单推演或替换,都应当视为属于本方案的保护范围。

Claims (3)

1.密文长度固定的多密钥全同态加密方法,其特征在于,
所述加密方法是半动态定长MKFHE方法,其具体过程是:
·HDMK.Setup(1λ):FHE.Setup(1λ)→params
·HDMK.KeyGen(params):FHE.KeyGen(params,B)→pki,ski
当所有用户都完成HDMK.KeyGen(params)程序之后,运行计算密钥生成算法;如果方案中有用户更新,则重新运行密钥生成算法;
·HDMK.EvalKeyGen(params,ski,{pk1,...,pkN})
Figure FDA0002742106900000011
·HDMK.Enc(pk,μ):FHE.Enc(pk,μ)→C;
·HDMK.Dec((sk1,...,skN),C):构造联合解密协议,协议分为部分解密和最终解密两个部分,
1)HDMK.PartDec(C,i,ski):用户i利用自身私钥ski=(-si,1),运行部分解密协议,保留密文的公用部分不进行运算,
2)HDMK.FinDec(p′1,...,p′N):解密者得到所有用户的中间变量后,最终解密
Figure FDA0002742106900000012
·
Figure FDA0002742106900000013
通用模式使用自举过程实现同态运算;
1)
Figure FDA0002742106900000014
该过程实现密文公钥的刷新,其中
Figure FDA0002742106900000015
是Ci对应的自举密钥,如果Ci是单个用户的密文,则其自举密钥是对应的
Figure FDA0002742106900000016
如果Ci是累加公钥的密文,则其自举密钥是对应的
Figure FDA0002742106900000017
2)
Figure FDA0002742106900000018
该过程实现联合密文同态计算,其中
Figure FDA0002742106900000019
是联合密文的计算密钥;
用户集合更新时,需要所有用户更新计算密钥和自举密钥。
2.根据权利要求1所述的密文长度固定的多密钥全同态加密方法,其特征在于,
对于TFHE型定长MKFHE,其具体的加密方法是:
·HDTMK.Setup(1λ)→pp=(ppLWE,ppGSW):
LWE.Setup(1λ)→ppLWE=(η,χ,α,Bks,dks,B);
GSW.Setup(1λ)→ppGSW=(N,φ,α,B,d,y),其中,B,y随机产生的公用变量;
·HDTMK.KeyGen(pp)→(pki,ski,pkBK,i,skBK,i):
LWE.KeyGen(pp)→{pki=Ai,ski=si};
RGSW.KeyGen(pp)→{pkBK,i=Zi,skBK,i=zi};
当所有用户都完成HDTMK.KeyGen(params)程序之后,运行累加计算密钥生成算法;如果方案中有用户更新,则重新运行密钥生成算法;
Figure FDA0002742106900000021
1)公钥累加:给定k个用户的公钥b1,...,bk生成累加公钥
Figure FDA0002742106900000022
累加自举公钥:给定k个用户的自举公钥d1,...,dk生成累加自举公钥
Figure FDA0002742106900000023
2)用户累加自举密钥:输入累加自举公钥
Figure FDA0002742106900000024
用户私钥
Figure FDA0002742106900000025
输出单用户的累加自举密钥
Figure FDA0002742106900000026
Figure FDA0002742106900000027
其中i∈[k],j∈[n];
3)用户累加计算密钥:输入累加公钥
Figure FDA0002742106900000028
RGSW密文的私钥zi,令
Figure FDA0002742106900000029
生成单用户的累加转化密钥
Figure FDA00027421069000000210
其中i∈[k];
·HDTMK.Enc(pk,μ):输入明文μ,用户公钥pk,运行
Figure FDA0002742106900000031
·HDMK.Dec((sk1,...,skk),ct):输入密文
Figure FDA0002742106900000032
输入密钥(sk1,...,sk),返回使得
Figure FDA0002742106900000033
最小的明文比特μ′∈{0,1};
·
Figure FDA0002742106900000034
输入密文
Figure FDA0002742106900000035
和自举密钥集合
Figure FDA0002742106900000036
转化密钥集合
Figure FDA0002742106900000037
使用如下自举过程实现同态运算:
1)云端通过
Figure FDA0002742106900000038
生成累加密文的累加转化密钥
Figure FDA0002742106900000039
云端通过
Figure FDA00027421069000000310
生成累加密文的累加自举密钥
Figure FDA00027421069000000311
其中j∈[n],
Figure FDA00027421069000000312
HomAddk(,)是k个1位TGSW密文的同态加法算法;
对于固定的用户集,云端只需要计算一次
Figure FDA00027421069000000313
Figure FDA00027421069000000314
之后将其作为公共变量给出;
2)密文刷新:给定密文
Figure FDA00027421069000000315
和对应的计算密钥
Figure FDA00027421069000000316
Figure FDA00027421069000000317
运行如下的同态累加算法:
2-1.输入密文
Figure FDA00027421069000000318
返回
Figure FDA00027421069000000319
Figure FDA00027421069000000320
以及对应的自举密钥
Figure FDA00027421069000000321
2-2.初始化RLWE密文
Figure FDA00027421069000000322
其中
Figure FDA00027421069000000323
Figure FDA00027421069000000324
对于j=1到n,运行:
Figure FDA0002742106900000041
其中选择最大电路CMux(C,d1,d0)沿用CGGI16的表达,输入一个控制TGSW密文C和两输入的RLWE密文数据d1,d0,输出RLWE的密文
Figure FDA0002742106900000042
Figure FDA0002742106900000043
是GSW密文和BGV密文的混合同态乘法运算;
2-3.输出
Figure FDA0002742106900000044
3)密钥转化过程:最后一步将ACC转化为LWE密文,并运行密钥转化算法;
3-1.输入密文ACC=(c0,c1)∈T2,令b″是多项式c0中的常数项,a″是由多项式c1的系数组成的向量;输出LWE密文
Figure FDA0002742106900000045
3-2.令
Figure FDA0002742106900000046
运行密钥转化算法,输出密文
Figure FDA0002742106900000047
·利用自举过程构造同态与非门NAND电路,HDTMK.NAND(c1,c2)=HDTMK.Boot((0,5/8)-c1-c2)。
3.根据权利要求1所述的密文长度固定的多密钥全同态加密方法,其特征在于,
对于CKKS型定长MKFHE,其具体的加密方法是:
·HDCMK.Setup(1λ):输入安全参数λ,选择一个为2的幂次的整数N,令χkeyerrenc分别为私钥、噪声和加密过程使用的
Figure FDA0002742106900000048
上的分布;选择素数P,p和层数L,令密文模数ql=pl,其中1≤l≤L,随机选择
Figure FDA0002742106900000049
输出公共参数pp=(N,χkeyerrenc,L,P,ql,a,a′);
·HDCMK.KeyGen(pp):输入公共参数,选取s←χkey,e←χerr,输出用户公钥pk为
Figure FDA0002742106900000051
选取e′←χerr,输出用户计算公钥pkevk
Figure FDA0002742106900000052
当所有用户都完成HDCMK.KeyGen(pp)程序之后,运行累加计算密钥生成算法;如果方案中有用户更新,则重新运行密钥生成算法;
·
Figure FDA0002742106900000053
1)累加公钥:给定k个用户的公钥b1,...,bk生成CKKS型累加公钥
Figure FDA0002742106900000054
2)累加计算公钥:给定k个用户的计算公钥b′1,...,b′k生成CKKS型累加公钥
Figure FDA0002742106900000055
3)累加计算密钥部件生成:
生成用户i的密文集合刷新密钥
Figure FDA0002742106900000056
生成用户i生成转化密钥的部件
Figure FDA0002742106900000057
Figure FDA0002742106900000058
其中es←χerr,输出
Figure FDA0002742106900000059
输出移位密钥
Figure FDA00027421069000000510
共轭密钥
Figure FDA00027421069000000511
4)云端生成计算密钥
Figure FDA00027421069000000512
Figure FDA0002742106900000061
当系统的用户集合更新时,HDCMK系统不使用自举,而用累加的密钥转化过程实现密文对应的密钥集合的刷新,即将老集合的密文转化为新集合的密文,HDCMK.Enc(pk,m):c=CKKS.Encpk(m);
·HDCMK.Dec((sk1,...,skk),c):输入l层的密文c,输出m′=<c,sk1+...+skk>(modql)
当系统的用户集合更新时,HDCMK系统不使用自举,而用累加的密钥转化过程实现密文对应的密钥集合的刷新,即,将旧集合的密文转化为新集合的密文;
·
Figure FDA0002742106900000062
输入密文c′=(b′,a′),构造对应的累加转化密钥
Figure FDA0002742106900000063
输出
Figure FDA0002742106900000064
·同态运算:如果输入同态运算的密文对应的公钥不相同时,利用
Figure FDA0002742106900000065
将其转化到相同公钥,之后再进行同态运算;
-HDCMK.Add(ct,ct′).CKKS.Add(ct,ct′)
-HDCMK.CMult(a,ct).CKKS.CMult(a,ct)
Figure FDA0002742106900000066
Figure FDA0002742106900000067
CN202011153928.5A 2020-10-26 2020-10-26 密文长度固定的多密钥全同态加密方法 Active CN112543091B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011153928.5A CN112543091B (zh) 2020-10-26 2020-10-26 密文长度固定的多密钥全同态加密方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011153928.5A CN112543091B (zh) 2020-10-26 2020-10-26 密文长度固定的多密钥全同态加密方法

Publications (2)

Publication Number Publication Date
CN112543091A true CN112543091A (zh) 2021-03-23
CN112543091B CN112543091B (zh) 2022-10-14

Family

ID=75013555

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011153928.5A Active CN112543091B (zh) 2020-10-26 2020-10-26 密文长度固定的多密钥全同态加密方法

Country Status (1)

Country Link
CN (1) CN112543091B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113268707A (zh) * 2021-06-11 2021-08-17 中国电子科技集团公司第三十研究所 一种基于行编码的密文协方差矩阵计算方法
CN113901506A (zh) * 2021-12-07 2022-01-07 南京区盟链信息科技有限公司 一种支持密态下多方私有数据操作的后量子加密方法
WO2022243781A1 (en) * 2021-05-17 2022-11-24 International Business Machines Corporation In-memory computation in homomorphic encryption systems

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102546181A (zh) * 2012-01-09 2012-07-04 西安电子科技大学 基于密钥池的云存储加解密方法
CN104038339A (zh) * 2013-03-04 2014-09-10 唐键 使用多密码算法和多密钥对文件或通信报文进行加密的方法
CN105933102A (zh) * 2016-04-06 2016-09-07 重庆大学 利用隐秘矩阵构造的基于身份的全同态加密方法
US20180359079A1 (en) * 2016-12-13 2018-12-13 Heping HU Fully homomorphic encryption method based on modular operation
CN109412786A (zh) * 2018-11-14 2019-03-01 沈阳航空航天大学 一种基于同态加密的整数密文算术运算方法
CN110176983A (zh) * 2019-05-22 2019-08-27 西安电子科技大学 基于全同态加密的隐私保护关联规则挖掘方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102546181A (zh) * 2012-01-09 2012-07-04 西安电子科技大学 基于密钥池的云存储加解密方法
CN104038339A (zh) * 2013-03-04 2014-09-10 唐键 使用多密码算法和多密钥对文件或通信报文进行加密的方法
CN105933102A (zh) * 2016-04-06 2016-09-07 重庆大学 利用隐秘矩阵构造的基于身份的全同态加密方法
US20180359079A1 (en) * 2016-12-13 2018-12-13 Heping HU Fully homomorphic encryption method based on modular operation
CN109412786A (zh) * 2018-11-14 2019-03-01 沈阳航空航天大学 一种基于同态加密的整数密文算术运算方法
CN110176983A (zh) * 2019-05-22 2019-08-27 西安电子科技大学 基于全同态加密的隐私保护关联规则挖掘方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
KOK SEEN CHONG: "Multi-Key Homomorphic Encryption Create new Multiple Logic Gates and Arithmetic Circuit", 《2020 8TH INTERNATIONAL SYMPOSIUM ON DIGITAL FORENSICS AND SECURITY (ISDFS)》 *
NINGBO LI: "Efficient Multi-Key FHE With Short Extended", 《IEEE》 *
李宁波: "多密钥全同态加密研究", 《密码学报》 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022243781A1 (en) * 2021-05-17 2022-11-24 International Business Machines Corporation In-memory computation in homomorphic encryption systems
US11907380B2 (en) 2021-05-17 2024-02-20 International Business Machines Corporation In-memory computation in homomorphic encryption systems
CN113268707A (zh) * 2021-06-11 2021-08-17 中国电子科技集团公司第三十研究所 一种基于行编码的密文协方差矩阵计算方法
CN113268707B (zh) * 2021-06-11 2022-03-18 中国电子科技集团公司第三十研究所 一种基于行编码的密文协方差矩阵计算方法
CN113901506A (zh) * 2021-12-07 2022-01-07 南京区盟链信息科技有限公司 一种支持密态下多方私有数据操作的后量子加密方法
CN113901506B (zh) * 2021-12-07 2022-03-11 南京区盟链信息科技有限公司 一种支持密态下多方私有数据操作的后量子加密方法

Also Published As

Publication number Publication date
CN112543091B (zh) 2022-10-14

Similar Documents

Publication Publication Date Title
Martins et al. A survey on fully homomorphic encryption: An engineering perspective
CN112543091B (zh) 密文长度固定的多密钥全同态加密方法
CN109936435B (zh) 具有快速同态运算过程ntru型多密钥全同态加密方法
Melchor et al. Additively homomorphic encryption with d-operand multiplications
Shoup Sequences of games: a tool for taming complexity in security proofs
Gentry et al. Fully homomorphic encryption without squashing using depth-3 arithmetic circuits
Wang Lattice Ciphertext Policy Attribute-based Encryption in the Standard Model.
CN107864033B (zh) 一种自举型对称全同态加密方法
CN109889320B (zh) 一种bgv型多密钥全同态加密方法
Shen et al. Efficient leveled (multi) identity-based fully homomorphic encryption schemes
CN111342950A (zh) 一种具备定向解密功能的bgv型多密钥全同态加密方法
Lee et al. Two-input functional encryption for inner products from bilinear maps
Singh et al. Cryptanalysis of unidirectional proxy re-encryption scheme
CN117200972A (zh) 基于同态加密的明文与密文的矩阵乘法计算方法
Hosseini et al. Secure aggregation in federated learning via multiparty homomorphic encryption
Li Leveled certificateless fully homomorphic encryption schemes from learning with errors
Khalimov et al. Towards advance encryption based on a Generalized Suzuki 2-groups
Zhao et al. LSSS matrix-based attribute-based encryption on lattices
Zhou et al. Multi-key Fully Homomorphic Encryption Scheme with Compact Ciphertexts
Kim et al. An efficient KP-ABE with short ciphertexts in prime ordergroups under standard assumption
Asano et al. More efficient adaptively secure lattice-based IBE with equality test in the standard model
CN104601323B (zh) 基于bdd解决社会主义百万富翁问题的方法
Durcheva Semirings as building blocks in cryptography
Sadkhan et al. Hybrid Strategies for Choosing Suitable Cryptosystem Based on Game and Information Theories
CN113259107B (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