掌桥专利:专业的专利平台
掌桥专利
首页

一种密文分段同态加密密文计算装置及方法

文献发布时间:2024-01-17 01:20:32


一种密文分段同态加密密文计算装置及方法

技术领域

本发明属于数据加密技术领域,具体涉及一种密文分段同态加密密文计算装置及方法。

背景技术

全同态加密算法指的是具有全同态性质的加密方法。该算法产出的密文支持数学运算,基于密文运算的结果解密之后与基于密文运算的结果相同。全同态加密起步较晚,2009年Gentry提出了一个基于理想格的全同态加密技术,该方案在理论上是十分完善的,但是方案的实现难度非常高,并且执行效率非常低,不具有实现价值。之后Brakerski在2011年提出了一个基于LWE的全同态方案,该方案不使用bootstrap技术构建了一个全同态方案,具有非常明显的进步。之后,他在2014年进一步提出了一个性能更优的全同态加密方案。但是相比较基于明文的运算效率,该方案效率依然低下。Halvei等人在2010年基于BGN密码提出了一种实用方案,其安全性基于ring-LWE问题,支持任意次数的加法和一次乘法。支持比较大的消息空间,是一种实用化的方案,但是只能计算一次乘法运算的性质仍然限制了他的实用价值。

经典的全同态加密计算算法主要具有三个问题:

1、基于矩阵运算设计,具有较高的时间复杂度,加法基础运算时间复杂度为O(n

2、执行乘法运算后,为了控制噪声,需要使用代价高昂的bootstrap技术对密文进行刷新从而使得解密函数能够正常执行。

3、大量经典的全同态加密算法在密文计算时需要进行逐比特计算,计算效率低下。

发明内容

本发明是为了解决上述问题而进行的,目的在于提供一种密文分段同态加密密文计算装置及方法,本算法属于全同态加密算法中的一部分,是加密数据后进行计算密文运算算法,包含纯密文加法、纯密文乘法、明密文混合加法、以及明密文混合乘法四个算法,通过上述四个算法的组合,最终完成函数的计算,输出运算结果密文,该算法时间复杂度低,计算效率高。

本发明为了实现上述目的,采用了以下方案:

<方案一>

本发明提供了一种密文分段同态加密密文计算装置,具有这样的特征,包括:运算函数存储部、输入部、运算类型确定部、运算部以及判断部,其中,运算函数存储部存储有四个运算函数,用户在输入部输入待计算函数、由待计算函数中的所有参数组成的参数集合以及公开参数,运算类型确定部逐个分析待计算函数中的符号,根据符号判断每步运算的类型从而确定需要调用的运算函数,每步运算中,运算部按照参数集合中的顺序调用相应的参数,运用对应的运算函数及公开参数对相应的参数执行运算得到运算结果,并将计算结果带回待计算函数;判断部比较将计算结果带回后的待计算函数与待计算函数来判断运算是否全部完成,运算全部完成后输出最终运算结果。

在本发明提供的密文分段同态加密密文计算装置中,还可以具有这样的特征:其中,参数为密文参数和/或明文参数,所有密文参数形成密文集合,所有明文参数形成明文集合,密文参数由两部分组成,运算结果视为密文。

在本发明提供的密文分段同态加密密文计算装置中,还可以具有这样的特征:其中,四个运算函数分别为纯密文加法函数、明文与密文混合加法函数、纯密文乘法函数及明文与密文混合乘法函数。

在本发明提供的密文分段同态加密密文计算装置中,还可以具有这样的特征:其中,当某步运算的类型为密文参数与密文参数进行加法运算时,对应的运算函数为纯密文加法函数。

在本发明提供的密文分段同态加密密文计算装置中,还可以具有这样的特征:其中,当某步运算的类型为密文参数与明文参数进行加法运算时,对应的运算函数为明文与密文混合加法函数。

在本发明提供的密文分段同态加密密文计算装置中,还可以具有这样的特征:其中,当某步运算的类型为密文参数与密文参数进行乘法运算时,对应的运算函数为纯密文乘法函数。

在本发明提供的密文分段同态加密密文计算装置中,还可以具有这样的特征:其中,当某步运算的类型为密文参数与明文参数行乘法运算时,对应的运算函数为明文与密文混合乘法函数。

<方案二>

本发明还提供了一种密文分段同态加密密文计算方法,具有这样的特征,包括以下步骤:

用户输入待计算函数、由待计算函数中的所有参数组成的参数集合以及公开参数;

逐个分析待计算函数中的符号,根据符号判断每步运算的类型从而确定需要调用的运算函数;

按照参数集合中的顺序调用相应的参数,运用对应的运算函数及公开参数对相应的参数执行运算得到运算结果并将计算结果带回待计算函数;

将计算结果带回后的待计算函数与待计算函数进行比较,判断运算是否全部完成,运算全部完成后输出最终运算结果。

在本发明提供的密文分段同态加密密文计算方法中,还可以具有这样的特征:其中,待计算函数为多项式。

发明的作用与效果

根据本发明所涉及的密文分段同态加密密文计算装置及方法,因为一旦用户输入待计算函数、由待计算函数中的所有参数组成的参数集合以及公开参数后,运算类型确定部就逐个分析待计算函数中的符号,并根据符号判断每步运算的类型从而确定需要调用的运算函数。然后在每步运算中,运算部就按照参数集合中的顺序调用相应的参数,运用对应的运算函数及公开参数对相应的参数执行运算得到运算结果,并将计算结果带回待计算函数;最后判断部比较将计算结果带回后的待计算函数与待计算函数来判断运算是否全部完成,待运算全部完成后输出最终运算结果,所以,本发明能够具有较高的时间复杂度,执行乘法运算后,为了控制噪声无需使用代价高昂的bootstrap技术对密文进行刷新从而使得解密函数能够正常执行,另外,在密文计算时无需进行逐比特计算,计算效率高。

附图说明

图1是本发明的实施例中的密文分段同态加密密文计算装置的结构框图;以及

图2是本发明的实施例中密文分段同态加密密文计算方法的动作流程图。

具体实施方式

为了使本发明实现的技术手段、创作特征、达成目的与功效易于明白了解,以下结合实施例及附图对本发明一种密文分段同态加密密文计算装置及方法作具体阐述。

<实施例>

图1是本发明的实施例中的密文分段同态加密密文计算装置的结构框图。

如图1所示,在本实施例中,密文分段同态加密密文计算装置100用于完成数据运算,包括输入部101、运算函数存储部102、运算类型确定部103、运算部104、判断部105以及控制部106。

输入部101用于用户输入并存储待计算函数f、由待计算函数f中的所有参数组成的参数集合以及公开参数N。

待计算函数f为多项式,多项式中的符号包括参数符号及运算符号。参数符号与参数一一对应。参数为密文参数和/或明文参数,所有密文参数形成密文集合,所有明文参数形成明文集合。其中密文参数由两部分组成。在本实施例中,待计算函数f、含有k个密文的密文集合、含有l个明文的明文集合以及公开参数N作为输入。

运算函数存储部102存储有四个运算函数,分别为纯密文加法函数、明文与密文混合加法函数、纯密文乘法函数及明文与密文混合乘法函数。

运算类型确定部103逐个分析待计算函数中的符号,根据符号判断每步运算的类型从而确定需要调用的运算函数。在本实施例中,上一步计算完成后,运算类型确定部103再判断下一步的运算类型。

当某步运算的类型为密文参数与密文参数进行加法运算时,调用的运算函数为纯密文加法函数。当某步运算的类型为密文参数与明文参数进行加法运算时,调用的运算函数为明文与密文混合加法函数。当某步运算的类型为密文参数与密文参数进行加法运算时,调用的运算函数为纯密文乘法函数。当某步运算的类型为密文参数与明文参数行乘法运算时,调用的运算函数为明文与密文混合乘法函数。其中,每步的运算结果视为密文参数。

每步运算中,运算部104用于按照参数集合中的顺序调用相应的参数,运用对应的运算函数及公开参数N对相应的参数执行运算得到运算结果,将计算结果带回待计算函数。

判断部105用于比较将计算结果带回后的待计算函数与原始输入的待计算函数f来判断运算是否全部完成,运算全部完成后输出最终运算结果。

控制部106用于控制密文分段同态加密密文计算装置100中的各个构成部分的工作。

以下举例说明算法定义及具体的计算算法。

算法定义:

密文计算Eval[f,(c

(c

计算算法:

Eval[f,(c

四个运算函数分别为:纯密文加法Eval.Add[(c

当Eval.Add[(c

c

c

当Eval.Addplain[(c

c

c

当Eval.Mult[(c

A≡c

B≡c

c

c

当Eval.Multplain[(c

c

c

通过上述四个算法的组合经过多步运算,最终完成函数f的计算,输出作为密文的运算结果c

下面结合流程图来详细说明密文分段同态加密密文计算装置100进行加密计算的动作过程。

图2是本发明的实施例中密文分段同态加密密文计算方法的动作流程图。

如图2所示,在本实施例中,密文分段同态加密密文计算方法的动作流程包含如下步骤:

步骤S1,用户在输入部101输入待计算函数f、由待计算函数中的所有参数组成的参数集合以及公开参数N,然后进入步骤S2。

步骤S2,运算类型确定部103逐个分析待计算函数f中的符号,根据符号判断每步运算的类型从而确定需要调用存储在运算函数存储部102中的运算函数,然后进入步骤S3。

步骤S3,运算部104按照参数集合中的顺序调用相应的参数,运用对应的运算函数及公开参数N对相应的参数执行运算得到运算结果并将计算结果带回待计算函数,然后进入步骤S4;

步骤S4,判断部105将计算结果带回后的待计算函数和原始输入的待计算函数f进行比较,判断运算是否全部完成,如果是,则输出最终运算结果,如果否,则返回步骤步骤S2。

在本实施例中,全部运算完成后进行判断部105进行判断是否真正完成对待计算函数f的全部运算。

实施例的作用与效果

根据本实施例所涉及的密文分段同态加密密文计算装置及方法,因为一旦用户输入待计算函数、由待计算函数中的所有参数组成的参数集合以及公开参数后,运算类型确定部就逐个分析待计算函数中的符号,并根据符号判断每步运算的类型从而确定需要调用的运算函数。然后在每步运算中,运算部就按照参数集合中的顺序调用相应的参数,运用对应的运算函数及公开参数对相应的参数执行运算得到运算结果,并将计算结果带回待计算函数;最后判断部比较将计算结果带回后的待计算函数与待计算函数来判断运算是否全部完成,待运算全部完成后输出最终运算结果,所以,本实施例能够具有较高的时间复杂度,执行乘法运算后,为了控制噪声无需使用代价高昂的bootstrap技术对密文进行刷新从而使得解密函数能够正常执行,另外,在密文计算时无需进行逐比特计算,计算效率高。

上述实施方式为本发明的优选案例,并不用来限制本发明的保护范围。

相关技术
  • 一种同态密文计算加速逻辑系统及实现方法
  • 一种面向云计算应用的同态加密密文检索方法
  • 一种面向云计算应用的同态加密密文检索方法
技术分类

06120116140774