CN113630233A - 基于使用奇函数性质的同态加密的加密方法及装置 - Google Patents
基于使用奇函数性质的同态加密的加密方法及装置 Download PDFInfo
- Publication number
- CN113630233A CN113630233A CN202110380217.XA CN202110380217A CN113630233A CN 113630233 A CN113630233 A CN 113630233A CN 202110380217 A CN202110380217 A CN 202110380217A CN 113630233 A CN113630233 A CN 113630233A
- Authority
- CN
- China
- Prior art keywords
- polynomial
- processor
- approximation
- approximating
- transformed
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Complex Calculations (AREA)
Abstract
一种基于使用奇函数性质的同态加密的加密方法及装置。所述加密方法包括:通过对数据进行加密来生成密文;以及通过针对与密文相对应的模基于奇函数性质执行模约减,对密文进行自举。
Description
相关申请的交叉引用
本申请要求于2020年5月8日提交的美国临时专利申请No.63/021,761以及于2020年10月26日在韩国知识产权局提交的韩国专利申请No.10-2020-0139479的优先权,其全部公开内容通过引用并入本文以用于所有目的。
技术领域
以下描述涉及基于使用奇函数性质的同态加密的加密方法及装置。
背景技术
全同态加密是使得能够将对经加密的数据执行任意逻辑运算或数学运算的加密方案。全同态加密方法在数据处理中保持了安全性。
然而,常规的加密方法难以处理经加密的数据,因此不足以保护客户的隐私。
全同态加密能够在保护隐私的同时使得客户能够接收许多服务。
发明内容
提供本发明内容以用简化形式介绍在下文的具体实施方式中进一步描述的构思的选择。本发明内容不旨在标识所请求保护的主题的关键特征或基本特征,也不旨在帮助确定所请求保护的主题的范围。
在一个总体方面中,一种使用同态加密的加密方法,包括:通过对数据进行加密来生成密文;以及通过针对与密文相对应的模基于奇函数性质执行模约减,对所述密文进行自举。
所述进行自举可以包括:通过基于奇函数性质对逼近所述模约减的逼近多项式进行变换,对所述密文进行自举。
通过基于奇函数性质执行模约减对所述密文进行自举可以包括:获得逼近所述模约减的逼近多项式;通过对所述逼近多项式进行变换,生成经变换的逼近多项式;以及基于奇函数性质和所述经变换的逼近多项式执行所述模约减。
通过对所述逼近多项式进行变换生成所述经变换的逼近多项式可以包括:通过减小所述逼近多项式的次数,生成所述经变换的逼近多项式。
通过减小所述逼近多项式的次数生成所述经变换的逼近多项式可以包括:将所述经变换的逼近多项式生成为具有与所述逼近多项式的域的平方相对应的域。
通过对所述逼近多项式进行变换生成所述经变换的逼近多项式可以包括:基于所述逼近多项式的次数,确定所述经变换的逼近多项式的最大次数;以及通过基于所述最大次数对所述逼近多项式进行除法运算,生成所述经变换的逼近多项式。
基于所述逼近多项式的次数确定所述经变换的逼近多项式的最大次数可以包括:基于所述逼近多项式的运算深度和用于所述密文的非标量乘法的数量,确定所述最大次数。
通过基于所述最大次数对所述逼近多项式进行除法运算生成所述经变换的逼近多项式可以包括:通过基于一个或多个多项式基对所述逼近多项式进行除法运算,生成所述经变换的逼近多项式。
所述一个或多个多项式基可以是切比雪夫多项式的基。
在另一个总体方面中,一种使用同态加密的加密装置,包括:处理器,被配置为:通过对数据进行加密来生成密文;以及,通过针对与所述密文相对应的模基于奇函数性质执行模约减,对所述密文进行自举;以及,存储器,被配置为存储要由所述处理器执行的指令。
所述处理器可以被配置为:通过基于所述奇函数性质对逼近所述模约减的逼近多项式进行变换,对所述密文进行自举。
所述处理器可以被配置为:获得逼近所述模约减的逼近多项式;通过对所述逼近多项式进行变换,生成经变换的逼近多项式;以及基于所述奇函数性质和所述经变换的逼近多项式执行所述模约减。
所述处理器可以被配置为:通过减小所述逼近多项式的次数,生成所述经变换的逼近多项式。
所述处理器可以被配置为:将所述经变换的逼近多项式生成为具有与所述逼近多项式的域的平方相对应的域。
所述处理器可以被配置为:基于所述逼近多项式的次数,确定所述经变换的逼近多项式的最大次数;以及通过基于所述最大次数对所述逼近多项式进行除法运算,生成所述经变换的逼近多项式。
所述处理器可以被配置为:基于所述逼近多项式的运算深度和用于所述密文的非标量乘法的数量,确定所述最大次数。
所述处理器可以被配置为:通过基于一个或多个多项式基对所述逼近多项式进行除法运算,生成所述经变换的逼近多项式。
所述一个或多个多项式基可以是切比雪夫多项式的基。
其他特征和方面通过以下具体实施方式、附图和权利要求将变得清楚。
附图说明
图1示出了加密装置的示例。
图2示出了通过图1的加密装置对逼近多项式求值(evaluating)的示例。
图3示出了用于通过图1的加密装置对逼近多项式求值的算法的示例。
图4示出了图1的加密装置的操作的示例。
在整个附图和具体实施方式中,除非另外描述或提供,否则相同的附图标记应被理解为指代相同的元件、特征和结构。附图可以不按比例绘制,并且为了清楚、说明和方便,可以扩大附图中的元件的相对尺寸、比例和描绘。
具体实施方式
在下文中,将参考附图来详细描述示例。然而,可以对示例做出各种改变和修改。此处,示例不被解释为限制本工开。示例应被理解为包括本公开的构思和技术范围内的所有改变、等同物和替换。
本文中使用的术语仅仅是为了描述具体示例的目的,而不是为了限制示例。单数形式“一”、“一个”和“所述”意在还包括复数形式,除非上下文明确地给出相反的指示。还将理解,术语“包括”和/或“包含”在本文中使用时,表示存在所陈述的特征、整数、步骤、操作、元件和/或组件,但并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或其组合。
除非另外定义,否则本文使用的所有术语(包括技术和科学术语)具有与各示例所属领域的普通技术人员通常所理解的含义相同的含义。还应理解,诸如在常用词典中定义的术语之类的术语应被解释为其含义与在相关技术的上下文中的含义相一致,而不应将其解释为理想的或过于正式的含义,除非本文明确如此定义。
当参考附图描述示例时,相同的附图标记表示相同的构成元件,并且将省略与其相关的重复描述。在对示例的描述中,当认为对公知的相关结构或功能的详细描述将引起对本公开的模糊解释时,将省略这样的描述。
此外,当描述本公开的组件时,可以在本文中使用诸如第一、第二、A、B、(a)、(b)之类的术语来描述所述组件。这些术语仅用于将一个构成元件与另一个构成元件进行区分的目的,构成元件的性质、次序或顺序不被所述术语限制。当一个构成元件被描述为“连接”、“耦接”或“附接”到另一个构成元件时,应理解该一个构成元件可以直接连接或附接到该另一个构成元件,并且中间构成元件也可以“连接”、“耦接”或“附接”到这些构成元件。
相同的名称可以用于描述上述示例中包括的元件和具有共同功能的元件。除非另外提及,否则关于各示例的描述可以适用于以下示例,因此,为了简洁将省略重复的描述。
图1示出了加密装置的示例。
参考图1,加密装置10可以对数据进行加密。加密装置10可以通过对数据进行加密生成经加密的数据。在下文中,经加密的数据可以被称为密文。
加密装置10可以使用同态加密执行加密和解密。加密装置10可以提供用于对使用同态加密而被加密的数据进行操作而无需解密的加密技术。例如,加密装置10可以对通过对使用同态加密而被加密的数据进行操作而得到的结果进行解密,由此得到与对明文的数据进行的操作相同的结果。加密装置10可以提供用于实数或复数的同态加密操作。
加密装置10可以执行同态加密所需要的自举。加密装置10可以生成逼近多项式,该逼近多项式逼近与同态加密所需要的模约减相对应的函数。
加密装置10可以找到针对最优极小极大逼近多项式的每一次数(degree)的极小极大逼近误差。
加密装置10可以找到最优地逼近模约减函数的逼近多项式,由此提供在同态加密的极小极大逼近误差方面的极好的性能。
加密装置10可以基于用于逼近模约减函数的逼近区域信息,生成逼近模约减函数的逼近多项式。加密装置10可以基于奇函数性质执行模约减。加密装置10可以通过基于奇函数性质执行模约减来执行自举。
加密装置10包括处理器100和存储器200。
处理器100可以处理存储在存储器中的数据。处理器100可以执行存储在存储器200中的计算机可读代码(例如,软件)和由处理器100触发的指令。
处理器100可以是由硬件实现的数据处理设备,所述硬件包括具有用于执行期望的操作的物理结构的电路。例如,期望的操作可以包括程序中包括的指令或代码。
例如,硬件实现的数据处理设备可以包括微处理器、中央处理单元(CPU)、处理器核、多核处理器、多处理器、专用集成电路(ASIC)和现场可编程门阵列(FPGA)。
处理器100可以通过对数据进行加密生成密文。处理器100可以通过针对与密文相对应的模基于奇函数性质执行模约减,来对密文进行自举。
处理器100可以获得逼近模约减函数的逼近多项式。处理器100可以通过对逼近多项式进行变换,生成经变换的逼近多项式。
处理器100可以通过减小逼近多项式的次数,生成经变换的逼近多项式。处理器100可以将经变换的逼近多项式生成为具有与逼近多项式的域的平方相对应的域。
处理器100可以基于逼近多项式的次数,确定经变换的逼近多项式的最大次数。处理器100可以基于逼近多项式的运算深度和用于密文的非标量乘法的数量,确定最大次数。
处理器100可以通过基于所确定的最大次数对逼近多项式进行除法运算,生成经变换的逼近多项式。处理器100可以通过基于一个或多个多项式基对逼近多项式进行除法运算,生成经变换的逼近多项式。在这个示例中,多项式基可以是切比雪夫多项式的基。
处理器100可以基于奇函数性质和经变换的逼近多项式执行模约减。
存储器200可以存储可由处理器100执行的指令(或程序)。例如,所述指令可以包括:用于执行处理器100的操作和/或处理器100的每个元件的操作的指令。
存储器200可以被实现为易失性存储器设备或非易失性存储器设备。
易失性存储器设备可以被实现为动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)、晶闸管RAM(T-RAM)、零电容器RAM(Z-RAM)或双晶体管RAM(TTRAM)。
非易失性存储器设备可以被实现为电可擦除可编程只读存储器(EEPROM)、闪存、磁RAM(MRAM)、自旋转移扭矩(STT)-MRAM、导电桥接RAM(CBRAM)、铁电RAM(FeRAM)、相变RAM(PRAM)、电阻式RAM(RRAM)、纳米管RRAM、聚合物RAM(PoRAM)、纳米浮栅存储器(NFGM)、全息存储器、分子电子存储器设备或绝缘体电阻改变存储器。
在下文中,将参考图2至图3详细描述对逼近多项式进行变换的过程。
图2示出了通过图1的加密装置对逼近多项式求值的示例,并且图3示出了用于通过图1的加密装置对逼近多项式求值的算法的示例。
参考图2和图3,加密装置10可以直接对逼近模约减函数的逼近多项式求值。
可以存在逼近多项式的次数和极小极大逼近误差之间的折衷。处理器100可以对逼近模约减函数的逼近多项式进行变换,由此减少对逼近多项式求值的运行时间。
例如,处理器100可以通过使用Paterson-Stockmeyer算法或小步长大步长(baby-step giant-step)算法改变逼近模约减函数的逼近多项式的形式,来对模约减函数求值。
处理器100可以使用奇函数性质对所获得的逼近多项式进行变换,由此提高求值速率。对于奇函数的极小极大逼近多项式,处理器100可以使用奇函数性质来提高对逼近多项式求值的速率。
对于同态加密中的自举,处理器100可以在近似整数(near integer)上逼近归一化的模约减函数。在这个示例中,归一化的模约减函数可以具有奇函数性质。
因此,当获得逼近多项式的系数时,处理器100可以只考虑奇次数项的系数。如此,处理器100可以减少模约减的运行时间。
逼近多项式的求值可以在密文域上执行。因此,对逼近多项式求值的运行时间可能占据整个加密和解密过程的很大部分。处理器100可以通过在每次执行自举时对逼近多项式求值来执行模约减。
处理器100可以使用逼近多项式的奇函数性质来减少非标量乘法的数量。非标量乘法可以包括密文之间的乘法。
处理器100可以使用两种方案对逼近多项式进行变换。首先,当应用Paterson-Stockmeyer算法时,处理器100可以对逼近多项式进行变换,以减少非标量乘法的数量。处理器100可以利用模约减函数的逼近多项式的奇函数性质,将非标量乘法的数量减少30%。
处理器100可以使用公式1对逼近多项式进行变换。
[公式1]
f(x)=xg(x2)
处理器100可以通过减小逼近多项式的次数,生成经变换的逼近多项式,如公式1所示。处理器100可以将经变换的逼近多项式生成为具有与逼近多项式的域的平方相对应的域。
处理器100可以使用奇函数性质,将次数为2n+1的逼近多项式f(x)变换成次数为n的多项式g(x)。g(x)的第i项的系数可以等于f(x)的第(2i+1)项的系数。
通过上述变换,处理器100可以对n次多项式g(x)求值,对x进行平方并且代入g(x),并且最后与x相乘。
处理器100可以通过逼近多项式变换为更高次数的逼近多项式多消耗掉一个深度,由此减少非标量乘法的数量。
其次,处理器100可以使用小步长大步长算法对逼近多项式进行变换。通过第二种方案,处理器100可以减少模约减的运行时间而无需消耗任何附加深度。
处理器100可以基于逼近多项式的次数,确定经变换的逼近多项式的最大次数。处理器100可以基于逼近多项式的运算深度和用于密文的非标量乘法的数量,确定最大次数。
图2的操作211至操作216可以是确定经变换的逼近多项式的最大次数的过程,并且操作217至操作227可以是基于所确定的最大次数对逼近多项式进行变换的过程。图3的算法1可以对应于图2的操作217至操作227。
处理器100可以在进行自举以前确定最大次数,并且在实际自举过程期间,仅执行使用所确定的最大次数进行模约减的操作。换言之,操作211至操作216的过程可以在进行自举以前执行。
处理器100可以基于逼近多项式的次数,确定经变换的逼近多项式的最大次数。处理器100可以基于逼近多项式的运算深度和用于密文的非标量乘法的数量,确定最大次数。
在操作211中,处理器100可以利用2替换k′,并且利用∞替换min。在操作212中,处理器100可以获得满足k′·2m′-1≤d≤k′·2m′的m′。然后,在操作213中,处理器100可以确定的值是否小于min并且满足
在这个示例中,的值表示非标量乘法的数量,并且表示运算深度。换言之,处理器100可以通过确定最小值是否小于非标量乘法的数量、以及运算深度是否满足条件来确定k和m,由此确定用于逼近多项式变换的切比雪夫多项式的最大次数。
如果操作213的条件满足,则在操作214中,处理器100可以利用k′替换k,并且利用m′替换m。如果操作213的条件不满足,则在操作215中,处理器100可以利用k′+2替换k′。
在操作218中,处理器100可以对T3(t),T5(t),…,Tk-1(t)求值。在操作219中,处理器100可以对求值。在操作220中,处理器100可以通过除以计算p(t)的商q(t)和余数r(t)。
在操作221中,处理器100可以确定q(t)的次数是否小于k。如果操作221的条件满足,则在操作222中,处理器100可以利用T1(t),T3(t),T5(t),…,Tk-1(t)对q(t)求值。如果操作221的条件不满足(或如果q(t)的次数大于或等于k),则在操作223中,处理器100可以递归地对q(t)求值。
在操作224中,处理器100可以确定r(t)的次数是否小于k。如果操作224的条件满足,则在操作225中,处理器100可以利用T1(t),T3(t),T5(t),…,Tk-1(t)对r(t)求值。如果操作224的条件不满足(或如果r(t)的次数大于或等于k),则在操作226中,处理器100可以递归地对r(t)求值。
当f是具有任意奇次数项的多项式、并且g是具有偶次数项的多项式时,如果f=gq+r满足条件der r<deg g,则q和r可以都是具有奇次数项的多项式。
当将逼近多项式除以偶次数的切比雪夫多项式时,处理器100可以递归地使用与商相对应的多项式和与余数相对应的多项式。
因为逼近多项式是如上所述的奇函数,并且偶次数的切比雪夫多项式是偶函数,因此与商相对应的多项式和与余数相对应的多项式可以都是奇函数。
处理器100可以通过多次连续除法,将逼近多项式除成作为奇函数的切比雪夫多项式。然后,处理器100可以不使用偶次数的切比雪夫多项式,因此,可以不必对偶次数的切比雪夫多项式求值。因为偶次数项未被计算,因此处理器100可以减少非标量乘法的数量。
在原始的小步长大步长算法中,小步长的长度是2的幂。然而,处理器100可以使用逼近多项式的奇函数性质利用任意正整数的长度来执行小步长。通过这样,处理器100可以更精细地优化非标量乘法的数量而无需消耗附加深度。
在下文中,将详细描述通过处理器100获得逼近模约减函数的逼近多项式的过程。
处理器100可以获得逼近模约减函数的逼近多项式函数。要由处理器100通过逼近而获得的函数可以是仅在近乎有限多个整数中定义的归一化的模约减函数,如公式2所示。
[公式2]
公式2可以表示针对模约减函数的域和范围两者缩放的模约减函数。
处理器100可以使用余弦函数用于逼近normod(x),以将二倍角公式用于高效的同态求值。
如果二倍角公式被使用l次,则需要逼近公式3中的余弦函数。
[公式3]
为了逼近包括公式2和公式3中的函数的分段连续函数,处理器100可以假设在有限多个闭区间的并集上定义的通用分段连续函数,其作为公式4给出。
[公式4]
此处,ai<bi<ai+1<bi+1对于所有的i=1,…,t-1成立。
为了在公式4的D上利用具有小于或等于d的次数的多项式逼近给定的分段连续函数,处理器100可以设置用于从多个极值点之中选择新的d+2个参考点的准则。
处理器100可以通过使用在[a,b]上满足Haar条件的{g1,…,gn}作为多项式的基,来生成逼近多项式。处理器100可以针对每次迭代关于参考点的集合获得极小极大逼近多项式,并且选择用于下次迭代的新的参考点的集合。
可以存在许多情况,其中,处理器100从使用利用参考点的集合获得的任意多项式而求得的误差函数的极值点之中,选择n+1个点。处理器100可以在加密过程期间考虑许多区间,因此可能存在许多候选极值点。
处理器100可以针对每次迭代从许多候选点之中选择n+1个目标点,以最小化迭代的次数。通过如此操作,处理器100可以通过对针对每次迭代生成的逼近多项式进行收敛,生成极小极大逼近多项式。在这个示例中,最终生成的极小极大逼近多项式可以是上述模约减的逼近多项式。
为了设置用于选择n+1个目标点的准则,处理器100可以定义公式5的函数。
[公式5]
此处,p(x)表示在每次迭代中获得的任意多项式,并且f(x)表示要被逼近的分段连续函数。为了方便,μp,f可以在下文中被称为μ。
处理器100可以将p(x)-f(x)的所有的极值点形成为集合B。B可以是有限集合,并且被表示为B={x1,x2,…,xm}。处理器100可以在B中的一个区间中选择点。
假设B按照升序排序,x1<x2<…<xm,则μ的值可以是1或-1。极值点的数量可以满足m≥n+1。
处理器100可以定义函数的集合S,如公式6所示。
[公式6]
S={σ:[n+1]→[m]|σ(i)<σ(i+1)对于所有i=1,…,n}
在这个示例中,如果n+1=m,则集合S可以仅包括恒等函数。
处理器100可以设置用于选择n+1个极值点的三个准则。
处理器100可以将局部极值条件设置为第一条件。如果E是在参考点的集合处的绝对误差,则可以设置公式7的条件。
[公式7]
为了满足局部极值条件,如果p(x)-f(x)的局部最大值为负或p(x)-f(x)的局部最小值为正,则处理器100可以去除极值点。
其次,处理器100可以设置交替变化条件。换言之,可以设置公式8的条件。具体地,如果两个邻近的极值点中的一个极值点具有局部最大值,则另一极值点可以具有局部最小值。
[公式8]
μ(xσ(i))·μ(xσ(i+1))=-1对于i=1,…,n
第三,处理器100可以设置最大绝对和条件。处理器100可以从满足局部极值条件和交替变化条件的σ之中,选择最大化公式9的值的σ。
[公式9]
在当前参考点x1,…,xn+1处的绝对误差值可以小于极小极大逼近误差,并且随着迭代次数的增加,收敛到极小极大逼近误差。
此外,在当前参考点处的绝对误差值可以是前次迭代中的逼近多项式在x1,…,xn+1处的绝对误差值的加权平均。
处理器100可以使用最大绝对和条件,帮助在当前参考点处的绝对误差值快速地收敛到极小极大逼近误差。处理器100可以应用最大绝对和条件,由此促进收敛到极小极大逼近多项式。
处理器100可以针对连续函数f(x)在当前参考点处利用幂基找到逼近多项式的系数。即,处理器100可以通过获得公式10中的系数cj的值,来生成逼近多项式。
[公式10]
此处,E在线性方程中可能是未知的。随着逼近多项式的基的次数增大,系数会减小。处理器100可能需要为更高次数的基的系数设置更高的精度。
因此,处理器100可以通过将切比雪夫多项式的基用作逼近多项式的基,来有效地解决精度问题。因为利用切比雪夫基的多项式的系数通常具有几乎相同的量级,所以处理器100可以使用切比雪夫基而不是幂基来生成逼近多项式。
切比雪夫多项式满足上述Haar条件,并且处理器100可以通过经由使用d+2个参考点对公式11的d+2个线性方程的组进行求解计算cj和E,来获得逼近多项式。
[公式11]
图4示出了图1的加密装置的操作的示例。
参考图4,在操作410中,处理器100可以通过对数据进行加密来生成密文。在操作430中,处理器100可以通过针对与所生成的密文相对应的模基于奇函数性质执行模约减,对密文进行自举。
处理器100可以获得逼近模约减的逼近多项式。处理器100可以通过对逼近多项式进行变换,生成经变换的逼近多项式。
处理器100可以通过基于奇函数性质逼近模约减来执行自举。处理器100可以基于奇函数性质对所获得的逼近多项式求值,由此减少自举时间。
处理器100可以通过减小逼近多项式的次数,生成经变换的逼近多项式。处理器100可以将经变换的逼近多项式生成为具有与逼近多项式的域的平方相对应的域。
处理器100可以基于逼近多项式的次数,确定经变换的逼近多项式的最大次数。处理器100可以基于逼近多项式的运算深度和用于密文的非标量乘法的数量,确定最大次数。
处理器100可以通过基于所确定的最大次数对逼近多项式进行除法运算,生成经变换的逼近多项式。处理器100可以通过基于一个或多个多项式基对逼近多项式进行除法运算,生成经变换的逼近多项式。在这个示例中,多项式基可以是切比雪夫多项式的基。
处理器100可以基于奇函数性质和经变换的逼近多项式执行模约减。
根据上述示例的方法可以被记录在包括用于实现上述示例的各种操作的程序指令的非暂时性计算机可读介质中。所述介质还可以单独或与程序指令组合地包括数据文件、数据结构等。记录在介质上的程序指令可以是出于示例的目的而专门设计和构造的程序指令,或者程序指令可以是对于计算机软件领域中的普通技术人员众所周知和可获得的种类。非暂时性计算机可读介质的示例包括:磁介质,例如硬盘、软盘和磁带;光介质,例如CD-ROM盘、DVD、和/或蓝光盘;磁光介质,例如光软盘;以及专门被配置为存储和执行程序指令的硬件设备,例如只读存储器(ROM)、随机存取存储器(RAM)、闪存(例如,USB闪存驱动器、存储卡、存储器棒等)等。程序指令的示例包括机器代码(例如,由编译器产生的机器代码)、以及包含可以由计算机使用解释器来执行的更高级的代码的文件两者。上述设备可以被配置为用作一个或多个软件模块,以便执行上述示例的操作,反之亦然。
软件可以包括计算机程序、代码段、指令或其某种组合,以便独立地或者一致地指示或配置处理设备按照需要操作。软件和数据可以被永久或暂时地体现在如下项中:任意类型的机器、组件、物理或虚拟设备、计算机存储介质或设备;或能够提供到达处理设备或由其解释的指令或数据的传播的信号波。软件还可以分布在网络耦接的计算机系统上,从而以分布式的方式存储和执行软件。软件和数据可以由一个或多个非暂时性计算机可读记录介质存储。
上面已经描述了多个示例。然而,应当理解,可以对这些示例进行各种修改。例如,如果所描述的技术以不同的顺序执行和/或如果所描述的系统、架构、设备或电路中的组件以不同的方式组合和/或被其它组件或其等同物替换或补充,则可以实现合适的结果。
因此,其他实施方式在所附权利要求的范围内。
Claims (19)
1.一种基于使用奇函数性质的同态加密的加密方法,所述加密方法包括:
通过对数据进行加密来生成密文;以及
通过针对与所述密文相对应的模基于奇函数性质执行模约减,对所述密文进行自举。
2.根据权利要求1所述的加密方法,其中所述进行自举包括:通过基于所述奇函数性质对逼近所述模约减的逼近多项式进行变换,对所述密文进行自举。
3.根据权利要求1所述的加密方法,其中通过基于奇函数性质执行模约减对所述密文进行自举包括:
获得逼近所述模约减的逼近多项式;
通过对所述逼近多项式进行变换,生成经变换的逼近多项式;以及
基于所述奇函数性质和所述经变换的逼近多项式执行所述模约减。
4.根据权利要求3所述的加密方法,其中通过对所述逼近多项式进行变换生成经变换的逼近多项式包括:通过减小所述逼近多项式的次数,生成所述经变换的逼近多项式。
5.根据权利要求4所述的加密方法,其中通过减小所述逼近多项式的次数生成所述经变换的逼近多项式包括:将所述经变换的逼近多项式生成为具有与所述逼近多项式的域的平方相对应的域。
6.根据权利要求3所述的加密方法,其中通过对所述逼近多项式进行变换生成经变换的逼近多项式包括:
基于所述逼近多项式的次数,确定所述经变换的逼近多项式的最大次数;以及
通过基于所述最大次数对所述逼近多项式进行除法运算,生成所述经变换的逼近多项式。
7.根据权利要求6所述的加密方法,其中基于所述逼近多项式的次数确定所述经变换的逼近多项式的最大次数包括:基于所述逼近多项式的运算深度和用于所述密文的非标量乘法的数量,确定所述最大次数。
8.根据权利要求7所述的加密方法,其中通过基于所述最大次数对所述逼近多项式进行除法运算生成所述经变换的逼近多项式包括:通过基于一个或多个多项式基对所述逼近多项式进行除法运算,生成所述经变换的逼近多项式。
9.根据权利要求8所述的加密方法,其中所述一个或多个多项式基是切比雪夫多项式的基。
10.一种存储指令的非暂时性计算机可读存储介质,所述指令在由处理器执行时,使所述处理器执行根据权利要求1所述的加密方法。
11.一种基于使用奇函数性质的同态加密的加密装置,所述加密装置包括:
处理器,被配置为:
通过对数据进行加密来生成密文;以及
通过针对与所述密文相对应的模基于奇函数性质执行模约减,对所述密文进行自举;以及
存储器,被配置为存储要由所述处理器执行的指令。
12.根据权利要求11所述的加密装置,其中所述处理器被配置为:通过基于所述奇函数性质对逼近所述模约减的逼近多项式进行变换,对所述密文进行自举。
13.根据权利要求12所述的加密装置,其中所述处理器被配置为:
获得逼近所述模约减的逼近多项式;
通过对所述逼近多项式进行变换,生成经变换的逼近多项式;以及
基于所述奇函数性质和所述经变换的逼近多项式执行所述模约减。
14.根据权利要求13所述的加密装置,其中所述处理器被配置为:通过减小所述逼近多项式的次数,生成所述经变换的逼近多项式。
15.根据权利要求14所述的加密装置,其中所述处理器被配置为:将所述经变换的逼近多项式生成为具有与所述逼近多项式的域的平方相对应的域。
16.根据权利要求13所述的加密装置,其中,所述处理器被配置为:
基于所述逼近多项式的次数,确定所述经变换的逼近多项式的最大次数;以及
通过基于所述最大次数对所述逼近多项式进行除法运算,生成所述经变换的逼近多项式。
17.根据权利要求16所述的加密装置,其中所述处理器被配置为:基于所述逼近多项式的运算深度和用于所述密文的非标量乘法的数量,确定所述最大次数。
18.根据权利要求17所述的加密装置,其中所述处理器被配置为:通过基于一个或多个多项式基对所述逼近多项式进行除法运算,生成所述经变换的逼近多项式。
19.根据权利要求18所述的加密装置,其中所述一个或多个多项式基是切比雪夫多项式的基。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202063021761P | 2020-05-08 | 2020-05-08 | |
US63/021,761 | 2020-05-08 | ||
KR1020200139479A KR20210136816A (ko) | 2020-05-08 | 2020-10-26 | 홀함수 특성을 이용한 동형 암호 기반 암호화 방법 및 장치 |
KR10-2020-0139479 | 2020-10-26 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113630233A true CN113630233A (zh) | 2021-11-09 |
Family
ID=75659967
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110380217.XA Pending CN113630233A (zh) | 2020-05-08 | 2021-04-08 | 基于使用奇函数性质的同态加密的加密方法及装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11671239B2 (zh) |
EP (1) | EP3907925A1 (zh) |
CN (1) | CN113630233A (zh) |
Family Cites Families (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8249250B2 (en) | 2009-03-30 | 2012-08-21 | Mitsubishi Electric Research Laboratories, Inc. | Secure similarity verification between homomorphically encrypted signals |
US9083526B2 (en) * | 2011-04-29 | 2015-07-14 | International Business Machines Corporation | Fully homomorphic encryption |
JP5790471B2 (ja) | 2011-12-13 | 2015-10-07 | 富士通株式会社 | 暗号処理方法、復号処理方法、装置及びプログラム |
US9306738B2 (en) * | 2012-12-21 | 2016-04-05 | Microsoft Technology Licensing, Llc | Managed secure computations on encrypted data |
KR101608515B1 (ko) | 2013-10-14 | 2016-04-01 | 서울대학교기술지주 주식회사 | 동형 암호화 알고리즘과 공개키 암호화 알고리즘을 이용하여, 암호화 데이터를 연산하는 방법 및 이를 이용한 서버 |
KR102019159B1 (ko) | 2013-12-23 | 2019-09-09 | 한국전자통신연구원 | 정수 기반 준동형 암호 기법에 일반적으로 적용 가능한 압축 암복호화 장치 및 방법 |
KR101618941B1 (ko) | 2014-01-09 | 2016-05-09 | 서울대학교산학협력단 | 동형 암호 알고리즘과 페어링 기반 암호 알고리즘을 이용하여, 암호화 데이터를 연산하는 방법 및 이를 이용한 서버 |
KR102251697B1 (ko) | 2014-04-23 | 2021-05-14 | 삼성전자주식회사 | 암호화 장치, 암호화 방법 및 컴퓨터 판독가능 기록매체 |
US9946970B2 (en) | 2014-11-07 | 2018-04-17 | Microsoft Technology Licensing, Llc | Neural networks for encrypted data |
KR101600016B1 (ko) | 2014-12-10 | 2016-03-15 | 서울대학교기술지주 주식회사 | 동형 암호화 알고리즘을 이용한 암호화 방법 및 이를 수행하는 컴퓨팅 장치 |
WO2016141860A1 (en) | 2015-03-09 | 2016-09-15 | Jintai Ding | Hybrid fully homomorphic encryption (f.h.e.) systems |
KR101971215B1 (ko) | 2016-06-17 | 2019-04-22 | 서울대학교산학협력단 | 유효 숫자 연산을 지원하는 동형 암호문의 생성 방법 및 그러한 방법에 의해서 생성된 동형 암호문에 대한 유효 숫자 연산 방법 |
KR101861089B1 (ko) | 2016-07-28 | 2018-05-25 | 서울대학교산학협력단 | 근사 복소수 연산을 지원하는 복수 개의 메시지의 동형 암호화 방법 |
KR101919940B1 (ko) | 2017-02-08 | 2018-11-19 | 서울대학교산학협력단 | 완전 동형 암호 방법에 의한 동적 데이터의 처리 방법 |
SG11201909441XA (en) | 2017-04-11 | 2020-03-30 | Governing Council Univ Toronto | A homomorphic processing unit (hpu) for accelerating secure computations under homomorphic encryption |
US20190065974A1 (en) | 2017-08-30 | 2019-02-28 | Axell Corporation | Inference device, inference system, and inference method |
KR102040106B1 (ko) | 2018-10-29 | 2019-11-27 | 주식회사 크립토랩 | 실수 평문에 대한 동형 암호화 방법 |
KR101965628B1 (ko) | 2017-12-15 | 2019-04-04 | 서울대학교산학협력단 | 동형 암호화를 수행하는 단말 장치와 그 암호문을 처리하는 서버 장치 및 그 방법들 |
JP6933810B2 (ja) * | 2018-01-24 | 2021-09-08 | 富士通株式会社 | 演算処理装置および演算処理装置の制御方法 |
US11032061B2 (en) * | 2018-04-27 | 2021-06-08 | Microsoft Technology Licensing, Llc | Enabling constant plaintext space in bootstrapping in fully homomorphic encryption |
JP2019207281A (ja) | 2018-05-28 | 2019-12-05 | 株式会社日立製作所 | 大小判定サーバ、大小判定暗号化システム、及び大小判定方法 |
KR102095252B1 (ko) | 2018-07-04 | 2020-04-23 | 삼성중공업 주식회사 | 계류장치 |
KR102040120B1 (ko) | 2018-07-27 | 2019-11-05 | 주식회사 크립토랩 | 근사 암호화된 암호문에 대한 연산을 수행하는 장치 및 방법 |
CN109412786B (zh) | 2018-11-14 | 2022-09-06 | 沈阳航空航天大学 | 一种基于同态加密的整数密文算术运算方法 |
WO2020145503A1 (en) * | 2019-01-10 | 2020-07-16 | Crypto Lab Inc. | Apparatus for processing approximately encrypted messages and methods thereof |
-
2021
- 2021-03-04 US US17/192,162 patent/US11671239B2/en active Active
- 2021-04-08 CN CN202110380217.XA patent/CN113630233A/zh active Pending
- 2021-05-03 EP EP21171809.3A patent/EP3907925A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
US20210351912A1 (en) | 2021-11-11 |
EP3907925A1 (en) | 2021-11-10 |
US11671239B2 (en) | 2023-06-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Pöschel | A lecture on the classical KAM theorem | |
EP3296981A1 (en) | Secret sharing method, secret sharing system, sharing device, and program | |
JP4875700B2 (ja) | ランダム化されたモジュラー多項式のリダクション方法およびそのためのハードウェア | |
CN113541918A (zh) | 基于使用函数的复合的同态加密的加密方法及装置 | |
CN113630234A (zh) | 使用同态加密的加密方法及装置 | |
Matsumoto et al. | A computable figure of merit for quasi-Monte Carlo point sets | |
WO2023067928A1 (ja) | 暗号処理装置、暗号処理方法、及び暗号処理プログラム | |
CN113630233A (zh) | 基于使用奇函数性质的同态加密的加密方法及装置 | |
US8533490B2 (en) | Efficient storage of cryptographic parameters | |
KR20210136816A (ko) | 홀함수 특성을 이용한 동형 암호 기반 암호화 방법 및 장치 | |
JP7187074B1 (ja) | 暗号処理装置、暗号処理方法、及び暗号処理プログラム | |
WO2019214266A1 (zh) | 计算crc编码的方法和装置 | |
KR20230078510A (ko) | 동형 암호 연산 장치 및 방법 | |
Chia et al. | Efficient learning of $ t $-doped stabilizer states with single-copy measurements | |
KR20210130620A (ko) | 함수의 합성을 이용한 동형 암호 기반 암호화 방법 및 장치 | |
JP7187076B1 (ja) | 暗号処理装置、暗号処理方法、及び暗号処理プログラム | |
JP7228287B1 (ja) | 暗号処理装置、暗号処理方法、及び暗号処理プログラム | |
JP7261502B2 (ja) | 暗号処理装置、暗号処理方法、及び暗号処理プログラム | |
WO2022270080A1 (ja) | 暗号処理装置、暗号処理方法、及び暗号処理プログラム | |
US11870889B2 (en) | Method and apparatus with homomorphic encryption | |
US20230171085A1 (en) | Homomorphic encryption apparatus and method | |
JP2024053392A (ja) | 暗号処理装置、暗号処理方法、暗号処理プログラム | |
CN117857004A (zh) | 具有同态加密操作的装置和方法 | |
KR20220157844A (ko) | 동형 암호에서 암호 키 생성 방법, 장치, 생성된 암호 키를 이용한 사이퍼텍스트 연산 방법 및 장치 | |
JP2024013184A (ja) | 暗号処理装置、暗号処理方法、暗号処理プログラム |
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 |