热词 | 素数 ql 同态加密 同态 加密 运算器 运算 级别 hamming 存储 | ||
专利类型 | 发明公开 | 法律事件 | 公开; |
专利有效性 | 公开 | 当前状态 | 公开 |
申请号 | CN202310695548.1 | 申请日 | 2023-06-13 |
公开(公告)号 | CN117640054A | 公开(公告)日 | 2024-03-01 |
申请人 | 三星电子株式会社; | 申请人类型 | 企业 |
发明人 | 文永植; 金志烨; 罗韩星; 孙弘乐; 崔城赫; | 第一发明人 | 文永植 |
权利人 | 三星电子株式会社 | 权利人类型 | 企业 |
当前权利人 | 三星电子株式会社 | 当前权利人类型 | 企业 |
省份 | 当前专利权人所在省份: | 城市 | 当前专利权人所在城市: |
具体地址 | 当前专利权人所在详细地址:韩国京畿道 | 邮编 | 当前专利权人邮编: |
主IPC国际分类 | H04L9/00 | 所有IPC国际分类 | H04L9/00 ; G06F7/575 |
专利引用数量 | 0 | 专利被引用数量 | 0 |
专利权利要求数量 | 20 | 专利文献类型 | A |
专利代理机构 | 北京天昊联合知识产权代理有限公司 | 专利代理人 | 赵南; 肖学蕊; |
摘要 | 提供了同态加密运算器、包括其的存储装置及其级别配置方法。同态加密运算器包括:级别配置单元,其被配置为通过根据用于同态加密运算的乘法的比例因子条件和增大或减小连续选择的素数的增大/减小条件选择不同值的多个素数来设定加密级别;以及模乘运算器,其被配置为使用所选多个素数来执行轻量级模乘,其中,级别配置单元包括:级别构造器,其被配置为基于比例因子条件和增大/减小条件来选择数分别具有所选Hamming权重的素数集,并且其中,级别配置单元还被配置为使用素数表以加密级别配置所选素数集。 | ||
权利要求 | 1.一种同态加密运算器,包括: |
||
说明书全文 | 同态加密运算器、包括其的存储装置及其级别配置方法[0001] 相关申请的交叉引用 技术领域[0003] 本文所描述的本公开的实施方式涉及同态加密系统,更具体地,涉及一种同态加密运算器、包括其的存储装置及其级别配置方法。 背景技术[0004] 加密技术用于加密消息以保护信息。近年来,随着通信的发展和移动装置的普及,对个人信息的安全要求越来越高。对于个人信息的保护,通常通过使用密钥对消息进行加密来发送或存储消息。然而,随着加密技术的发展,安全攻击技术也在不断发展。安全攻击者正在尝试各种技术破解密钥。因此,越来越担心在密钥的交付或管理中由于疏忽而导致安全事故的风险。 [0005] 作为第四代加密技术,即使在密文状态下执行操作而不将加密的信息解密,同态加密也可在对明文的操作之后提供与加密的值相同的结果。当使用同态加密时,可执行诸如统计处理和机器学习的各种操作而无需将密文解密。如果使用同态加密,则优点在于显露密钥的可能性相对小。因此,同态加密是提供基于大数据的服务的公司遵循其发展的关键技术。 [0006] 在同态加密技术当中,最接近商业化的技术是通过应用重启技术来解决对操作数量的限制的全同态加密技术。然而,在同态加密中,用于生成密文的素数的数量可能受到各种约束限制。例如,在应用残余数系统(以下,RNS)的同态加密系统中,密文中所使用的素数必须互素,具有相似的比特大小,并且具有较低的Hamming权重。由于满足这些条件的素数的数量小于系统配置所需的数量,所以可能难以构造轻量级同态加密运算器。发明内容 [0007] 本公开的实施方式提供了一种用于在轻量级同态加密运算器中充分确保满足系统要求的素数的数量的方法。 [0008] 根据本发明构思的实施方式,一种同态加密运算器包括:级别配置单元,其被配置为通过基于比例因子条件和增大/减小条件选择不同值的多个素数来设定加密级别,所述比例因子条件在同态加密运算中用于乘法,所述增大/减小条件用于增大或减小连续选择的素数;以及模乘运算器,其被配置为使用所选的多个素数来执行轻量级模乘,其中,级别配置单元包括:级别构造器,其被配置为基于比例因子条件和增大/减小条件来选择素数集,素数集的数分别具有所选的Hamming权重,并且其中,级别配置单元还被配置为使用素数表以加密级别来配置所选素数集。 [0009] 根据本发明构思的另一实施方式,一种用于配置同态加密系统的加密级别的方法,该方法包括:基于同态加密系统的要求来选择基素数“q0”和起始比例因子“qL”;选择具有目标Hamming权重并满足表达 的第一素数(qL‑1); 选择具有目标Hamming权重并满足表达 的第二素 数(qL‑2),其中Bclean是加密误差,并且当所选素数的数量达到目标级别时,使用所选素数配置同态加密运算的加密级别,其中,第一素数(qL‑1)和第二素数(qL‑2)之间的增大/减小对应于抵消起始比例因子(qL)和第一素数(qL‑1)之间的增大/减小的值。 [0010] 根据本发明构思的实施方式,一种被配置为执行密码操作的存储装置包括:至少一个非易失性存储器装置;以及存储控制器,其被配置为控制至少一个非易失性存储器装置的数据输入/输出,并且包括被配置为基于同态加密方法对数据进行加密的同态加密运算器,其中,同态加密运算器包括:级别配置单元,其被配置为通过基于比例因子条件和增大/减小条件选择不同值的多个素数来设定加密级别,所述比例因子条件在轻量级模乘运算中使用,所述增大/减小条件用于增大或减小连续选择的素数;以及模乘运算器,其被配置为使用所选素数来执行轻量级模乘运算。附图说明 [0011] 通过参照附图详细描述其实施方式,本公开的以上和其它目的和特征将变得显而易见。 [0012] 图1是示出根据一些实施方式的使用同态加密运算器的存储装置的框图。 [0013] 图2是示出图1的存储器控制器的配置的框图。 [0014] 图3是示出图2的同态加密运算器的详细配置的框图。 [0016] 图5是示出根据一些实施方式的用于构造同态加密级别的方法的流程图。 [0017] 图6是示出根据一些实施方式的同态加密运算器中执行的加密级别配置算法的另一示例的图。 [0018] 图7是示出图6中描述的所选素数的大小的变化的曲线图。 [0019] 图8是示出一些实施方式的一些效果的表。 [0020] 图9是示出根据一些实施方式的被配置为使用同态加密运算器执行各种应用的操作的存储器系统的横截面图。 具体实施方式[0021] 以下,将参照附图描述本公开的示例实施方式。然而,本公开可按许多不同的形式具体实现,不应被解释为限于本文所阐述的实施方式。贯穿本申请,相同的标号指代相似的元件。如本文所使用的,术语“和/或”包括一个或更多个相关所列项的任何和所有组合。要注意,尽管没有相对于其具体描述,关于一个实施方式描述的方面可被并入不同的实施方式中。即,所有实施方式和/或任何实施方式的特征可按任何方式和/或组合来组合。 [0022] 图1是示出根据一些实施方式的使用同态加密运算器的存储装置的框图。参照图1,存储装置1000包括存储器控制器1100和非易失性存储器(NVM)装置1200。例如,存储器控制器1100和非易失性存储器装置1200中的每一个可被设置成一个芯片、一个封装件或一个模块。在其它实施方式中,存储器控制器1100和非易失性存储器装置1200可形成为一个芯片、一个封装件或一个模块,并且可被设置成诸如嵌入式存储器、存储卡、记忆棒和固态驱动器SSD的存储部。 [0023] 存储器控制器1100可被配置为控制非易失性存储器装置1200。例如,存储器控制器1100可根据来自主机的请求将数据写入非易失性存储器装置1200或读取存储在非易失性存储器装置1200中的数据。为了访问非易失性存储器装置1200,存储器控制器1100可向非易失性存储器装置1200提供命令、地址、数据和控制信号。 [0024] 具体地,存储器控制器1100可包括根据本发明构思的实施方式的同态加密(HE)运算器1160。例如,当从主机输入对安全数据的写请求时,存储器控制器1100可使用同态加密运算器1160对数据进行加密并将数据写入非易失性存储器装置1200。在其它实施方式中,当存储器控制器1100从非易失性存储器装置1200读取以同态加密加密的数据时,其可使用同态加密运算器1160来解密。在其它实施方式中,在不根据主机的请求对存储在非易失性存储器装置1200中的以同态加密加密的数据进行解密的状态下,存储器控制器1100可执行诸如统计处理或机器学习的各种操作。 [0025] 对于该功能,同态加密运算器1160可包括仅使用轻量级模乘器的模乘运算器以及用于支持其的级别配置单元。模乘运算器被配置为对用于加密的素数执行乘法运算。然而,对于同态加密的乘法运算,大的硬件资源可用于具有大Hamming权重的素数。相反,根据本发明构思的实施方式的级别配置单元,即使以相对小的Hamming权重,也可确保密码操作所需的足够数量的素数。因此,本发明构思的实施方式的同态加密运算器1160可以用相对少的硬件资源和相对低的成本提供高安全性能。下面将参照附图详细描述同态加密运算器1160的实施方式的详细配置和功能。 [0026] 非易失性存储器装置1200可在存储器控制器1100的控制下存储从存储器控制器1100接收的数据或将存储的数据发送到存储器控制器1100。因此,由同态加密运算器1160加密的数据可被存储在非易失性存储器装置1200中。非易失性存储器装置1200可包括多个存储器块BLK1至BLKn‑1。多个存储器块BLK1至BLKn‑1中的每一个具有字线层在垂直方向上层叠在基板上的三维存储器结构。多个存储器块BLK1至BLKn‑1中的每一个可由存储器控制器1100使用诸如擦除计数的磨损均衡信息来管理。 [0027] 根据本发明的上述实施方式,存储装置1000的同态加密运算器1160可满足系统要求并且可确保同态加密运算所需的足够数量的素数。因此,同态加密运算器1160可通过仅使用轻量级模乘器的加密运算以相对少的硬件资源来实现。 [0028] 图2是示出根据一些实施方式的图1的存储器控制器的配置的框图。参照图2,根据一些实施方式的存储器控制器1100包括处理单元1110、工作存储器1130、主机接口(I/F)1150、同态加密运算器1160和闪存(例如NVM)接口1170。然而,将很好理解,存储器控制器 1100的组件不限于上述组件。例如,存储器控制器1100还可包括只读存储器(ROM)或纠错码块(ECC块)以用于存储用于启动操作的代码数据。 [0029] 处理单元1110可包括中央处理单元或微处理器。处理单元1110可执行用于驱动存储器控制器1100的固件。具体地,处理单元1110可执行加载到工作存储器1130中的软件。例如,处理单元1110可执行存储装置1200的核心功能,例如闪存转换层FTL。 [0030] 工作存储器1130加载有用于控制存储器控制器1100的软件(或固件)或数据。加载到工作存储器1130中的软件和数据由处理单元1110执行或处理。工作存储器1130可加载有闪存转换层FTL或各种应用程序。由处理单元1110执行的闪存转换层通常执行诸如地址映射、垃圾收集和磨损均衡的功能。 [0031] 主机接口1150在主机和存储器控制器1100之间提供接口。主机和存储器控制器1100可通过各种标准化接口之一来连接。这里,标准接口可包括诸如ATA(高级技术附件)、SATA(串行ATA)、e‑SATA(外部SATA)、SCSI(小型计算机小型接口)、SAS(串行附接SCSI)、PCI(外围组件互连)、PCIe(快速PCI)、USB(通用串行总线)、IEEE 1394、UFS(通用闪存)、eMMC(嵌入式多媒体卡)和/或NVMe、CXL(计算快速链路)的各种接口标准。 [0032] 同态加密运算器1160可包括由轻量级模乘器组成的模乘运算器和用于支持模乘运算器的级别配置单元。同态加密运算器1160可通过级别配置单元即使以相对小的 Hamming权重(例如,3、4、5)也确保用于同态加密运算的足够数量的素数。同态加密运算器 1160可提供比通过级别配置单元选择的素数的比特大小值应该相似的现有条件更宽松的 条件。因此,根据本发明的同态加密运算器1160,可以用相对小的硬件资源和相对低的成本提供高安全性能的同态加密运算。这里,描述了同态加密运算器1160由硬件组成,但本发明构思的实施方式不限于此。即,同态加密运算器1160被配置成软件模块并且加载到工作存储器1130中,并且可由诸如处理单元1110或GPU的处理器执行。 [0033] 闪存接口1170在存储器控制器1100和非易失性存储器装置1200之间提供接口。例如,由处理单元1110处理的数据通过闪存接口1170被存储在非易失性存储器装置1200中。作为另一示例,存储在非易失性存储器装置1200中的数据可通过闪存接口1170与存储器控制器1100交换。 [0034] 描述了根据上述一些实施方式的存储器控制器1100的配置。根据本发明构思的一些实施方式中的存储器控制器1100的功能,可由同态加密运算器1160的功能提供高安全性能。另外,同态加密运算器1160可通过应用放宽的素数选择条件来确保加密运算所需的足够数量的素数。另外,由于可使用轻量级模乘器,所以可支持以相对低的成本具有通常高的安全性能的存储装置1000。 [0035] 图3是示出根据一些实施方式的图2的同态加密运算器的详细配置的框图。参照图3,同态加密运算器1160包括级别配置单元1162和模乘运算器1164。 [0036] 级别配置单元1162可包括级别构造器1161和素数表1163。级别构造器1161定义用于同态加密运算的素数比特大小值条件。以下,本发明的少量的比特大小值条件将被称为第一条件。并且级别构造器1161应用可在放宽的比特大小值条件内确保尽可能多的素数的选择条件。素数的选择条件在下文中将被称为第二条件。 [0037] 级别构造器1161中定义的第一条件可从比例因子的约束条件推导。即,比例因子“si”由同态加密中使用的素数“qi”确定。按惯例,传统上使用了通过将所有素数设定为几乎相同的值而使所有比例因子相等的条件,但在本发明构思的一些实施方式中,定义放宽的素数选择条件。 [0038] 首先,所选素数的集合为{q0,q1,…,qL},将比例因子设定为{s1,s2,…,sL}。这里,2 “s1=qL”并且“si+1=si/qL‑1”。在该基本条件下,比例因子的约束可由下式1表示。 [0039] [式1] [0040] [0041] 这里,“Bclean”表示加密误差。因此,根据式1,比例因子“si”可在大于起始比例因子“qL”除以加密误差且小于基素数“q0”的范围内选择。在此条件下,由于比例因子“si”指示在缩放之后的数据准确性,所以可以说这是在移除或减少加密误差的同时不会导致原始数据的损失的条件。 [0042] 另外,由小数集组成的加密级别的比例因子稳定(不变)条件可由下式2表示。 [0043] [式2] [0044] [0045] 由式2表示的比例因子稳定条件指示比例因子可具有与起始比例因子“qL”相似的值。 [0046] 在作为一个示例同态加密技术的Cheon‑Kim‑Kim‑Song方案(CKKS)中,比例因子是确定原始数据的精度比特的值。在同态加密系统中,输出精度对应于通过从起始比例因子“s1=qL”减去加密误差“Bclean”和运算深度“L”而获得的值。这里,加密误差“Bclean”和运算深度“L”是在构造同态加密系统时确定的值。 [0047] 如果表示比例因子“si”的基本条件和约束条件的式1和表示比例因子“si”的稳定条件的式2被总结为素数表达,则可如下所述获得式3。 [0048] [式3] [0049] [0050] 在现有技术中,存在同态加密中使用的素数(qi,1≤i≤L)的比特大小值应该几乎相同的约束。相反,根据本发明构思的一些实施方式,可选择在满足式3的范围内具有不同比特大小值的素数集合{q0,q1,…,qL}。 [0051] 根据不等式形式的式3,中间项表示通过将起始比例因子“qL”和素数(qi,1≤i≤L)i‑1之间的差乘以“2 ”而累积的值。素数“qi”可在上限“log2(q0/qL)”和加密误差的比特宽度的负值下限之间的范围内选择。 [0052] 在上述式3中,与首次用于同态加密运算的素数“qL”相比,稍后使用的素数(qi,1≤i‑1i≤L‑1)乘以权重“2 ”并累积。因此,为了即使在大的“L”深度下也满足式3,可能有利的是选择素数以使得素数“qi”的大小的增大或减小可被链式抵消。因此,如果该条件的素数如下式4所示以链形式配置,则素数的大小的增大或减小可链式抵消。因此,即使在相对大的“L”深度下也可选择素数“qi”,从而确保同态加密运算中要使用的大量素数。 [0053] [式4] [0054] [0055] 参考式4,{i‑1,i‑2}区间的比例因子为 因此,可以看出,素数在增大或减小±α, 的差的同时经过两个级别而抵消。素数“qi”可根据比例因子约束在下 式5的范围内选择。 [0056] [式5] [0057] [0058] 级别构造器1161可根据式3和式4的放宽的素数条件以同态加密运算中要使用的足够数量的素数来配置同态加密级别。因此,即使仅由轻量级模乘器组成的模乘运算器 1164也可充分执行加密运算所需的乘法运算。 [0059] 素数表1163存储由级别构造器1161根据式3和式4的条件和/或构造的同态加密的级别选择的素数。例如,当模乘运算器1164的运算深度为“L”时,大于“L”的素数可以表的形式存储在素数表1163中。当请求同态加密运算器1160的同态加密运算时,素数表1163可根据对应加密运算的深度供应对应数量的素数。 [0060] 模乘运算器1164可包括多个轻量级模乘器(LMM)1165。如果Hamming权重是大的数(例如,6或更大),则可能需要具有相对高性能的大量硬件资源来处理这些素数的模乘。相反,当使用根据本发明构思的一些实施方式根据式3和式4的条件选择的素数时,可使用由轻量级硬件制成的轻量级模乘器(LMM)来执行加密运算。 [0061] 在上述实施方式中,简要描述了本发明构思的实施方式的同态加密运算器1160的配置和功能。如上所述,级别配置单元1162可能能够根据本发明构思的实施方式根据素数选择方法确保具有大小相对小的Hamming权重(例如,3、4、5)的足够数量的素数以用于同构密码运算。 [0062] 图4示出根据本发明构思的实施方式的同态加密运算器中执行的加密级别构造算法。参照图4,可基于上述式1至式5执行本发明的级别配置算法。 [0063] 在第一操作中,根据同态加密系统的要求选择基素数“q0”和起始比例因子“qL”。这里,同态加密系统的要求可包括素数的Hamming权重(hp)、同态加密多项式的次数(N)、输入高斯误差的标准偏差(σ)、密钥的Hamming权重(hs)和/或所需输出准确性的比特数。 [0064] 在第二操作中,选择具有目标Hamming权重(hp)的素数“qL‑1”。在这种情况下,可在满足下式6的范围内选择所选素数“qL‑1”。 [0065] [式6] [0066] [0067] 在第三操作中,选择具有目标Hamming权重(hp)的素数“qL‑2”。即,当“log2(qL/qL‑1)=±α”时,选择满足 的素数“qL‑2”以满足上述式4。另外,素数“qL‑2”必须满足下式7。 [0068] [式7] [0069] [0070] 这样,可通过执行直至第三操作的程序来选择素数{qL,qL‑1,qL‑2}。 [0071] 在第四操作中,检查所选素数{qL,qL‑1,qL‑2}的数量是否达到目标级别L。如果所选素数{qL,qL‑1,qL‑2}的数量未达到目标级别L,则在第五操作中,重复上面执行的第二至第三操作以获得额外的素数。 [0072] 然而,如第六操作中一样,如果确定所选素数的数量已达到目标级别,则程序进行到使用所选素数构造加密运算级别的第七操作。在第七操作中,所选素数以查找表LUT的形式构造或存储,并且此后将用于乘法运算。 [0073] 图5是示出根据本发明构思的实施方式的用于配置同态加密级别的方法的流程图。参照图5,可在满足系统要求的同时确保同态加密运算所需的足够数量的素数。 [0074] 在操作S110中,根据同态加密系统的要求选择基素数“q0”和起始比例因子“qL”。这里,同态加密系统的要求可包括素数的Hamming权重(hp)、同态加密多项式的次数(N)、输入高斯误差的标准偏差(σ)、密钥的Hamming权重(hs)和/或所需输出准确性的比特数。 [0075] 在操作S 120中,选择具有目标Hamming权重(hp)的素数“qL‑1”。在这种情况下,所选素数“qL‑1”可在满足上述式6的范围内选择。 [0076] 在操作S 130中,选择具有目标Hamming权重(hp)的素数“qL‑2”。即,当log2(qL/qL‑1)=±α时,可选择素数“qL‑2”以满足式4和上述条件 另外,素数“qL‑2”必须满足上述式7。 [0077] 在操作S140中,检查在步骤S110至S130中选择的素数{qL,qL‑1,qL‑2}的数量是否已达到目标级别或深度L。如果确定所选素数的数量大于目标级别L(“是”方向),则程序移动到操作S150。相反,如果确定所选素数的数量不大于目标级别或深度L(在“否”方向上),则程序返回到操作S 120以继续附加素数选择操作。将理解,在附加素数选择操作中,目标Hamming权重(hp)可被设定为先前程序中应用的值,并且可增大或减小。 [0078] 在方框S150中,使用所选素数来构造加密运算级别。 [0079] 图6是示出根据本发明构思的一些实施方式的同态加密运算器中执行的加密运算级别配置算法的另一示例的图。参照图6,本发明的级别配置算法可基于上述式1至式5来执行。 [0080] 在第一操作中,根据同态加密系统的要求选择基素数“q0”和起始比例因子“qL”。这里,同态加密系统的要求可包括素数的Hamming权重(hp)、同态加密多项式的次数(N)、输入高斯误差的标准偏差(σ)、密钥的Hamming权重(hs)和/或所需输出准确性的比特数。 [0081] 在第二操作中,选择具有目标Hamming权重(hp)的素数“qL‑1”。在这种情况下,可在满足上述式6的范围内选择所选素数“qL‑1”。 [0082] 在第三操作中,选择具有目标Hamming权重(hp)的素数“qL‑2”。即,当“log2(qL/qL‑1)=±α”时,选择素数“qL‑2”以满足上述式4和条件 另外,素数“qL‑2”必须满足式7。这样,可通过执行直至第三操作的程序来选择素数{qL,qL‑1,qL‑2}。 [0083] 在第四操作中,选择具有目标Hamming权重(hp)的素数“qL‑3”。在这种情况下,可在满足下式8的范围内选择所选素数“qL‑3”。 [0084] [式8] [0085] [0086] 在第五操作中,选择具有目标Hamming权重(hp)的素数“qL‑4”。即,当“log2(qL/qL‑3)=±β”时,选择素数“qL‑4”以满足上述式4和条件 另外,素数“qL‑4”必须满足下式9。 [0087] [式9] [0088] [0089] 在第六操作中,可通过执行直至第五操作的程序来选择素数{qL,qL‑1,qL‑2,qL‑3,qL‑4}。此时,检查所选素数{qL,qL‑1,qL‑2,qL‑3,qL‑4}的数量是否已达到目标级别L。如果所选素数{qL,qL‑1,qL‑2,qL‑3,qL‑4}的数量未达到目标级别L,则在第七操作中,通过重复上面执行的第四至第五操作,可确保或获得额外的素数。 [0090] 相反,如第八操作中一样,如果确定所选素数的数量已达到目标级别L,则程序进行到使用所选素数构造加密运算级别的第九操作。在第九操作中,以查找表LUT的形式构造或存储所选素数,其此后将用于乘法运算。 [0091] 图7是示出图6中描述的所选素数的值的变化的曲线图。参照图7,可以看出,在起始比例因子“qL”周围的链中重复“±α, ”的增大/减小的同时,根据式3和式4的条件选择的素数维持相似的值。 [0092] 最初,根据同态加密系统的要求选择基素数“q0”和起始比例因子“qL”。然后,选择满足式3和式4的条件的素数“qL‑1,i=1”。此时,素数“qL‑1,i=1”变为值增大的“log2(qL/qL‑1)=+α”。随后,根据式4选择素数“qL‑2,i=2”。素数“qL‑2,i=2”对应于“log2(qL/qL‑2)=‑2α”,其具有比素数“qL‑1,i=1”减小的大小。 [0093] 然后,选择满足式8的素数“qL‑3,i=3”。此时,根据权重的变化,其可以是“log2(qL/qL‑3)=+2α”,但也可改变为“log2(qL/qL‑3)=±β”或 [0094] 这样,可从相似比特大小值的素数范围选择多个素数{qL,qL‑1,qL‑2,qL‑3,qL‑4}。将重复所选数量的素数{qL,qL‑1,qL‑2,qL‑3,qL‑4},直至可构造或获得目标级别L。 [0095] 图8是示出本发明构思的实施方式的效果的表。参照图8,根据一些实施方式的素数选择方法的应用提供了在素数表中以20至30比特范围内的Hamming权重(hp=3)配置素数选择和同态加密级别的示例。 [0096] 当应用传统素数选择方法时,可仅选择所选素数的具有相似比特大小值的素数集2100。在这种情况下,根据可配置同态加密级别2300,可仅配置27比特大小的四个级别。 [0097] 相反,依据根据本发明构思的实施方式的素数选择方法,可选择表2200中满足式3和式4的所有给定素数。因此,根据可配置同态加密级别2400,可配置12个或更多级别。 [0098] 图9是示出能够使用根据本发明构思的实施方式的同态加密运算器处理各种应用的操作的存储器系统的横截面图。参照图9,被实现为层叠存储器的存储器系统3000包括PCB基板3100、中介层3150、主机管芯3200、逻辑管芯3300以及HBM 3310、3320、3330和3340。 [0099] 存储器系统3000使用中介层3150将HBM 3310、3320、3330和3340连接到主机管芯3200。中介层3150设置在PCB 3100上并且通过倒装芯片凸块FB电连接到PCB 3100。 [0100] 主机管芯3200、逻辑管芯3300以及层叠的HBM 3310、3320、3330和3340可设置在中介层3150上。TSV线形成在多个HBM 3310、3320、3330和3340中以实现存储器系统3000。TSV线可电连接到形成在多个HBM 3310、3320、3330和3340之间的微凸块MB。 [0101] 这里,存储在多个HBM 3310、3320、3330和3340中的至少一个中的数据可由应用了根据本发明构思的一些实施方式的素数选择方法的同态加密运算器处理。例如,同态加密运算器可由逻辑管芯3300或主机管芯3200的一部分形成。 |