CN113541916A - 基于同态加密的密文处理方法和装置 - Google Patents
基于同态加密的密文处理方法和装置 Download PDFInfo
- Publication number
- CN113541916A CN113541916A CN202110257766.8A CN202110257766A CN113541916A CN 113541916 A CN113541916 A CN 113541916A CN 202110257766 A CN202110257766 A CN 202110257766A CN 113541916 A CN113541916 A CN 113541916A
- Authority
- CN
- China
- Prior art keywords
- polynomial
- samples
- reduction
- extracted
- 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.)
- Pending
Links
Images
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/008—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/11—Complex mathematical operations for solving equations, e.g. nonlinear equations, general mathematical optimization problems
-
- 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/3093—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving Lattices or polynomial equations, e.g. NTRU scheme
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Analysis (AREA)
- Algebra (AREA)
- Data Mining & Analysis (AREA)
- Computational Mathematics (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Operations Research (AREA)
- Computing Systems (AREA)
- Complex Calculations (AREA)
Abstract
一种基于同态加密的密文处理方法和装置。该方法包括:基于从用于自举密文的模归约提取的样本,确定与该模归约相对应的近似多项式;以及基于该近似多项式自举密文。
Description
相关申请的交叉引用
本申请要求2020年4月16日递交的美国临时申请No.63/010,812的优先权以及2020年10月22日在韩国知识产权局递交的韩国专利申请No.10-2020-0137640的优先权,它们的全部公开内容通过引用合并于此以用于所有目的。
技术领域
以下描述涉及一种用于基于同态加密来处理密文的方法和装置。
背景技术
全同态加密是一种加密方案,其允许对加密数据执行任意逻辑运算或数学运算。全同态加密方法维护数据处理的安全性。全同态加密使客户能够在保护隐私的同时获得许多服务。
发明内容
提供本发明内容以用简化形式介绍对下面在具体实施方式中进一步描述的构思的选择。本发明内容不意在标识所请求保护的主题的关键特征或基本特征,也不意在帮助确定所请求保护的主题的范围。
在一个总体方面,一种基于同态加密的密文处理方法包括:基于从用于自举密文的模归约提取的样本,确定与该模归约相对应的近似多项式;以及基于该近似多项式自举密文。
该确定可以包括:确定近似多项式的系数,使得从模归约提取的样本与近似多项式的值之间的当前差小于预定阈值。
该确定可以包括:验证从模归约提取的样本与近似多项式的值之间的当前差是否小于预定阈值;以及响应于该当前差大于或等于预定阈值,基于该当前差与在先前步骤中确定的差之间的比较,来增加样本数或似多项式的次数。
该确定可以包括:响应于该当前差与在先前步骤中确定的差之间的相似度小于预定阈值相似度,增加样本数;以及响应于该相似度大于或等于预定阈值相似度,增加近似多项式的次数。
可以基于样本与近似多项式的值之间的L2范数来确定样本与近似多项式的值之间的差。
该确定可以包括:确定包括奇数阶项的近似多项式。
该确定可以包括:确定使用切比雪夫多项式作为基础的近似多项式。
样本可以是从与模归约相对应的函数中绕参考点具有对称形状的分段连续间隔中提取的。
样本可以是从分段连续间隔中的由参考点分开的部分中提取的。
该自举可以包括:通过使用近似多项式同态地评估模归约来自举密文。
在另一个总体方面,一种基于同态加密的密文处理装置包括一个或多个处理器,其中,该一个或多个处理器被配置为:基于从用于自举密文的模归约提取的样本,确定与该模归约相对应的近似多项式;以及基于该近似多项式自举密文。
在另一个总体方面,一种方法包括:基于从用于自举密文的模归约提取的初始样本数,确定与该模归约相对应的初始近似多项式;计算初始近似多项式与模归约函数之间的误差;基于所述误差增加初始样本数和初始近似多项式的次数之一;基于所增加的样本数或所增加的初始近似多项式的次数,确定更新后的近似多项式;以及使用更新后的近似多项式同态地评估模归约。
计算误差可以包括:确定从模归约提取的初始样本数与初始近似多项式的值之间的差大于或等于阈值。
其他特征和方面将通过以下详细描述、附图和权利要求变得清楚明白。
附图说明
图1示出了用于处理基于同态加密而加密的密文的用户终端和服务器的操作示例。
图2示出了缩放模归约函数的示例。
图3示出了确定近似多项式的示例。
图4示出了使用所确定的近似多项式的自举示例。
图5示出了密文处理方法的示例。
图6示出了密文处理装置的示例。
在整个附图和详细描述中,除非另有描述或提供,否则相同的附图标记将被理解为指代相同的元件、特征和结构。附图可以不按比例绘制,并且为了清楚、说明和方便,可以扩大附图中元件的相对尺寸、比例和描绘。
具体实施方式
以下详细的结构或功能描述仅作为示例提供,并且可以对示例进行各种变更和修改。因此,示例不被解释为限于本公开,并且应被理解为包括本公开的技术范围内的所有改变、等同和替换。
可以在本文中使用诸如第一、第二之类的术语来描述组件。这些术语中的每一个不用于定义对应组件的本质、顺序或次序,而是仅用于区分对应组件与其他组件。例如,第一组件可以被称为第二组件,并且类似地,第二组件也可以被称为第一组件。
应该指出的是,如果描述一个组件“连接”、“耦接”或“接合”到另一组件,则可以在第一组件和第二组件之间“连接”、“耦接”和“接合”第三组件,尽管第一组件可以直接连接、耦接或接合到第二组件。
单数形式“一”、“一个”和“所述”意在还包括复数形式,除非上下文明确地给出相反的指示。还将理解,术语“包括”、“具有”和/或“包含”在本文中使用时表示存在所陈述的特征、整数、步骤、操作、元件和/或组件,但并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或其组合。
除非另外定义,否则本文使用的所有术语(包括技术和科学术语)具有如本公开所属领域的普通技术人员通常所理解的相同意义。术语(诸如在常用词典中定义的术语)将被解释为其含义与在相关技术的上下文中的含义一致,而不应将其解释为理想的或过于正式的含义,除非本文明确如此定义。
在下文中,将参考附图来详细描述示例。以下特定结构或功能描述是示例性的以仅仅描述示例,并且示例的范围不限于本说明书中提供的描述。本领域的普通技术人员可以对其做出各种改变和修改。附图中类似的附图标记表示类似的要素,并且在本文中将省略已知的功能或配置。
图1示出了用于处理基于同态加密而加密的密文的用户终端和服务器的操作示例。
参照图1,示出了用户终端110和服务器120。用户终端110是由用户控制的设备,并且可以包括例如各种计算设备(诸如智能电话、平板电脑、膝上型计算机和个人计算机)、各种可穿戴设备(诸如智能手表和智能眼镜)、各种家用电器(诸如智能扬声器、智能TV和智能冰箱)、智能车辆、智能亭、物联网(IoT)没备、无人机、机器人等。用户终端110可以基于同态加密来加密所存储的数据,并向服务器120发送加密后的数据。用户终端110可以向服务器120发送数据,以使用服务器120提供的各种服务。在该示例中,可以对要发送的数据进行加密以保护其中的信息。为了便于服务器120处理加密后的数据,用户终端110可以基于同态加密来对数据进行加密。
同态加密可以是允许对加密后的数据进行计算而无需解密的加密方案。同态加密可以处理加密后的数据而不解密,并因此,可以适用于需要隐私保护的数据大规模应用(data-massive application)。例如,同态加密可以是Cheon-Kim-Kim-Song(CKKS)方案,稍后将对其进行详细描述。在此,未加密的数据可以被称为明文,而加密后的数据可以被称为密文。
同态加密包含噪声,并且随着对密文执行操作,噪声级可能增加。为了防止噪声淹没数据,可以执行噪声处理,即,自举(bootstrapping)以刷新噪声。通过自举,可以固定参数大小和计算开销,而与电路深度无关。
在没有自举的情况下,通过同态加密进行加密的密文具有最大的可能运算次数,并且最大的可能运算次数可以由l级(0<l≤L)表示。自举可以是通过刷新不能对其进一步执行操作的0级密文来生成具有相同消息的L级密文的过程。
服务器120可以通过自举对密文执行各种操作。此时,不需要对密文进行解密,因此不会侵犯隐私。在示例中,由服务器120操作的密文可以被发送回用户终端110,并且用户终端110可以向用户提供通过对密文进行解密而获得的数据,或者将该数据用于后续操作。
模归约的同态评估在自举中很重要。仅算术运算可以被评估为同态。由于模归约不是算术运算,因此需要用于模归约的多项式近似。在此,同态评估也可以被表示为获得同态值或同态地执行。
在此,找到用于模归约的近似多项式的问题可以代替直接计算最优解的L2范数最小化问题。因此,可以容易地克服由于使用三角函数(例如,正弦函数等)的多项式近似而导致的局限性。可以应用离散优化方法来获得模归约的近似多项式。通过求解修正离散化问题,可以减小用于模归约的近似多项式的次数,同时实现低误差范围。此外,可以减少自举的级损失,并且可以以有效的方式确定转换问题的解而无需迭代。
图2示出了缩放模归约函数的示例。
在此,向量以粗体字表示(例如,x),并且每个向量可以是列向量。矩阵由粗体大写字母表示(例如,A)。两个向量的内积由<·,·>或简单地由·表示。矩阵乘法由·表示,或者在非必需时可以省略。向量的Lp范数由||x||p=(∑ix[i]p)-p表示。在此,x[i]表示向量x的第i个元素。类似地,A[i;j]是矩阵A在第i行和第j列中的元素。x←D表示根据分布D的采样x。当使用集合代替分布时,意味着x是在集合元素之间随机地均匀采样的。
切比雪夫插值是一种使用切比雪夫多项式作为插值多项式基础的多项式插值方法。第一类切比雪夫多项式,简而言之,切比雪夫多项式,由如下递归关系定义。
[等式1]
T0(x)=1
T1(x)=x
Tn+1(x)=2xTn(x)-Tn-1(x)
在切比雪夫插值中,n次多项式pn(x)可以被表示为切比雪夫多项式之和,其形式如下。
[等式2]
其中,pn(x)是通过内插n+1个点{x0,x1,…,xn}所得出的f(x)的近似多项式。
[等式3]
选择点{x0,x1,…,xn}是实现良好近似的关键。
CKKS方案及其剩余数系(RNS)变体可以对具有误差的实数数据提供同态运算。这可以通过正则嵌入及其逆来执行。到σ中的正则嵌入可以是在ΦM(X)的根处的评估值a的向量。π可以表示从到的自然投影。在此,可以是整数模M乘法群。在下文中,将描述编码和解码。
Ecd(z;Δ)。对(N/2)维向量z的编码可以返回以下内容。
[等式4]
可以如下定义三种分布。对于实数γ>0,表示向量在中的分布,其条目可以独立于方差γ2的离散高斯分布而被采样。是符号为{0,±1}N的有符号二进制向量的集合,其中汉明权重为h,并且表示从±1起的向量分布(其中,对于每个1-ρ,概率为ρ/2)并且概率为零{0,±1}N。可以假设存在l级密文(0<l≤L)。在此,l级表示在自举之前的最大的可能乘法数量。为了便于描述,基数p>0和模数q可以是固定的,并且可以设置ql=pl·q。基整数p可以是用于缩放的基数Δ。
可以使用以下的密钥生成、加密、解密和相应的同态运算来定义CKKS方案。
KeyGen(1λ)。给定安全参数λ、为2的幂的M、整数h、整数P、实数值γ和最大密文模数Q,使得可以确定Q≥qL,并可以如下执行采样。
[等式5]
其中,b=-as+e(mod qL)。
除上述运算外,密钥切换技术还可以用于提供各种运算,例如,复共轭和旋转。
本文支持的基本运算可以类似地应用于CKKS的完全RNS变体。因此,本文描述的方法可以应用于CKKS方案及其所有变体。
CKKS方案的自举可以包括以下四个步骤:模提升(ModRaise),将多项式系数放入明文时隙(CoeffToSlot),评估近似模归约(EvalMod),以及切换回系数表示(SlotToCoeff)。
ModRaise可以是将密文的模数改变为更大值的过程。可以假设ct是满足m(X)=[<ct,sk>]q的密文。t(X)=<ct,sk>(mod XN+1)是对于具有边界的||I(X)||∞<K的形式t(X)=qI(X)+m(X)之一,其中,K可以由界定。以下过程旨在计算t(X)系数的余数,即,通过将t除以q同态地获得的余数[t]q。由于模归约不是算术运算,因此关键点在于找到近似模归约的多项式。消息的大小可以控制,因此,对于较小的m<∈·q,可以确保∈。
关于CoeffToSlot,可以在明文时隙中执行近似同态运算。因此,为了处理t(X),可能需要将多项式系数放在明文时隙中。在CoeffToSlot步骤中,可以使用矩阵乘法、利用单位根的关系的类FFT运算或两者的混合方法来同态地执行Ecd。然后,可以获得对和(或其组合进行加密的两个密文。
在EvalMod步骤中,可以从单指令多数据(SIMD)的角度考虑每个时隙的元素。换句话说,t=qI+m可以表示时隙中的元素。在EvalMod步骤中,可以对[t]q执行近似评估。
SlotToCoeff可以是CoeffToSlot的逆运算。
如上所述,CKKS方案的自举的关键部分是模归约的同态评估。
如图2所示,通过将模归约函数缩放1/q,可以将[t]q定义为t-k,其中t∈Ik。在此,Ik=[k-∈,k+∈],并且k可以是满足|k|<K的整数。另外,∈可以表示消息多项式的最大系数与密文模数之比,即,[t]q的域可以被给定为换句话说,其中t=q·I+m。
在下文中,将描述直接找到[t]q的近似多项式po(t)而不使用诸如正弦或余弦函数之类的中间近似的方法。该方法可以使用最小二乘估计或L2范数优化。目标可以是找到系数集合c=(c0,c1,…,cn)以使||[t]q-p(t)||∞最小化。在此,n次多项式可以由定义。这种多项式可以被称为极小极大多项式。p(t)可以等效于c和T=(1,t1,…,tn)的内积。
在此,ti′可以在每个Ik中的间隔δ<<∈处(即,k-∈,k-∈+δ,…,k+∈-δ,k+∈)被均匀采样。在Ik中有个样本,因此,样本总数可以是使用ti的Ntot个样本,可以确定ti的幂的向量,即,Ti=(1,ti,t2 i,…,tn i),其中1≤i≤Ntot。
换句话说,可以分别从图2所示的模归约函数的分段连续间隔中提取Ik=[k-∈,k+∈]个样本。如稍后所述,在模归约函数中,每个分段连续间隔Ik=[k-∈,k+∈]可以具有绕参考点(例如,-2、-1、0、1或2)的对称形状。可以仅使用从每个分段连续间隔Ik=[k-∈,k+∈]中由参考点分开的部分(例如,模归约函数的值大于0或小于0的部分)所提取的样本来确定近似多项式。
将要被最小化的目标函数表示如下。
[等式6]
此处,T是满足的Ntot×(n+1)矩阵,并且y是满足y[i]=[ti]q的向量。代替L无穷范数,可以使用L2范数将上述目标函数替换为损失函数。然后,可以有效地计算用于L2范数最小化的最优解。Lc可以表示具有系数c的L2范数。然后,可以找到最小化以下项的c。
[等式7]
Lc=||y-T·c||2
=(y-T·c)T(y-T·c)
不幸的是,T的条目可能具有非常大的值或接近零的非常小的值,因为多项式的次数n很高。
因此,切比雪夫多项式可以被用作多项式的基础而不是幂基础。换句话说,可以使用条目重新定义Ntot×(n+1)矩阵T。由于 可以被满足。因此,T的条目可以均匀分布在[-1,1]中,而不是较大的值或0附近的较小值。
然后,最佳系数向量c*可以如下给出。
[等式8]
c*=arg mincLc
由于损失是凸函数,因此最优解c*可以在零梯度处。损失函数Lc的梯度可以如下给出。
[等式9]
将梯度设置为零可以产生如下最佳系数。
[等式10]
综上所述,模归约函数可以如下近似。
[等式11]
对于t∈Ik,可以将近似误差定义为绝对值,如下所示。
[等式12]
E(t)=(t-k)-po(t)
可以优化对于离散点ti的|E(ti)|。
对于较小间隔|E(t)|内的t,可以考虑[ti,ti+δ)。然后,可以确定|E(t)|≤|E(ti)|+|E(t)-E(ti)|,并且|E(t)-E(ti)|可以被如下界定。
[等式13]
因此,可以得出以下等式。
[等式14]
总之,通过精细采样,采样点的最大误差可以接近于近似误差的全局最大值。此外,由于目标函数的域在CKKS方案中是有误差的实数,因此处理采样值可能是合理的。
L无穷范数可以由L2范数界定如下。
[等式15]
因此,最小化L2范数可以降低L无穷范数。由于这不是严格界定,因此可能存在使用更高范数进行优化的空间。然而,L2范数的解可以很清楚并且可以轻松地计算。尽管很难找到模归约函数的极小极大多项式,但是可以以非常有效的方式找到极小极大多项式的近似最优解,而无需通过L2范数优化问题进行迭代。
考虑到Ⅳtot>n,矩阵求逆(TTT)-1可能是主要计算。因此,当使用Coppersmith-Winograd算法时,时间复杂度可以为这是完全可以接受的,因为c*被预先计算并被存储为稍后将描述的小步大步算法(baby-step giant-step algorithm)或帕特森-斯托克迈(Paterson-Stockmever)算法的系数。
可以以切比雪夫多项式作为基础对近似多项式进行优化。因此,小步大步算法和修正的帕特森-斯托克迈算法可以应用于所提出的多项式的有效同态评估。使用小步大步算法,可以用最多2l+2m-l+m-l-3个非标量乘法来同态地评估po(t),同时消耗m深度。在此,2m可以大于次数n。
在小步大步算法的小步中,可以评估2l-1次多项式,并且最多可以有2m/2l个多项式。然而,当2m>n+1时,可能存在系数全为零的多项式。通过忽略它们,在小步中可能存在个最多2l-1次的多项式。换句话说,由于2m与n+1不同,在小步大步算法中可能存在个对应于的多项式。因此,可以忽略这些零多项式,并且根据递归结构,可以在大步中忽略恰好个非标量乘法。因此,通过使用2m′>n≥2m′-1,可以获得N(n)=N(n-2m′-1)+N(2m′-1-1)+1,并且可以产生
当近似多项式的次数为2n-1和2n时,最大近似误差可以彼此相似。这是因为近似的目标,模归约函数[t]q,是奇函数。以下命题示出了奇函数的极小极大多项式是奇函数。
命题:如果f(t)是奇函数,则n次多项式之间的最佳近似也是奇的。
Pm表示最大m次多项式函数的子空间,并且fm(t)表示在最高范数中最接近f(t)的Pm的唯一元素。
[等式16]
在所提出的方法的多项式系数中,偶数阶项的系数可以具有在po(t)中接近0的非常小的值。这证明了所提出的方法在极小极大多项式附近找到了多项式,因为模归约函数是奇函数。偶数项可能是找到近似多项式的障碍。因此,可以通过仅使用奇数阶切比雪夫多项式进行近似来生成更精确的近似多项式。
所提出的方法的优点之一是可以利用奇函数的特性。利用奇函数关于原点对称的事实,可以仅使用值大于0的样本(或值小于0的样本)求解L2范数最小化。因此,矩阵T的行数和列数可以分别减半。因此,矩阵求逆的时间复杂度可以减小到约1/8。此外,在同态评估期间,可以忽略一些对偶数阶项的运算。
当使用所提出的方法时,可以选择更合适的参数以减少自举期间的级损失。如上所述,如果所提出的方法相对优于先前的最佳方法,则所提出的方法可以找到更准确的近似多项式。在下文中,将描述基于这些特性选择参数的方法。
对于噪声估计,可以使用以下引理。
[等式17]
[等式18]
在上面的引理2中,自举误差可以与消息的缩放因子Δ无关,并由界定。因此,明文精度可以与logΔ成比例,其中,Δ可以确定|m|。在上述方法中,自举的级损失可以近似地与成比例,而不是与成比例。这是所提出的方法的优点之一,其可以克服现有方法中的局限性,并且由于需要更精确的计算而获得更多的效果。
诸如时隙数量之类的各种因素可能影响明文精度。因此,可以使用数值方法获得明文精度并将其用于确定参数。当使用所提出的方法时,可以使用相对较小的q,因此在一些情况下,在自举后可能留下更多级。
通过以上描述,可以确定用于自举的模归约函数的近似多项式。可以将找到用于模归约的近似多项式的问题转换为L2范数最小化问题,其解可以被直接找到,而无需诸如正弦函数之类的中间函数。
由于所提出的方法中的近似误差不受正弦函数的影响,因此可以高精度地近似模归约。使用切比雪夫多项式作为基础,即使使用次数较低的多项式,也可以实现较低的近似误差。此外,所提出的多项式可以利用小步大步算法和帕特森-斯托克迈算法。可以了解到,基于小步大步算法的非标量乘法、标量乘法和加法的数量,所提出的多项式减少了同态近似模归约所需的运算次数。
所提出的方法可以提供较少误差的自举,尤其是在选择较大的缩放因子时。因此,可以扩展参数的选择。最重要的是,所提出的方法对于需要精确近似的应用可能是必不可少的。相反,所提出的方法不具有例如下限,因此可以选择更好的参数。因此,当使用所提出的方法时,自举可以消耗较低级。
图3示出了确定近似多项式的示例。
在操作301中,可以确定样本数Ⅳ、近似多项式的次数n和目标误差etarget。例如,样本数N可以被确定为16。然而,示例不限于此。初始样本数可以根据情况以各种方式设置。
在操作302中,可以从每个间隔Ik提取N个样本t1,…,tN(2K-1)。此处,Ik=[k-∈,k+∈]。
在操作304中,可以针对各个样本确定最佳系数向量c*,其使模归约函数值[ti]q和n次多项式的值p(ti)=∑i∈[0,n]c[k]Tk(ti)之间的差的L2范数最小化。
在操作305中,可以使用所确定的最佳系数向量c*来确定近似多项式pn(t)。
在操作306中,可以计算所确定的近似多项式pn(t)和模归约函数[t]q之间的误差error。
在操作307中,可以确定所计算出的误差error是否小于目标误差etarget。如果所计算出的误差error大于或等于目标误差etarget,则可以执行操作308。
在操作308中,确定所计算出的误差error和在先前步骤中计算出的误差之间的相似度是否小于预定阈值相似度。如果相似度小于预定阈值相似度,即,如果在当前步骤计算出的误差error减小到在先前步骤中计算出的误差以下,并且因此它们彼此不相似,则可以执行操作309以增加样本数N。相反,如果相似度大于或等于预定阈值相似度,即,如果在当前步骤中计算出的误差error与在先前步骤中计算出的误差相似,则可以执行操作310以增加近似多项式的次数n。这样,由于在样本较少的情况下近似多项式可能无法很好地近似模归约函数,因此需要增加样本数Ⅳ。即使增加样本数也无法显著降低误差可能表明近似多项式的次数不足。因此,可以增加次数n。如上所述,由于近似多项式可以包括奇数阶项,因此次数n可以按2增加。
如果在操作307中确定所计算出的误差error小于目标误差etarget,则可以执行操作311以最终确定并返回近似多项式pn(t)。
由使用上述方法找到的系数所表示的近似多项式可以通过各种方法用于全同态加密中的自举,所述各种方法包括用于减少运算深度或运算次数的操作,例如,小步大步算法或帕特森-斯托克迈算法。
在一些示例中,为了易于操作,仅一部分次数的切比雪夫多项式可以被用作近似多项式。此外,除了切比雪夫多项式之外,勒让德(Legendre)多项式或x的幂也可以被用作基础。
图4示出了使用所确定的近似多项式的自举示例。
在操作410中,可以识别在自举过程期间需要模运算的密文。在操作420中,可以同态地评估在图3的示例中确定的用于模归约函数的近似多项式p(t)。在操作430中,可以获得模运算的近似结果。
图5示出了密文处理方法的示例。
参照图5,示出了由设置在密文处理装置中的处理器执行的密文处理方法。
在操作510中,密文处理装置基于从模归约提取的样本来确定与用于自举密文的模归约相对应的近似多项式。密文处理装置可以确定近似多项式的系数,使得样本与近似多项式的值之间的差小于预定阈值。
密文处理装置可以验证样本与近似多项式的值之间的差是否小于预定阈值,并且响应于该差大于或等于预定阈值,基于该差与在先前步骤中确定的差之间的比较,来增加样本数或近似多项式的次数。例如,密文处理装置可以响应于该差与在先前步骤中确定的差之间的相似度小于预定阈值相似度而增加样本数,并且响应于该相似度大于或等于预定阈值相似度而增加近似多项式的次数。可以基于样本与近似多项式的值之间的L2范数来确定样本与近似多项式的值之间的差。
密文处理装置可以确定包括奇数阶项的近似多项式。密文处理装置可以确定使用切比雪夫多项式作为基础的近似多项式。
在操作520中,密文处理装置基于近似多项式来自举密文。密文处理装置可以通过使用近似多项式同态地评估模归约来自举密文。
参考图1至图4提供的描述可以应用于图5所示的操作,因此将省略进一步的详细描述。
图6示出了密文处理装置的示例。
参考图6,密文处理装置600包括存储器610和处理器620。存储器610和处理器620可以通过总线630彼此通信。
存储器610可以包括计算机可读指令。当处理器620执行存储在存储器610中的指令时,处理器620可以执行上述操作。存储器610可以是易失性存储器或非易失性存储器。
处理器620是执行指令或程序或控制密文处理装置600的设备,并且可以包括例如中央处理单元(CPU)、图形处理单元(GPU)等。处理器620可以基于从模归约提取的样本来确定与用于自举密文的模归约相对应的近似多项式,并基于该近似多项式自举密文。
密文处理装置600可以在全同态加密期间用于自举密文的过程中,在该过程中对包括实数或复数的明文进行加密。如果由密文处理装置600确定的近似多项式的次数降低,则可以减少运算次数。因此,可以有效地减少密文处理操作所需的资源。
另外,密文处理装置600可以应用于加密/安全技术领域,例如,云计算、信息保护机器学习、所有其他同态加密应用、网络安全、系统(终端)安全、密码/认证、安全管理、内容/信息泄漏防止安全、认证服务等。
另外,密文处理装置600可以处理上述操作。
可以使用硬件组件、软件组件和/或其组合来实现本文描述的单元。处理设备可以使用一个或多个通用或专用计算机来实现,通用或专用计算机例如是处理器、控制器和算数逻辑单元(ALU)、DSP、微计算机、FPGA、可编程逻辑单元(PLU)、微处理器或能够以定义的方式响应和执行指令的任何其他设备。处理设备可以运行操作系统(OS)以及在OS上运行的一个或多个软件应用。处理设备还可以响应于软件的执行而访问、存储、操控、处理和创建数据。出于简便的目的,以单数描述处理设备;然而,本领域技术人员应明白,处理设备可以包括多个处理元件和多种类型的处理元件。例如,处理设备可以包括多个处理器或者处理器和控制器。另外,不同的处理配置也是可能的,例如并行处理器。
软件可以包括计算机程序、代码段、指令或其某种组合,以独立地或者统一地指示或配置处理设备按照需要操作。软件和数据可以永久地或临时地体现在任何类型的机器、组件、物理或虚拟设备、计算机存储介质或设备中,或体现在能够向处理设备提供指令或数据或由处理设备解释的传播信号波中。软件还可以分布在网络耦接的计算机系统上,使得以分布式的方式存储和执行软件。软件和数据可以由一个或多个非暂时性计算机可读记录介质存储。
可以将根据上述示例的方法记录在包括用于实现上述示例的各种操作的程序指令在内的非暂时性计算机可读介质中。介质还可以包括单独的或与程序指令组合的数据文件、数据结构等。记录在介质上的程序指令可以是出于示例目的而专门设计和构造的程序指令,或者它们可以是计算机软件领域的技术人员公知并可用的那种程序指令。非暂时性计算机可读介质的示例包括:诸如硬盘、软盘和磁带的磁介质;诸如CD-ROM盘、DVD和/或蓝光盘的光学介质;诸如光盘的磁光介质;以及专门配置用于存储和执行程序指令的硬件设备,例如,只读存储器(ROM)、随机存取存储器(RAM)、闪存(例如,USB闪存驱动器、存储卡、记忆棒等)等。程序指令的示例包括诸如由编译器产生的机器代码、以及包含可以由计算机使用解释器执行的更高级代码的文件。以上所述的设备可以被配置为用作一个或多个软件模块,以便执行上述示例的操作,反之亦然。
上面已经描述了多个示例。然而,应当理解的是,可以对这些示例进行各种修改。例如,如果所描述的技术以不同的顺序执行和/或如果所描述的系统、架构、设备或电路中的组件以不同的方式组合和/或被其它组件或其等同物替换或补充,则可以实现合适的结果。
Claims (22)
1.一种用于处理密文的方法,包括:
基于从用于自举密文的模归约提取的样本,确定与所述模归约相对应的近似多项式;以及
基于所述近似多项式自举密文。
2.根据权利要求1所述的方法,其中,所述确定包括:确定所述近似多项式的系数,使得从所述模归约提取的样本与所述近似多项式的值之间的当前差小于预定阈值。
3.根据权利要求2所述的方法,其中,所述确定包括:
验证从所述模归约提取的样本与所述近似多项式的值之间的当前差是否小于所述预定阈值;以及
响应于所述当前差大于或等于所述预定阈值,基于所述当前差与在先前步骤中确定的差之间的比较,来增加样本数或所述近似多项式的次数。
4.根据权利要求3所述的方法,其中,所述确定包括:
响应于所述当前差与在所述先前步骤中确定的差之间的相似度小于预定阈值相似度,增加所述样本数;以及
响应于所述相似度大于或等于所述预定阈值相似度,增加所述近似多项式的次数。
5.根据权利要求2所述的方法,其中,基于从所述模归约提取的样本与所述近似多项式的值之间的L2范数来确定从所述模归约提取的样本与所述近似多项式的值之间的差。
6.根据权利要求1所述的方法,其中,所述确定包括:确定包括奇数阶项的近似多项式。
7.根据权利要求1所述的方法,其中,所述确定包括:确定使用切比雪夫多项式作为基础的近似多项式。
8.根据权利要求1所述的方法,其中,所述样本是从与所述模归约相对应的函数中绕参考点具有对称形状的分段连续间隔中提取的。
9.根据权利要求8所述的方法,其中,所述样本是从所述分段连续间隔中的由所述参考点分开的部分中提取的。
10.根据权利要求1所述的方法,其中,所述自举包括:通过使用所述近似多项式同态地评估所述模归约来自举密文。
11.一种存储指令的非暂时性计算机可读存储介质,所述指令在由处理器执行时使所述处理器执行权利要求1所述的方法。
12.一种用于处理密文的装置,所述装置包括:
一个或多个处理器;
其中,所述一个或多个处理器被配置为:
基于从用于自举密文的模归约提取的样本,确定与所述模归约相对应的近似多项式,并且
基于所述近似多项式自举密文。
13.根据权利要求12所述的装置,其中,所述一个或多个处理器被配置为确定所述近似多项式的系数,使得从所述模归约提取的样本与所述近似多项式的值之间的当前差小于预定阈值。
14.根据权利要求13所述的装置,其中,所述一个或多个处理器被配置为:
验证从所述模归约提取的样本与所述近似多项式的值之间的当前差是否小于所述预定阈值;以及
响应于所述当前差大于或等于所述预定阈值,基于所述当前差与在先前步骤中确定的差之间的比较,来增加样本数或所述近似多项式的次数。
15.根据权利要求14所述的装置,其中,所述一个或多个处理器被配置为:
响应于所述当前差与在所述先前步骤中确定的差之间的相似度小于预定阈值相似度,增加所述样本数;以及
响应于所述相似度大于或等于所述预定阈值相似度,增加所述近似多项式的次数。
16.根据权利要求13所述的装置,其中,从所述模归约提取的样本与所述近似多项式的值之间的差是基于所述样本与所述近似多项式的值之间的L2范数确定的。
17.根据权利要求12所述的装置,其中,所述一个或多个处理器被配置为确定包括奇数阶项的近似多项式。
18.根据权利要求12所述的装置,其中,所述一个或多个处理器被配置为确定使用切比雪夫多项式作为基础的近似多项式。
19.根据权利要求12所述的装置,其中,所述样本是从与所述模归约相对应的函数中绕参考点具有对称形状的分段连续间隔中提取的。
20.根据权利要求19所述的装置,其中,所述样本是从所述分段连续间隔中的由所述参考点分开的部分中提取的。
21.一种用于处理密文的方法,包括:
基于从用于自举密文的模归约提取的初始样本数,确定与所述模归约相对应的初始近似多项式;
计算所述初始近似多项式与所述模归约的函数之间的误差;
基于所述误差增加所述初始样本数和所述初始近似多项式的次数之一;
基于所增加的样本数或所增加的所述初始近似多项式的次数,确定更新后的近似多项式;以及
使用所述更新后的近似多项式同态地评估所述模归约。
22.根据权利要求21所述的方法,其中,计算所述误差包括:确定从所述模归约提取的所述初始样本数与所述初始近似多项式的值之间的差大于或等于阈值。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202063010812P | 2020-04-16 | 2020-04-16 | |
US63/010,812 | 2020-04-16 | ||
KR10-2020-0137640 | 2020-10-22 | ||
KR1020200137640A KR20210128313A (ko) | 2020-04-16 | 2020-10-22 | 동형 암호 기반 암호문 처리 방법 및 장치 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113541916A true CN113541916A (zh) | 2021-10-22 |
Family
ID=74947205
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110257766.8A Pending CN113541916A (zh) | 2020-04-16 | 2021-03-09 | 基于同态加密的密文处理方法和装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11546134B2 (zh) |
EP (1) | EP3896895B1 (zh) |
CN (1) | CN113541916A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113965313A (zh) * | 2021-12-15 | 2022-01-21 | 北京百度网讯科技有限公司 | 基于同态加密的模型训练方法、装置、设备以及存储介质 |
CN116776359A (zh) * | 2023-08-23 | 2023-09-19 | 北京电子科技学院 | 一种基于全同态加密的密文同态比较方法和装置 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115426206B (zh) * | 2022-11-07 | 2023-03-24 | 中邮消费金融有限公司 | 一种基于同态加密技术的图反欺诈能力赋能的方法及系统 |
Family Cites Families (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8271223B2 (en) * | 2006-11-22 | 2012-09-18 | Parkervision, Inc. | Multi-dimensional error definition, error measurement, error analysis, error function generation, error information optimization, and error correction for communications systems |
EP2667539A1 (en) * | 2012-05-21 | 2013-11-27 | Koninklijke Philips N.V. | Key sharing methods, device and system for configuration thereof. |
KR101608515B1 (ko) | 2013-10-14 | 2016-04-01 | 서울대학교기술지주 주식회사 | 동형 암호화 알고리즘과 공개키 암호화 알고리즘을 이용하여, 암호화 데이터를 연산하는 방법 및 이를 이용한 서버 |
KR101618941B1 (ko) | 2014-01-09 | 2016-05-09 | 서울대학교산학협력단 | 동형 암호 알고리즘과 페어링 기반 암호 알고리즘을 이용하여, 암호화 데이터를 연산하는 방법 및 이를 이용한 서버 |
KR102251697B1 (ko) | 2014-04-23 | 2021-05-14 | 삼성전자주식회사 | 암호화 장치, 암호화 방법 및 컴퓨터 판독가능 기록매체 |
KR101600016B1 (ko) | 2014-12-10 | 2016-03-15 | 서울대학교기술지주 주식회사 | 동형 암호화 알고리즘을 이용한 암호화 방법 및 이를 수행하는 컴퓨팅 장치 |
US10333696B2 (en) | 2015-01-12 | 2019-06-25 | X-Prime, Inc. | Systems and methods for implementing an efficient, scalable homomorphic transformation of encrypted data with minimal data expansion and improved processing efficiency |
CN106160995B (zh) | 2015-04-21 | 2019-04-16 | 郑珂威 | 基于系数映射变换的多项式完全同态加密方法及系统 |
US9742556B2 (en) * | 2015-08-25 | 2017-08-22 | International Business Machines Corporation | Comparison and search operations of encrypted data |
KR101971215B1 (ko) | 2016-06-17 | 2019-04-22 | 서울대학교산학협력단 | 유효 숫자 연산을 지원하는 동형 암호문의 생성 방법 및 그러한 방법에 의해서 생성된 동형 암호문에 대한 유효 숫자 연산 방법 |
KR101861089B1 (ko) | 2016-07-28 | 2018-05-25 | 서울대학교산학협력단 | 근사 복소수 연산을 지원하는 복수 개의 메시지의 동형 암호화 방법 |
KR101919940B1 (ko) | 2017-02-08 | 2018-11-19 | 서울대학교산학협력단 | 완전 동형 암호 방법에 의한 동적 데이터의 처리 방법 |
US20190007196A1 (en) * | 2017-06-28 | 2019-01-03 | Qatar University | Method and system for privacy preserving computation in cloud using fully homomorphic encryption |
US10728017B2 (en) | 2017-11-03 | 2020-07-28 | International Business Machines Corporation | Performing vector comparison operations in fully homomorphic encryption |
KR101965628B1 (ko) | 2017-12-15 | 2019-04-04 | 서울대학교산학협력단 | 동형 암호화를 수행하는 단말 장치와 그 암호문을 처리하는 서버 장치 및 그 방법들 |
KR102040106B1 (ko) | 2018-10-29 | 2019-11-27 | 주식회사 크립토랩 | 실수 평문에 대한 동형 암호화 방법 |
US11032061B2 (en) * | 2018-04-27 | 2021-06-08 | Microsoft Technology Licensing, Llc | Enabling constant plaintext space in bootstrapping in fully homomorphic encryption |
US11374736B2 (en) | 2018-06-20 | 2022-06-28 | Clemson University | System and method for homomorphic encryption |
US11087223B2 (en) | 2018-07-11 | 2021-08-10 | International Business Machines Corporation | Learning and inferring insights from encrypted data |
KR102040120B1 (ko) * | 2018-07-27 | 2019-11-05 | 주식회사 크립토랩 | 근사 암호화된 암호문에 대한 연산을 수행하는 장치 및 방법 |
US11177935B2 (en) | 2018-08-31 | 2021-11-16 | Microsoft Technology Licensing, Llc | Homomorphic evaluation of tensor programs |
-
2021
- 2021-02-10 US US17/172,643 patent/US11546134B2/en active Active
- 2021-03-09 CN CN202110257766.8A patent/CN113541916A/zh active Pending
- 2021-03-17 EP EP21163199.9A patent/EP3896895B1/en active Active
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113965313A (zh) * | 2021-12-15 | 2022-01-21 | 北京百度网讯科技有限公司 | 基于同态加密的模型训练方法、装置、设备以及存储介质 |
CN116776359A (zh) * | 2023-08-23 | 2023-09-19 | 北京电子科技学院 | 一种基于全同态加密的密文同态比较方法和装置 |
CN116776359B (zh) * | 2023-08-23 | 2023-11-03 | 北京电子科技学院 | 一种基于全同态加密的密文同态比较方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
EP3896895B1 (en) | 2023-05-03 |
EP3896895A1 (en) | 2021-10-20 |
US11546134B2 (en) | 2023-01-03 |
US20210328766A1 (en) | 2021-10-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Al Badawi et al. | Implementation and performance evaluation of RNS variants of the BFV homomorphic encryption scheme | |
CN113541916A (zh) | 基于同态加密的密文处理方法和装置 | |
US10467389B2 (en) | Secret shared random access machine | |
EP3396894B1 (en) | Apparatus and method for performing operation being secure against side channel attack | |
JP6534778B2 (ja) | 秘密計算システム、秘密計算装置、秘密計算方法、およびプログラム | |
US11902432B2 (en) | System and method to optimize generation of coprime numbers in cryptographic applications | |
CN113839781A (zh) | 用于对受保护的签名操作和密钥交换操作的侧信道攻击的对策 | |
Shahbazi et al. | Area and power efficient post-quantum cryptosystem for IoT resource-constrained devices | |
Krämer et al. | Fault attacks on UOV and rainbow | |
Jalali et al. | ARMv8 SIKE: Optimized supersingular isogeny key encapsulation on ARMv8 processors | |
Moon et al. | An efficient encrypted floating-point representation using HEAAN and TFHE | |
US20230254115A1 (en) | Protection of transformations by intermediate randomization in cryptographic operations | |
Chen et al. | Integer arithmetic over ciphertext and homomorphic data aggregation | |
WO2018008547A1 (ja) | 秘密計算システム、秘密計算装置、秘密計算方法、およびプログラム | |
CN117155572A (zh) | 一种基于gpu并行实现密码技术中大整数乘法的方法 | |
US11985221B2 (en) | Efficient masking of secure data in ladder-type cryptographic computations | |
KR20210128313A (ko) | 동형 암호 기반 암호문 처리 방법 및 장치 | |
Bardis | Secure, green implementation of modular arithmetic operations for IoT and cloud applications | |
EP3396893B1 (en) | Apparatus and method for performing operation being secure against side channel attack | |
US11700110B2 (en) | Approximate algebraic operations for homomorphic encryption | |
CN116488788A (zh) | 全同态加密算法的硬件加速器、同态加密方法及电子设备 | |
CN108075889B (zh) | 一种降低加解密运算时间复杂度的数据传输方法及系统 | |
KR102451633B1 (ko) | 동형암호를 위한 암호화 처리 장치 및 방법 | |
Senthilkumar et al. | Adapted Semi Carry Save Modular Montgomery Multiplier for High-Performance Elliptic Curve Cryptographic Processor | |
KR20230049575A (ko) | 동형암호에 기반한 다중 입력 논리 게이트를 통한 암호화된 산술 연산 가속화 방법 및 장치 |
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 |