本文所描述的本公开的实施方式涉及同态加密系统,更具体地,涉及一种同态加密运算器、包括其的存储装置及其级别配置方法。
背景技术:
1、加密技术用于加密消息以保护信息。近年来,随着通信的发展和移动装置的普及,对个人信息的安全要求越来越高。对于个人信息的保护,通常通过使用密钥对消息进行加密来发送或存储消息。然而,随着加密技术的发展,安全攻击技术也在不断发展。安全攻击者正在尝试各种技术破解密钥。因此,越来越担心在密钥的交付或管理中由于疏忽而导致安全事故的风险。
2、作为第四代加密技术,即使在密文状态下执行操作而不将加密的信息解密,同态加密也可在对明文的操作之后提供与加密的值相同的结果。当使用同态加密时,可执行诸如统计处理和机器学习的各种操作而无需将密文解密。如果使用同态加密,则优点在于显露密钥的可能性相对小。因此,同态加密是提供基于大数据的服务的公司遵循其发展的关键技术。
3、在同态加密技术当中,最接近商业化的技术是通过应用重启技术来解决对操作数量的限制的全同态加密技术。然而,在同态加密中,用于生成密文的素数的数量可能受到各种约束限制。例如,在应用残余数系统(以下,rns)的同态加密系统中,密文中所使用的素数必须互素,具有相似的比特大小,并且具有较低的hamming权重。由于满足这些条件的素数的数量小于系统配置所需的数量,所以可能难以构造轻量级同态加密运算器。
技术实现思路
1、本公开的实施方式提供了一种用于在轻量级同态加密运算器中充分确保满足系统要求的素数的数量的方法。
2、根据本发明构思的实施方式,一种同态加密运算器包括:级别配置单元,其被配置为通过基于比例因子条件和增大/减小条件选择不同值的多个素数来设定加密级别,所述比例因子条件在同态加密运算中用于乘法,所述增大/减小条件用于增大或减小连续选择的素数;以及模乘运算器,其被配置为使用所选的多个素数来执行轻量级模乘,其中,级别配置单元包括:级别构造器,其被配置为基于比例因子条件和增大/减小条件来选择素数集,素数集的数分别具有所选的hamming权重,并且其中,级别配置单元还被配置为使用素数表以加密级别来配置所选素数集。
3、根据本发明构思的另一实施方式,一种用于配置同态加密系统的加密级别的方法,该方法包括:基于同态加密系统的要求来选择基素数“q0”和起始比例因子“ql”;选择具有目标hamming权重并满足表达的第一素数(ql-1);选择具有目标hamming权重并满足表达的第二素数(ql-2),其中bclean是加密误差,并且当所选素数的数量达到目标级别时,使用所选素数配置同态加密运算的加密级别,其中,第一素数(ql-1)和第二素数(ql-2)之间的增大/减小对应于抵消起始比例因子(ql)和第一素数(ql-1)之间的增大/减小的值。
4、根据本发明构思的实施方式,一种被配置为执行密码操作的存储装置包括:至少一个非易失性存储器装置;以及存储控制器,其被配置为控制至少一个非易失性存储器装置的数据输入/输出,并且包括被配置为基于同态加密方法对数据进行加密的同态加密运算器,其中,同态加密运算器包括:级别配置单元,其被配置为通过基于比例因子条件和增大/减小条件选择不同值的多个素数来设定加密级别,所述比例因子条件在轻量级模乘运算中使用,所述增大/减小条件用于增大或减小连续选择的素数;以及模乘运算器,其被配置为使用所选素数来执行轻量级模乘运算。
1.一种同态加密运算器,包括:
2.根据权利要求1所述的运算器,其中,所述比例因子条件包括:
3.根据权利要求2所述的运算器,其中,所述比例因子条件包括比例稳定条件,所述比例稳定条件中比例因子“si”和起始比例因子“ql”之间的差在参考级别内。
4.根据权利要求1所述的运算器,其中,通过将起始比例因子“ql”的对数值和所选素数“qi”的对数值之间的差乘以“2i-1”而累积的值在以基素数“q0”和起始比例因子“ql”之间的比特宽度差“log2(q0/ql)”作为上限并以加密误差的比特宽度的负值作为下限的范围内分布,其中,1≤i≤l。
5.根据权利要求4所述的运算器,其中,所选素数{q0,q1,...,ql}满足下面的第一不等式的条件,
6.根据权利要求4所述的运算器,其中,所述增大/减小条件是从所选素数“qi”连续选择的两个素数{qi-1,qi-2}的增大或减小被设定为“+α”和“-2α”、或者“-α”和“+2α”。
7.根据权利要求6所述的运算器,其中,在满足下面第二不等式的条件的范围内选择从所选素数“qi”连续选择的两个素数{qi-1,qi-2},
8.根据权利要求1所述的运算器,其中,所选素数{q0,q1,…,ql}中的每一个的hamming权重为3、4或5。
9.根据权利要求8所述的运算器,其中,所述模乘运算器包括:轻量级模乘器,其被配置为使用所选素数{q0,q1,…,ql}通过移位运算和加法/减法运算的组合来执行所述轻量级模乘运算。
10.一种用于配置同态加密系统的加密级别的方法,包括:
11.根据权利要求10所述的方法,其中,当起始比例因子“ql”和第一素数“ql-1”之间的增大/减小为“+α”时,第一素数“ql-1”和第二素数“ql-2”之间的增大/减小为“-2α”。
12.根据权利要求10所述的方法,其中,当起始比例因子“ql”和第一素数“ql-1”之间的增大/减小为“-α”时,第一素数“ql-1”和第二素数“ql-2”之间的增大/减小为“+2α”。
13.根据权利要求10所述的方法,其中,起始比例因子“ql”、第一素数“ql-1”和第二素数“ql-2”满足条件:
14.根据权利要求13所述的方法,其中,包括起始比例因子“ql”、第一素数“ql-1”和第二素数“ql-2”的所选素数集{q0,q1,…,ql}满足下面第一不等式的条件:
15.根据权利要求14所述的方法,其中,在满足下面第二不等式的条件的范围内选择使用起始比例因子“ql”连续选择的第一素数“ql-1”和第二素数“ql-2”:
16.根据权利要求14所述的方法,其中,所选素数{q0,q1,…,ql}的hamming权重为3、4或5。
17.根据权利要求16所述的方法,其中,通过移位运算和加法/减法运算的组合来执行对所选素数{q0,q1,…,ql}的模乘运算。
18.一种被配置为执行密码操作的存储装置,该装置包括:
19.根据权利要求18所述的存储装置,其中,所述级别配置单元包括:
20.根据权利要求18所述的存储装置,其中,所选素数集满足条件: