以下描述涉及具有同态加密操作的装置和方法。
背景技术:
1、同态加密是一种能够在加密数据之间进行任意操作的加密方法。利用同态加密可以在不对加密数据进行解密的情况下实现对加密数据的任意操作,并且同态加密可以是基于晶格的,因此抵抗量子算法并且是安全的。
2、盲旋转操作技术可以用于在同态加密中对密文信息执行任意函数操作,并为操作结果提供高精度,但可能具有公共密钥的大小明显较大的缺点。
3、盲旋转操作可能需要大量存储器,并且当同态加密操作所需的公共密钥的大小减小时,计算量可能大大增加。
技术实现思路
1、提供本
技术实现要素:
以用简化形式介绍对下面在具体实施方式中进一步描述的构思的选择。本发明内容不意在标识所请求保护的主题的关键特征或基本特征,也不意在用作帮助确定所请求保护的主题的范围。
2、在一个或多个总体方面,一种具有同态加密操作的装置包括:一个或多个处理器,被配置为:基于盲旋转操作的输出密文的多项式的阶数和盲旋转操作的操作数密文的模数,通过预处理盲旋转操作的操作数密文的向量分量,生成修改的向量;基于用于执行盲旋转操作的公共密钥和修改的向量,通过执行盲旋转操作来生成同态加密操作结果。
3、公共密钥可以包括盲旋转密钥、自同构密钥和密钥切换密钥。
4、公共密钥可以是基于修改的向量和秘密密钥来生成的。
5、针对生成修改的向量,一个或多个处理器可以被配置为:将模数和输出密文的阶数进行比较;以及基于该比较的结果来生成修改的向量。
6、针对生成修改的向量,一个或多个处理器可以被配置为:基于操作数密文的向量分量的一部分来生成第一集合;以及
7、基于第二集合来生成修改的向量,其中,第一集合和第二集合是不相交的。
8、针对生成同态加密操作结果,一个或多个处理器可以被配置为:响应于操作数密文的向量分量的生成器是独有的,基于该生成器来确定循环索引;以及基于循环索引来执行盲旋转操作。
9、针对生成同态加密操作结果,一个或多个处理器可以被配置为:基于操作数密文的第一集合来执行第一盲操作;以及基于操作数密文的第二集合来执行第二盲操作。
10、针对生成同态加密操作结果,一个或多个处理器可以被配置为:基于修改的向量,通过执行递增操作、自同构操作和密钥切换操作来执行盲旋转操作。
11、针对生成同态加密操作结果,一个或多个处理器可以被配置为:确定操作数密文的向量分量中的奇数的数量和偶数的数量;以及基于奇数的数量和偶数的数量的比较结果,将操作数密文的向量分量加“1”。
12、针对生成同态加密操作结果,一个或多个处理器可以被配置为:响应于操作数密文的向量分量为偶数,基于盲旋转密钥来执行盲旋转操作,该盲旋转密钥基于公共密钥的秘密密钥的向量分量、秘密密钥的向量分量的负和、以及秘密密钥的向量分量之中的连续向量分量的和。
13、该装置可以包括接收器,该接收器被配置为接收公共密钥和操作数密文。
14、在一个或多个总体方面,一种处理器实现的具有同态加密操作的方法包括:基于盲旋转操作的输出密文的多项式的阶数和盲旋转操作的操作数密文的模数,通过预处理盲旋转操作的操作数密文的向量分量,生成修改的向量;以及基于用于执行盲旋转操作的公共密钥,通过对修改的向量执行盲旋转操作来生成同态加密操作结果。
15、公共密钥可以包括盲旋转密钥、自同构密钥和密钥切换密钥。
16、公共密钥是基于修改的向量和秘密密钥来生成的。
17、生成修改的向量可以包括:将模数和输出密文的阶数进行比较;以及基于该比较的结果来生成修改的向量。
18、生成修改的向量可以包括:基于操作数密文的向量分量的一部分来生成第一集合;以及基于第二集合来生成修改的向量,其中,第一集合和第二集合是不相交的。
19、生成同态加密操作结果可以包括:响应于操作数密文的向量分量的生成器是独有的,基于该生成器来确定循环索引;以及基于循环索引来执行盲旋转操作。
20、生成同态加密操作结果可以包括:基于操作数密文的第一集合来执行第一盲操作;以及基于操作数密文的第二集合来执行第二盲操作。
21、生成同态加密操作结果可以包括:基于修改的向量,通过执行递增操作、自同构操作和密钥切换操作来执行盲旋转操作。
22、生成同态加密操作结果可以包括:确定操作数密文的向量分量中的奇数的数量和偶数的数量;以及基于奇数的数量和偶数的数量的比较结果,将操作数密文的向量分量加“1”。
23、生成同态加密操作结果可以包括:响应于操作数密文的向量分量为偶数,基于盲旋转密钥来执行盲旋转操作,该盲旋转密钥基于公共密钥的秘密密钥的向量分量、秘密密钥的向量分量的负和、以及秘密密钥的向量分量之中的连续向量分量的和。
24、其他特征和方面将通过以下详细描述、附图和权利要求变得清楚明白。
1.一种具有同态加密操作的装置,所述装置包括:
2.根据权利要求1所述的装置,其中,所述公共密钥包括盲旋转密钥、自同构密钥和密钥切换密钥。
3.根据权利要求1所述的装置,其中,所述公共密钥是基于所述修改的向量和秘密密钥来生成的。
4.根据权利要求1所述的装置,其中,针对生成所述修改的向量,所述一个或多个处理器被配置为:
5.根据权利要求1所述的装置,其中,针对生成所述修改的向量,所述一个或多个处理器被配置为:
6.根据权利要求1所述的装置,其中,针对生成所述同态加密操作结果,所述一个或多个处理器被配置为:
7.根据权利要求1所述的装置,其中,针对生成所述同态加密操作结果,所述一个或多个处理器被配置为:
8.根据权利要求1所述的装置,其中,针对生成所述同态加密操作结果,所述一个或多个处理器被配置为:基于所述修改的向量,通过执行递增操作、自同构操作和密钥切换操作来执行所述盲旋转操作。
9.根据权利要求1所述的装置,其中,针对生成所述同态加密操作结果,所述一个或多个处理器被配置为:
10.根据权利要求1所述的装置,其中,针对生成所述同态加密操作结果,所述一个或多个处理器被配置为:响应于所述操作数密文的所述向量分量为偶数,基于盲旋转密钥来执行所述盲旋转操作,所述盲旋转密钥基于所述公共密钥的秘密密钥的向量分量、所述秘密密钥的所述向量分量的负和、以及所述秘密密钥的所述向量分量之中的连续向量分量的和。
11.根据权利要求1所述的装置,还包括接收器,所述接收器被配置为接收所述公共密钥和所述操作数密文。
12.一种处理器实现的具有同态加密操作的方法,所述方法包括:
13.根据权利要求12所述的方法,其中,所述公共密钥包括盲旋转密钥、自同构密钥和密钥切换密钥。
14.根据权利要求12所述的方法,其中,所述公共密钥是基于所述修改的向量和秘密密钥来生成的。
15.根据权利要求12所述的方法,其中,生成所述修改的向量包括:
16.根据权利要求12所述的方法,其中,生成所述修改的向量包括:
17.根据权利要求12所述的方法,其中,生成所述同态加密操作结果包括:
18.根据权利要求12所述的方法,其中,生成所述同态加密操作结果包括:
19.根据权利要求12所述的方法,其中,生成所述同态加密操作结果包括:基于所述修改的向量,通过执行递增操作、自同构操作和密钥切换操作来执行所述盲旋转操作。
20.根据权利要求12所述的方法,其中,生成所述同态加密操作结果包括:
21.根据权利要求12所述的方法,其中,生成所述同态加密操作结果包括:响应于所述操作数密文的所述向量分量为偶数,基于盲旋转密钥来执行所述盲旋转操作,所述盲旋转密钥基于所述公共密钥的秘密密钥的向量分量、所述秘密密钥的所述向量分量的负和、以及所述秘密密钥的所述向量分量之中的连续向量分量的和。