同态加密装置及其密文算术方法

文档序号:409948 发布日期:2021-12-17 浏览:15次 >En<

阅读说明:本技术 同态加密装置及其密文算术方法 (Homomorphic encryption device and ciphertext arithmetic method thereof ) 是由 文永植 孙弘乐 于 2021-02-02 设计创作,主要内容包括:公开了同态加密装置及其密文算术方法。所述同态加密装置包括重新加密参数生成电路、重新加密电路和算术电路。重新加密参数生成电路被配置为:基于包括关于多个密文之间的算术调度的信息的算术场景,生成包括分别针对所述多个密文的多个重新加密等级的重新加密参数。重新加密电路被配置为:基于重新加密参数,通过将所述多个密文中的每个重新加密到相应的重新加密等级,来生成多个重新加密的密文。算术电路被配置为:根据算术场景,通过经由使用所述多个重新加密的密文执行操作来输出算术结果。(Disclosed are a homomorphic encryption device and a ciphertext arithmetic method thereof. The homomorphic encryption apparatus includes a re-encryption parameter generation circuit, a re-encryption circuit, and an arithmetic circuit. The re-encryption parameter generation circuit is configured to: generating a re-encryption parameter including a plurality of re-encryption levels respectively for a plurality of ciphertexts, based on an arithmetic scene including information on arithmetic scheduling between the plurality of ciphertexts. The re-encryption circuit is configured to: generating a plurality of re-encrypted ciphertext by re-encrypting each of the plurality of ciphertext to a respective re-encryption level based on the re-encryption parameter. The arithmetic circuit is configured to: according to the arithmetic scenario, an arithmetic result is output by performing an operation through the use of the plurality of re-encrypted ciphertexts.)

同态加密装置及其密文算术方法

本申请要求于2020年5月29日在韩国知识产权局提交的第10-2020-0065187号韩国专利申请的优先权的权益,所述申请的公开通过引用全部包含于此。

技术领域

在此描述的一个或多个发明构思涉及同态加密装置和由同态加密装置执行的密文算术方法。更具体地,在此描述的一个或多个发明构思涉及用于重新加密密文并通过使用重新加密的密文执行操作的同态加密装置、以及由同态加密装置执行的密文算术方法。

背景技术

随着通信技术的发展和电子装置的广泛使用,已经对保持电子装置之间的通信安全做出了持续的努力。因此,加密/解密技术在大多数现代电子通信环境中已经被使用。

当通过加密技术加密的消息被传送到对方(counterpart)时,对方对加密的消息进行解密以使用消息。在这种情况下,当对方已经为了计算而临时对消息进行解密时,由第三方的黑客攻击可能发生。因此,解密的消息可能容易被泄漏给第三方。

为了解决这样的问题,已经研究了同态加密(homomorphic encryption)方法。密文是使用加密算法对明文执行加密的结果。根据正在研究的同态加密方法,在密文不被解密的同时,可对密文执行各种算术运算。

发明内容

在此描述的一个或多个发明构思提供了同态加密装置和由同态加密装置执行的密文算术方法。同态加密装置和密文算术方法允许减小重新加密中的计算量并提高同态加密装置的操作速度。

根据本公开的一个方面,一种同态加密装置包括重新加密参数生成电路、重新加密电路和算术电路。重新加密参数生成电路被配置为:基于包括关于多个密文之间的算术调度的信息的算术场景,生成包括分别针对所述多个密文的多个重新加密等级的重新加密参数。重新加密电路被配置为:基于重新加密参数,通过将所述多个密文中的每个重新加密到相应的重新加密等级,来生成多个重新加密的密文。算术电路被配置为:根据算术场景,通过经由使用所述多个重新加密的密文执行操作来输出算术结果。

根据本公开的另一方面,密文算术方法由同态加密装置执行。所述密文算术方法包括:基于包括关于多个密文的算术调度的信息的算术场景,确定所述多个密文的多个重新加密等级。所述密文算术方法还包括:将所述多个密文中的每个重新加密到所述多个重新加密等级之中的相应的重新加密等级;和通过经由使用多个重新加密的密文执行包括至少一个乘法运算的操作来输出算术结果。所述多个重新加密等级中的至少两个彼此不同。

根据本公开的又一方面,一种同态加密装置包括存储器、重新加密参数生成电路、重新加密电路和算术电路。存储器存储包括与多个操作组合对应的多个重新加密参数的参数映射表。重新加密参数生成电路被配置为:基于将从存储器提供的参数映射表与多个密文的操作组合进行比较来生成包括所述多个密文的多个重新加密等级的重新加密参数。操作组合被包括在算术场景中。重新加密电路被配置为:基于重新加密参数,通过将所述多个密文中的每个重新加密到所述多个重新加密等级之中的相应的重新加密等级,来生成多个重新加密的密文。算术电路被配置为:通过根据所述多个密文的操作组合计算所述多个重新加密的密文来输出算术结果。包括在参数映射表中的所述多个重新加密参数中的每个包括关于等级的信息,所述等级被优化使得根据所述多个操作组合之中的相应的操作组合来最小化算术结果的等级。

根据本公开的再一方面,密文算术方法由同态加密装置执行。所述密文算术方法包括:基于多个密文之间所需的操作的类型和顺序,从所述同态加密装置的外部接收所述多个密文。所述密文算术方法还包括:将所述多个密文重新加密到分别与所述多个密文对应的重新加密等级,使得算术结果不包括初步文本;和通过经由使用所述多个重新加密的密文执行包括至少一个乘法运算的操作来输出不包括初步文本的算术结果。

根据本公开的再一方面,密文算术方法由同态加密装置执行。所述密文算术方法包括:基于包括关于多个密文之间的至少一个操作的信息的算术场景,接收所述多个密文。所述密文算术方法还包括:确定所述至少一个操作中的每个的等级消耗量。针对所述多个密文中的每个,所述密文算术方法包括将对相应的密文执行的至少一个操作的等级消耗量的总和确定为对应于相应的密文的重新加密等级。针对所述多个密文中的每个,所述密文算术方法包括通过将相应的密文重新加密到对应于相应的密文的确定的重新加密等级来生成多个重新加密的密文。所述密文算术方法还包括通过经由使用所述多个重新加密的密文执行操作来输出算术结果。

附图说明

从下面的结合附图进行的详细描述,将更清楚地理解本公开的实施例,其中:

图1示出根据本公开的示例实施例的装置;

图2示出根据本公开的示例实施例的加密装置;

图3是示出根据本公开的示例实施例的同态加密的示图;

图4示出根据本公开的示例实施例的由加密装置执行的密文算术方法的流程图;

图5示出根据本公开的示例实施例的由加密装置执行的密文算术方法的流程图;

图6示出根据本公开的示例实施例的算术场景;

图7是示出根据本公开的示例实施例的重新加密和算术处理的概念图;

图8示出根据本公开的示例实施例的参数映射表;

图9示出根据本公开的示例实施例的由加密装置执行的密文算术方法的流程图;

图10示出根据本公开的示例实施例的算术场景;

图11A和图11B各自示出根据本公开的示例实施例的重新加密和算术处理;

图12示出根据本公开的示例实施例的由加密装置执行的密文算术方法的流程图;以及

图13示出根据本公开的示例实施例的固态驱动器(SSD)系统。

具体实施方式

在下文中,将参照附图详细描述本公开的实施例。

图1示出根据本公开的示例实施例的装置1。装置1可包括加密装置10、处理器20、接口30以及存储器40。装置1可向装置1的外部发送数据DT,并且从装置1的外部接收数据DT。例如,装置1可向智能卡、存储器卡或另外的装置发送数据DT,并且从智能卡、存储器卡或另外的装置接收数据DT。

装置1可由各种电子装置实现,或者可被包括在各种电子装置中。例如,电子装置可包括无人机、机器人装置(诸如,高级驾驶员辅助系统(ADAS))、智能电视(TV)、智能电话、医疗装置、移动装置、图像显示装置、测量装置、物联网(IoT)装置等。另外,装置1还可由图13中示出的存储装置实现。

加密装置10可对从装置1的外部接收的数据DT进行加密和/或解密。加密装置10可通过基于加密算法执行加密操作来保持数据DT的安全性。加密算法可以是例如通过使用加密密钥生成加密的数据的算法。在在此描述的许多实施例中,加密算法可以是同态加密算法(homomorphic encryption algorithm)。

存储器40可存储指令和数据DT。处理器20可执行指令,以根据指令来处理数据DT。在由处理器20执行时,指令可使装置1执行或另外实现在此描述的方法的方面。

处理器20可经由接口30向装置1的外部发送数据DT,并且从装置1的外部接收数据DT。处理器20可执行指令以执行任务,并且可将任务的结果存储在存储器40中。作为示例,处理器20可包括多个核。

存储器40可存储处理器20的操作所需的各种数据。存储器40可由例如动态随机存取存储器(DRAM)、移动DRAM、静态RAM(SRAM)、相变RAM(PRAM)、铁电RAM(FRAM)、电阻式RAM(RRAM)和/或磁RAM(MRAM)实现。

在一个实施例中,加密装置10可处理根据同态加密技术加密的密文(ciphertext)。为了便于描述,如在此所用的术语“根据同态加密技术加密的密文”可被称为同态密文。例如,加密装置10可通过使用多个密文来执行操作。在根据同态加密技术被加密时,多个密文变为相应的同态密文。

同态密文可包括初步文本(preliminary text)、消息(message)和由于同态加密技术的性质引起的错误(或噪声)。当对同态密文执行乘法运算时,初步文本的长度可被减小,并且与算术结果对应的密文中的错误的大小可大于操作数(operand)密文中的错误。响应于至少一个乘法运算的执行,可能需要去除与算术结果对应的密文中的错误。因此,每次对同态密文执行乘法运算时,初步文本的长度可被逐渐减小,并且剩余将对同态密文执行的乘法运算的潜在数量可被减少。因此,当同态密文的可能算术运算的剩余数量小于所需算术运算的数量时,可能需要对同态密文进行重新加密(recryption)以增大初步文本的长度。

为了便于描述,对同态密文的等级的引用可对应于同态密文的可能算术运算的剩余数量。同态密文的等级可表示代表同态密文的初步文本的长度的离散值。作为非限制性示例,当对应于同态密文的初步文本的最大长度的同态密文的最大等级是10时,同态密文的等级可具有范围从0至10的整数值。例如,当同态密文的等级是7时,可对同态密文执行七个额外的乘法运算。在该示例中,由一个运算消耗的等级被假设为1,使得七个额外的乘法运算中的每个将消耗剩余的7个等级中的1个等级。然而,在此描述的一个或多个发明构思不限于在此描述的示例中的同态密文的等级的具体细节,并且根据运算的类型或联合计算的另一密文的性质,由一个运算消耗的等级可以是2或更多。

为了对同态密文执行乘法运算,操作数同态密文可需要具有相同的等级。在此的教导可用于获得具有相同的等级的操作数同态密文。

根据本公开的示例实施例的包括在装置1中的加密装置10可确定多个密文中的每个密文的重新加密等级。每个密文的重新加密等级可基于包括关于多个密文的算术调度(arithmetic schedule)的信息的算术场景(arithmetic scenario)而被确定。换句话说,加密装置10可确定多个密文的多个重新加密等级。多个重新加密等级中的至少两个可彼此不同。在一个实施例中,多个密文的算术调度可包括被预先调度为将对多个密文执行的操作的类型和顺序。另外,在一个实施例中,算术调度可包括关于由每个调度操作消耗的等级的信息,该信息包括何时不同的调度操作消耗不同的等级。将参照下面的附图更详细地描述加密装置10的诸如重新加密等级确定、重新加密和算术运算的操作。

根据本公开的示例实施例,仅装置1中的加密装置10需要的算术运算所需的重新加密可被执行。因此,一个或多个不必要的重新加密可被避免,并且不会被不必要地执行。因此,重新加密中的计算量可被减小。此外,随着重新加密中的计算量被减小,加密装置10和装置1中的每个的操作速度可被提高。

图2示出根据本公开的示例实施例的加密装置10。加密装置10可对应于图1的加密装置10。

加密装置10可包括重新加密电路100、算术电路200、重新加密参数生成电路300以及存储器400。

在继续进行之前,应清楚,在此包括图2的图示出并参照具有诸如“电路”的标签的电路系统。如在此描述的一个或多个发明构思的领域中传统的,可根据执行描述的一个或多个功能的电路和块来描述和示出示例。这些电路和块(在此可被称为重新加密电路、算术电路、重新加密参数生成电路等)由模拟电路和/或数字电路(诸如,逻辑门、集成电路、微处理器、微控制器、存储器电路、无源电子组件、有源电子组件、光学组件、硬连线电路等)物理地实现,并且可可选地由固件和/或软件驱动。例如,电路可实现在一个或多个半导体芯片中,或者实现在基底支撑件(诸如,印刷电路板等)上。构成电路或块的电路可由专用硬件实现,或者由处理器(例如,一个或多个编程的微处理器和相关联的电路系统)实现,或者由执行电路或块的一些功能的专用硬件和执行电路或块的其它功能的处理器的组合实现。在不脱离本公开的范围的情况下,示例的每个电路或块可被物理地分成两个或更多个交互和分立的电路或块。同样地,在不脱离本公开的范围的情况下,示例的电路和块可被物理地组合成更复杂的电路和块。

重新加密电路100可从加密装置10的外部接收多个密文CT。换句话说,由重新加密电路100接收的数据可以是已经被加密并且已经是同态密文的密文CT。在一个实施例中,多个密文CT可以是根据同态加密技术加密的同态密文。重新加密电路100可基于由重新加密参数生成电路300提供的重新加密参数P_R对多个密文CT进行重新加密。重新加密参数P_R可包括多个重新加密等级,多个重新加密等级包括与多个密文CT中的每个对应的重新加密等级。重新加密电路100可将多个密文CT中的每个重新加密到包括在重新加密参数P_R中的多个重新加密等级之中的相应的重新加密等级。作为参照,将密文重新加密到重新加密等级可表示增大密文的初步文本的长度,使得重新加密的密文具有重新加密等级。重新加密电路100可通过基于重新加密参数P_R对多个密文CT进行重新加密来生成多个重新加密的密文CT_R,并且可将多个重新加密的密文CT_R提供给算术电路200。

算术电路200可通过使用由重新加密电路100提供的多个重新加密的密文CT_R来执行操作。例如,算术电路200可执行包括在算术场景SNR_A中的至少一个操作,该算术场景SNR_A包括操作的类型和/或顺序。算术场景SNR_A可由加密装置10内部地确定,并且根据实施例,算术场景SNR_A可以是从加密装置10外部给出或请求的信息。算术电路200可通过使用多个重新加密的密文CT_R执行操作来生成算术结果RST,并且可输出算术结果RST。算术电路200可将算术场景SNR_A提供给重新加密参数生成电路300。

重新加密参数生成电路300可基于由算术电路200提供的算术场景SNR_A,生成包括与多个密文对应的多个重新加密等级的重新加密参数P_R。为此,重新加密参数生成电路300可基于算术场景SNR_A确定多个重新加密等级。重新加密参数生成电路300可将重新加密参数P_R提供给重新加密电路100。在一个实施例中,多个重新加密等级中的至少两个可彼此不同。

等级消耗量表示在对密文执行的操作中消耗的一个或多个等级的数量(例如,数或量)。在一个实施例中,重新加密参数生成电路300可确定包括在算术场景SNR_A中的针对至少一个操作的等级消耗量。重新加密参数生成电路300可基于确定的针对至少一个计算的等级消耗量来确定多个重新加密等级。例如,针对多个密文中的每个,重新加密参数生成电路300可将对相应的密文执行的至少一个操作的等级消耗量进行求和,可因此将总和确定为对应于相应的密文的重新加密等级。将参照图5、图6、图7和图8更详细地描述该实施例。

在一个实施例中,针对来自多个密文之中的特定密文,对相应的密文执行的至少一个操作的等级消耗量的总和可大于最大重新加密等级。包括在密文中的初步文本可受限于初步文本可具有的最大长度。最大重新加密等级可表示与包括在密文中的初步文本可具有的最大长度对应的等级。在这种情况下,一次重新加密不能够满足算术场景SNR_A对相应的密文所需的规范。因此,重新加密参数生成电路300可将对相应的密文执行的至少一个操作的等级消耗量的总和划分为多个等级,并且可调度与多个等级对应的多个重新加密操作。这里,可在至少一个操作之间执行多个重新加密操作。在一个实施例中,重新加密参数生成电路300可另外将用于多个重新加密操作的调度信息提供给重新加密电路100。这里,重新加密电路100可从算术电路200接收通过执行至少一个操作中的一些操作而获得的中间结果RST_M,并且可根据调度信息对中间结果RST_M执行重新加密。将参照图9、图10和图11更详细地描述该实施例。

根据本公开的示例实施例,加密装置10可基于包括关于算术调度的信息的算术场景SNR_A来确定多个密文CT中的每个的重新加密等级,并且可将多个密文CT中的每个重新加密到确定的重新加密等级,该算术调度包括多个密文CT的操作的类型和/或顺序。可仅执行加密装置10需要的算术运算所需的重新加密。因此,一个或多个重新加密可被避免,并且不会被不必要地执行。因此,可减小重新加密中的计算量。此外,随着重新加密中的计算量被减小,加密装置10和装置1中的每个的操作速度可被提高。

图3是示出根据本公开的示例实施例的根据同态加密技术的用于密文的乘法运算的示图。关于图3,将参照图3和图2一起进行描述。

加密装置10可通过使用第一密文CT1和第二密文CT2来执行乘法运算。这里,第一密文CT1可包括第一初步文本PT1、第一消息M1和第一错误E1。第一初步文本PT1的长度可对应于长度L_p,第一密文CT1的长度可对应于模数q。如在此所用的,术语“模数”可表示固定的预定义值。同样地,第二密文CT2可包括第二初步文本PT2、第二消息M2和第二错误E2。第二初步文本PT2的长度可对应于长度L_p,第二密文CT2的长度可对应于模数q。因为需要对第一密文CT1和第二密文CT2执行乘法运算,所以第一密文CT1的长度可等于第二密文CT2的长度。换句话说,第一密文CT1的等级可等于第二密文CT2的等级。

加密装置10可通过使用第一密文CT1和第二密文CT2执行乘法运算来生成第三密文CT3。第三密文CT3可包括第三初步文本PT3、第三消息M3和第三错误E3。第三初步文本PT3的长度可对应于修改的长度L_p’,修改的长度L_p’小于长度L_p,第三消息M3可对应于第一消息M1与第二消息M2的乘积。第三错误E3的大小可大于第一错误E1的大小以及第二错误E2的大小。当密文的错误过大时,因为存在关于密文的可靠性的劣化的担忧,所以加密装置10可通过去除包括在第三密文CT3中的第三错误E3的一些最低有效位(LSB)来获得修改的第三错误E3*。加密装置10可获得包括第三初步文本PT3、第三消息M3和修改的第三错误E3*的修改的第三密文CT3*。修改的第三密文CT3*的长度可对应于模数q’,并且可小于第三密文CT3的模数q。由于知道通过使用具有模数q的已知和预定长度的第一密文CT1和第二密文CT2执行乘法运算的结果,因此模数q’的长度可以是固定和预定的。

在下面的描述中,为了便于描述,对密文执行包括乘法运算的操作并且然后去除错误的一些LSB的操作将被称为乘法和重新加密(multiplication and recryption,MAR)操作。

如上所述,当对第一密文CT1和第二密文CT2执行包括乘法运算的操作时,如在作为最终结果密文的修改的第三密文CT3*中那样,初步文本的长度可被减小。因此,如上所述,为了执行所需的操作,需要对多个密文CT中的一些或全部进行重新加密。还如上所述,重新加密可增大密文CT中的初步文本的长度。

图4示出根据本公开的示例实施例的由加密装置执行的密文算术方法的流程图。关于图4,将参照图4和图2一起进行描述。

加密装置10可基于算术场景确定将与第一密文联合计算的第二密文(S120)。加密装置10可基于算术场景SNR_A将多个密文CT中的每个重新加密到针对相应的密文确定的重新加密等级。例如,图2中的重新加密参数生成电路300可基于算术场景SNR_A确定与多个密文CT对应的多个重新加密等级,并且可将包括多个重新加密等级的重新加密参数P_R提供给图2中的重新加密电路100。重新加密电路100可基于包括在重新加密参数P_R中的多个重新加密等级对多个密文CT进行重新加密。例如,重新加密电路100可将多个密文CT中的每个重新加密到与相应的密文CT对应的重新加密等级。

基于算术场景,当第二密文与第一密文被联合计算时,加密装置10可预测第二密文的等级(S140)。加密装置10可通过使用多个重新加密的密文CT_R执行操作来输出算术结果RST。例如,重新加密电路100可将多个重新加密的密文CT_R提供给图2中的算术电路200,算术电路200可通过使用多个重新加密的密文CT_R执行操作来输出算术结果RST。

图5示出根据本公开的示例实施例的由加密装置执行的密文算术方法的流程图。具体地,图5可示出根据图4的操作S120的实施例的流程图。关于图5,将参照图5和图2一起进行描述。

加密装置10可确定包括在算术场景SNR_A中的至少一个操作中的每个的等级消耗量(S220)。例如,图2中的重新加密参数生成电路300可识别多个密文CT的至少一个操作,并且可确定至少一个操作中的每个的等级消耗量,该至少一个操作被包括在算术场景SNR_A中。这里,等级消耗量可表示与响应于相应的操作的执行而去除的LSB的长度对应的等级量。

加密装置10可针对多个密文中的每个基于算术场景确定相应的密文的重新加密等级(S240)。可通过将对相应的密文执行的至少一个操作的等级消耗量进行求和来执行S240的重新加密等级的确定。也就是说,在S240,针对多个密文CT中的每个,加密装置10可基于算术场景SNR_A将对相应的密文执行的至少一个操作的等级消耗量进行求和。加密装置10可将总和确定为与相应的密文对应的重新加密等级。对相应的密文执行的至少一个操作表示从密文的初始状态到算术结果RST对相应的密文执行的至少一个操作。

针对多个密文CT中的每个,加密装置10可将相应的密文重新加密到针对相应的密文确定的重新加密等级(S260)。例如,图2中的重新加密电路100可通过将多个密文CT重新加密到分别与多个密文CT对应的重新加密等级来生成多个重新加密的密文CT_R。

图6示出根据本公开的示例实施例的算术场景SNR_A。图6中示出的算术场景SNR_A的特定描述仅是为了便于描述示例实施例,并且在此描述的一个或多个发明构思不限于此。关于图6,将参照图6和图2一起进行描述。

在一个实施例中,算术场景SNR_A可包括关于对多个密文CT执行的操作、哪些密文CT用于每个操作以及由每个操作消耗的等级量的信息。

例如,根据图6的算术场景SNR_A,多个密文CT可包括第一密文CT1、第二密文CT2和第三密文CT3。在对第一密文CT1和第二密文CT2执行第一操作OP1之后,可对作为第一操作OP1的结果的中间结果RST_M和第三密文CT3执行第二操作OP2。换句话说,第一密文CT1经历第一操作OP1和第二操作OP2,第二密文CT2也经历第一操作OP1和第二操作OP2,第三密文CT3仅经历第二操作OP2。第一操作OP1的等级消耗量Cons_L可以是“3”,第二操作OP2的等级消耗量Cons_L可以是“5”。这里,第一操作OP1和第二操作OP2中的每个可包括至少一个乘法运算,并且经历第一操作OP1和第二操作OP2中的每个的密文的等级可由于其中包括的至少一个乘法运算而被消耗。

以下将参照图7描述根据这样的算术场景SNR_A确定多个密文CT的重新加密等级的实施例。

图7是示出根据本公开的示例实施例的重新加密和算术处理的概念图。具体地,图7可以是示出根据图5和图6的重新加密等级确定的实施例的概念图。关于图7,将参照图7以及图2、图5和图6一起进行描述。

在图5中的操作S220中,加密装置10可基于图6中示出的算术场景SNR_A确定由第一操作OP1和第二操作OP2消耗的等级量分别是“3”和“5”。

在操作S240中,加密装置10可将“8”确定为与第一密文CT1对应的重新加密等级,“8”是由对第一密文CT1执行的第一操作OP1和第二操作OP2消耗的等级量的总和。加密装置10可将“8”确定为与第二密文CT2对应的重新加密等级,“8”是由对第二密文CT2执行的第一操作OP1和第二操作OP2消耗的等级量的总和。加密装置10可将“5”确定为与第三密文CT3对应的重新加密等级,“5”是由对第三密文CT3执行的第二操作OP2消耗的等级量的总和。

在图5中的操作S260中,加密装置10可通过对具有等级“6”的第一密文CT1进行重新加密来生成具有等级“8”的重新加密的第一密文CT1_R,并且可通过对具有等级“0”的第二密文CT2进行重新加密来生成具有等级“8”的重新加密的第二密文CT2_R。因为第三密文CT3具有等级“5”,所以可不对第三密文CT3执行重新加密。当然,在此描述的一个或多个发明构思不限于在这里的任何示例中使用的重新加密的细节,并且根据实施例,当第三密文CT3的等级小于5时,也可对第三密文CT3执行重新加密。

加密装置10可通过经由使用重新加密的第一密文CT1_R和重新加密的第二密文CT2_R执行包括第一操作和LSB去除操作的MAR1操作来获得中间结果RST_M。加密装置10可通过经由使用中间结果RST_M和第三密文CT3执行包括第二操作和LSB去除操作的MAR2操作来获得算术结果RST。算术结果RST的等级可以是“0”。

根据比较示例的其中算术结果的等级远大于“0”的加密装置可执行许多不必要的重新加密操作。另一方面,根据本公开的示例实施例的加密装置10可在所需范围内以最小值执行重新加密操作。因此,在根据本公开的示例实施例的加密装置10中,重新加密操作中的计算量可被减少,并且加密装置10的操作速度可被提高。

图8示出根据本公开的示例实施例的参数映射表PMT。参数映射表PMT可对应于图2的参数映射表PMT。关于图8,将参照图8和图2一起进行描述。

参数映射表PMT可包括与多个操作组合对应的多个重新加密参数。每个操作组合可以是以特定顺序的操作的特定组合。例如,参数映射表PMT可包括与第一操作组合CO_1对应的第一重新加密参数P_R_1、与第二操作组合CO_2对应的第二重新加密参数P_R_2、以及与第N操作组合CO_N(其中,N是等于或大于2的自然数)对应的第N重新加密参数P_R_N。

多个重新加密参数中的每个可包括多个密文CT的多个重新加密等级。例如,第一重新加密参数P_R_1可包括作为第一密文的重新加密等级RL_1的等级值L11、作为第二密文的重新加密等级RL_2的等级值L21、以及作为第三密文的重新加密等级RL_3的等级值L31。同样地,例如,第二重新加密参数P_R_2可包括作为第一密文的重新加密等级RL_1的等级值L12、作为第二密文的重新加密等级RL_2的等级值L22、以及作为第三密文的重新加密等级RL_3的等级值L32。

参数映射表PMT可包括与第k操作组合CO_k(其中,k是自然数)对应的第k重新加密参数P_R_k。参照图6和图7,当第k操作组合CO_k表示以该叙述的顺序执行的第一操作OP1和第二操作OP2时,第k重新加密参数P_R_k可包括作为第一密文的重新加密等级RL_1的值“8”、作为第二密文的重新加密等级RL_2的值“8”、以及作为第三密文的重新加密等级RL_3的值“5”。

在一个实施例中,加密装置10可将参数映射表PMT与包括在算术场景SNR_A中的操作组合进行比较。例如,图2中的重新加密参数生成电路300可从包括在参数映射表PMT中的多个操作组合之中选择包括在算术场景SNR_A中的操作组合,并且可选择与从包括在参数映射表PMT中的多个重新加密参数之中选择的操作组合对应的重新加密参数。重新加密参数生成电路300可将选择的重新加密参数提供给图2中的重新加密电路100。

在一个实施例中,参数映射表PMT可以是在数据被预定之后存储在存储器400中的数据,使得根据参照图5、图6和图7描述的实施例针对多个密文确定多个重新加密等级。

图9示出根据本公开的示例实施例的由加密装置执行的密文算术方法的流程图。具体地,图9可示出当图5的操作S240中的总和大于最大重新加密等级时的密文算术方法的实施例。关于图9,将参照图9以及图2和图5一起进行描述。

在关于来自多个密文CT之中的特定密文的操作S240中,响应于对相应的密文执行的至少一个操作的等级消耗量的总和大于最大重新加密等级的情况,加密装置10可将关于相应的密文的总和划分为多个等级(S320)。例如,加密装置10可将总和划分为多个等级,使得多个等级中的每个小于或等于最大重新加密等级。这里,加密装置10可将总和划分为多个等级,使得等级的数量是通过将总和除以最大重新加密等级时的商加“1”获得的值。例如,当总和为“12”并且最大重新加密等级为“10”时,加密装置10可将“12”划分为两个等级(诸如,(10,2)、(9,3)、(8,4)、(7,5)、(6,6)、(5,7)、(4,8)、(3,9)或(2,10))。另外,例如,当总和为“23”并且最大重新加密等级为“10”时,加密装置10可将“23”划分为三个等级(诸如(10,10,3)等)。

在一个实施例中,在操作S320中,加密装置10可将通过将不大的自然数(诸如,1至3)与总和相加而获得的值划分为多个等级。这是为了准备操作的预期等级消耗量可随着加密装置10的环境、被执行操作的数据的类型、执行的操作的类型等而变化的可能性,以及在该处理期间可改变算术场景SNR_A的可能性。

加密装置10可在对相应的密文执行的至少一个操作之间调度与多个划分的等级对应的多个重新加密(S340)。例如,图2中的重新加密参数生成电路300可在对相应的密文执行的至少一个操作之间调度与多个划分的等级对应的多个重新加密。

加密装置10可根据操作S340中的重新加密调度来执行多个重新加密和至少一个操作(S360)。

以下将参照图10、图11A和图11B更详细地描述图9的流程图。

图10示出根据本公开的示例实施例的算术场景SNR_A。图10中示出的算术场景SNR_A的具体描述仅是为了便于描述,并且在此描述的一个或多个发明构思不限于在此描述的任何示例实施例的细节。关于图10,将参照图10和图2一起进行描述。

在一个实施例中,算术场景SNR_A可包括关于对多个密文CT执行的操作、哪些密文CT用于每个操作以及每个操作中消耗的等级量的信息。

例如,根据图10的算术场景SNR_A,多个密文CT可包括第一密文CT1、第二密文CT2和第三密文CT3。在对第一密文CT1和第二密文CT2执行第一操作OP1之后,可对作为第一操作OP1的结果的中间结果RST_M和第三密文CT3执行第二操作OP2。换句话说,第一密文CT1经历第一操作OP1和第二操作OP2,第二密文CT2也经历第一操作OP1和第二操作OP2,第三密文CT3仅经历第二操作OP2。第一操作OP1的等级消耗量Cons_1可以是“7”,第二操作OP2的等级消耗量Cons_1可以是“5”。

另外,在假设最大重新加密等级为“10”的情况下,以下将参照图11A和图11B描述根据算术场景SNR_A确定多个密文CT的重新加密等级的实施例。

图11A和图11B各自示出根据本公开的示例实施例的重新加密和算术处理。具体地,图11A和图11B可以是分别示出根据图9和图10的重新加密等级确定的实施例的概念图。关于图11A和图11B,将参照图11A和图11B以及图2、图9和图10一起进行描述。

首先参照图11A,在图9的操作S320中,响应于由对第一密文CT1执行的第一操作OP1和第二操作OP2消耗的等级量是“12”并因此大于最大重新加密等级“10”的情况,加密装置10可将“12”划分为两个等级。例如,加密装置10可将“12”划分为“10”和“2”。

在操作S340中,加密装置10可调度重新加密操作和算术操作,使得以该叙述的顺序对第一密文CT1顺序地执行与“10”对应的重新加密、第一操作OP1、与“2”对应的重新加密以及第二操作OP2。作为参照,首先执行的重新加密操作中的与“10”对应的重新加密可表示执行重新加密使得等级变为“10”,并且接下来执行的重新加密操作中的与“2”对应的重新加密可表示将等级增大多达“2”的重新加密操作。同样地,加密装置10可调度重新加密操作和算术操作,使得也以该叙述的顺序对第二密文CT2顺序地执行与“10”对应的重新加密、第一操作OP1、与“2”对应的重新加密以及第二操作OP2。

在操作S360中,加密装置10可根据调度来执行重新加密操作和算术操作。例如,图2中的算术电路200可通过经由使用重新加密的第一密文CT1_R和重新加密的第二密文CT2_R执行MAR1操作来获得具有等级“3”的中间结果RST_M。算术电路200可将中间结果RST_M提供给图2中的重新加密电路100,重新加密电路100可通过执行将具有等级“3”的中间结果RST_M的等级增大多达“2”的重新加密来获得重新加密的中间结果RST_M_R。因此,重新加密的中间结果RST_M_R的等级可以是“5”。

接下来,加密装置10可通过经由使用重新加密的中间结果RST_M_R和第三密文CT3执行MAR2操作来获得具有等级“0”的算术结果RST。

接下来,参照图11B,在图9的操作S320中,响应于由对第一密文CT1执行的第一操作OP1和第二操作OP2消耗的等级量是“12”并因此大于最大重新加密等级“10”的情况,加密装置10可将“12”划分为两个等级。例如,加密装置10可将“12”划分为“7”和“5”。

可以以与参照图11A进行的描述基本相同的方式执行后续操作S340和S360。

也就是说,在参照图11A描述的实施例中,在将对相应的密文执行的至少一个操作的等级消耗量的总和划分为多个等级时,加密装置10可首先将总和划分为包括最大重新加密等级(即,在该示例中为10)的等级,然后,最后剩余值可被包括在剩余等级中。

在参照图11B描述的实施例中,与图11A不同,在将对相应的密文执行的至少一个操作的等级消耗量的总和划分为多个等级时,加密装置10可首先分配与由第一操作OP1消耗的等级量一样多的等级(即,在该示例中为7),并且剩余值可被包括在剩余等级中。

图12示出根据本公开的示例实施例的由加密装置执行的密文算术方法的流程图。关于图12,将参照图12和图2一起进行描述。

在S420,加密装置10可基于算术场景SNR_A确定对多个密文CT执行的操作和执行的每个操作的等级消耗量。

在S440,加密装置10可基于在操作S420中确定的等级消耗量来确定多个密文CT的多个重新加密等级,使得算术结果RST的等级最小化。例如,图2中的重新加密参数生成电路300可优化多个重新加密等级,使得算术结果RST的等级最小化。在一个实施例中,重新加密参数生成电路300可生成多个重新加密等级,使得算术结果RST的等级为“0”。

在S460,针对多个密文CT中的每个,加密装置10可将相应的密文重新加密到针对相应的密文确定的重新加密等级。例如,图2中的重新加密电路100可通过将多个密文CT重新加密到分别与多个密文CT对应的重新加密等级来生成多个重新加密的密文CT_R。

图13示出根据本公开的示例实施例的SSD系统1000(固态驱动器(SSD)系统)。

SSD系统1000可包括主机1100和SSD 1200。SSD 1200可经由信号连接器(SIG)向主机1100发送信号并且从主机1100接收信号,并且可经由电源连接器(PWR)接收电力。SSD1200可包括SSD控制器1210、辅助电源1220以及多个闪存装置1230、1240和1250。

这里,SSD控制器1210可包括加密装置1212,加密装置1212可通过使用图1至图12中示出的实施例来实现。

虽然已经参照一个或多个发明构思的实施例具体示出和描述了在此描述的一个或多个发明构思,但是将理解,在不脱离权利要求的精神和范围的情况下,可在其中进行形式和细节上的各种改变。

26页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:数据传输方法、装置及电子设备、存储介质

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!