CN116545604A - 一种密文分段同态加密密文计算装置及方法 - Google Patents
一种密文分段同态加密密文计算装置及方法 Download PDFInfo
- Publication number
- CN116545604A CN116545604A CN202211216898.7A CN202211216898A CN116545604A CN 116545604 A CN116545604 A CN 116545604A CN 202211216898 A CN202211216898 A CN 202211216898A CN 116545604 A CN116545604 A CN 116545604A
- Authority
- CN
- China
- Prior art keywords
- ciphertext
- function
- calculated
- parameters
- parameter
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000004364 calculation method Methods 0.000 title claims abstract description 36
- 238000000034 method Methods 0.000 title claims abstract description 12
- 230000011218 segmentation Effects 0.000 title claims description 33
- 238000007792 addition Methods 0.000 description 20
- 238000004422 calculation algorithm Methods 0.000 description 14
- 230000000694 effects Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 2
- 239000000470 constituent Substances 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/008—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Complex Calculations (AREA)
Abstract
本发明属于数据加密技术领域,提供了一种同态加密密文计算装置及方法。该装置包括运算函数存储部、输入部、运算类型确定部、运算部以及判断部。运算函数存储部存储有四个运算函数,用户在输入部输入待计算函数、由待计算函数中的所有参数组成的参数集合以及公开参数,运算类型确定部逐个分析待计算函数中的符号,根据符号判断每步运算的类型从而确定需要调用的运算函数,每步运算中,运算部按照参数集合中的顺序调用相应的参数,运用对应的运算函数及公开参数对相应的参数执行运算得到运算结果,并将计算结果带回待计算函数;判断部比较将计算结果带回后的待计算函数与待计算函数来判断运算是否全部完成,运算全部完成后输出最终运算结果。
Description
技术领域
本发明属于数据加密技术领域,具体涉及一种密文分段同态加密密文计算装置及方法。
背景技术
全同态加密算法指的是具有全同态性质的加密方法。该算法产出的密文支持数学运算,基于密文运算的结果解密之后与基于密文运算的结果相同。全同态加密起步较晚,2009年Gentry提出了一个基于理想格的全同态加密技术,该方案在理论上是十分完善的,但是方案的实现难度非常高,并且执行效率非常低,不具有实现价值。之后Brakerski在2011年提出了一个基于LWE的全同态方案,该方案不使用bootstrap技术构建了一个全同态方案,具有非常明显的进步。之后,他在2014年进一步提出了一个性能更优的全同态加密方案。但是相比较基于明文的运算效率,该方案效率依然低下。Halvei等人在2010年基于BGN密码提出了一种实用方案,其安全性基于ring-LWE问题,支持任意次数的加法和一次乘法。支持比较大的消息空间,是一种实用化的方案,但是只能计算一次乘法运算的性质仍然限制了他的实用价值。
经典的全同态加密计算算法主要具有三个问题:
1、基于矩阵运算设计,具有较高的时间复杂度,加法基础运算时间复杂度为O(n2),乘法的时间复杂度为O(n3)。
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,(c1,1,c2,1),(c1,2,c2,2),…,(c1,k,c2,k),m1,m2,…,ml,N]。该算法用于完成数据运算。
(c1,f,c2,f)←Eval[f,(c1,1,c2,1),(c1,2,c2,2),…,(c1,k,c2,k),m1,m2,…,ml,N],计算函数f:ZN→ZN和含有k个元素的密文集合、含有l个元素的明文集合以及公开参数N为输入。完成计算,生成结果密文cf=(c1,f,c2,f)。
计算算法:
Eval[f,(c1,1,c2,1),(c1,2,c2,2),…,(c1,k,c2,k),m1,m2,…,ml,N],以待计算函数f以及含有k个密文的密文集合[(c1,1,c2,1),(c1,2,c2,2),…,(c1,k,c2,k)]与含有l个明文的明文集合[m1,m2,…,ml,]为输入。密文分成了两个部分,c1和c2合起来为一个完整的密文。
四个运算函数分别为:纯密文加法Eval.Add[(c1,a,c2,a),(c1,b,c2,b),N],明文与密文混合加法Eval.Addplain[(c1,a,c2,a),mb,N],纯密文乘法Eval.Mult[(c1,a,c2,a),(c1,b,c2,b),N]以及明文与密文混合乘法Eval.Multplain[(c1,a,c2,a),mb,N]。
当Eval.Add[(c1,a,c2,a),(c1,b,c2,b),N]以上述密文集合中的两组密文以及公开参数N进行运算时,按照如下方式执行密文加法运算,获得并输出加法结果密文(c1,sum,c2,sum)。
c1,sum≡c1,a+c1,b mod N
c2,sum≡c2,a+c2,b mod N
当Eval.Addplain[(c1,a,c2,a),mb,N]以上述密文集合中的一组密文、上述明文集合中的一个明文及公开参数N进行运算时,按照如下方式执行明文与密文的混合加法运算,获得并输出加法结果密文(c1,sum,c2,sum)。
c1,sum≡c1,a+mb mod N
c2,sum≡c2,a mod N
当Eval.Mult[(c1,a,c2,a),(c1,b,c2,b),N]以上述密文集合中的两组密文以及公开参数N进行运算时,按照如下方式执行密文乘法运算,获得并输出加法结果密文(c1,mult,c2,mult)。
A≡c1,a·c2,b mod N
B≡c2,a·c1,b mod N
c2,mult≡c2,a·c2,b mod N
c1,mult≡c1,a·c1,b-A-B+2c2,mult mod N
当Eval.Multplain[(c1,a,c2,a),mb,N]以上述密文集合中的一组密文、上述明文集合中的一个明文及公开参数N进行运算时,按照如下方式执行明文与密文的混合乘法运算,获得并输出加法结果密文(c1,mult,c2,mult)。
c1,mult=c1,a·mb mod N
c2,mult=c2,a·mb mod N
通过上述四个算法的组合经过多步运算,最终完成函数f的计算,输出作为密文的运算结果cf=(c1,f,c2,f)。
下面结合流程图来详细说明密文分段同态加密密文计算装置100进行加密计算的动作过程。
图2是本发明的实施例中密文分段同态加密密文计算方法的动作流程图。
如图2所示,在本实施例中,密文分段同态加密密文计算方法的动作流程包含如下步骤:
步骤S1,用户在输入部101输入待计算函数f、由待计算函数中的所有参数组成的参数集合以及公开参数N,然后进入步骤S2。
步骤S2,运算类型确定部103逐个分析待计算函数f中的符号,根据符号判断每步运算的类型从而确定需要调用存储在运算函数存储部102中的运算函数,然后进入步骤S3。
步骤S3,运算部104按照参数集合中的顺序调用相应的参数,运用对应的运算函数及公开参数N对相应的参数执行运算得到运算结果并将计算结果带回待计算函数,然后进入步骤S4;
步骤S4,判断部105将计算结果带回后的待计算函数和原始输入的待计算函数f进行比较,判断运算是否全部完成,如果是,则输出最终运算结果,如果否,则返回步骤步骤S2。
在本实施例中,全部运算完成后进行判断部105进行判断是否真正完成对待计算函数f的全部运算。
实施例的作用与效果
根据本实施例所涉及的密文分段同态加密密文计算装置及方法,因为一旦用户输入待计算函数、由待计算函数中的所有参数组成的参数集合以及公开参数后,运算类型确定部就逐个分析待计算函数中的符号,并根据符号判断每步运算的类型从而确定需要调用的运算函数。然后在每步运算中,运算部就按照参数集合中的顺序调用相应的参数,运用对应的运算函数及公开参数对相应的参数执行运算得到运算结果,并将计算结果带回待计算函数;最后判断部比较将计算结果带回后的待计算函数与待计算函数来判断运算是否全部完成,待运算全部完成后输出最终运算结果,所以,本实施例能够具有较高的时间复杂度,执行乘法运算后,为了控制噪声无需使用代价高昂的bootstrap技术对密文进行刷新从而使得解密函数能够正常执行,另外,在密文计算时无需进行逐比特计算,计算效率高。
上述实施方式为本发明的优选案例,并不用来限制本发明的保护范围。
Claims (9)
1.一种密文分段同态加密密文计算装置,其特征在于,包括:
运算函数存储部、输入部、运算类型确定部、运算部以及判断部,
其中,所述运算函数存储部存储有四个运算函数,
用户在输入部输入待计算函数、由所述待计算函数中的所有参数组成的参数集合以及公开参数,
所述运算类型确定部逐个分析所述待计算函数中的符号,根据所述符号判断每步运算的类型从而确定需要调用的所述运算函数,
每步运算中,所述运算部按照所述参数集合中的顺序调用相应的参数,运用对应的所述运算函数及所述公开参数对相应的所述参数执行运算得到运算结果,并将计算结果带回所述待计算函数;
所述判断部比较将所述计算结果带回后的所述待计算函数与所述待计算函数来判断运算是否全部完成,运算全部完成后输出最终运算结果。
2.根据权利要求1所述的密文分段同态加密密文计算装置,其特征在于:
其中,所述参数为密文参数和/或明文参数,所有密文参数形成密文集合,所有明文参数形成明文集合,所述密文参数由两部分组成,
所述运算结果视为密文。
3.根据权利要求2所述的密文分段同态加密密文计算装置,其特征在于:
其中,四个所述运算函数分别为纯密文加法函数、明文与密文混合加法函数、纯密文乘法函数及明文与密文混合乘法函数。
4.根据权利要求3所述的密文分段同态加密密文计算装置,其特征在于:
其中,当某步运算的类型为密文参数与密文参数进行加法运算时,对应的所述运算函数为纯密文加法函数。
5.根据权利要求3所述的密文分段同态加密密文计算装置,其特征在于:
其中,当某步运算的类型为密文参数与明文参数进行加法运算时,对应的所述运算函数为明文与密文混合加法函数。
6.根据权利要求3所述的密文分段同态加密密文计算装置,其特征在于:
其中,当某步运算的类型为密文参数与密文参数进行乘法运算时,对应的所述运算函数为纯密文乘法函数。
7.根据权利要求3所述的密文分段同态加密密文计算装置,其特征在于:
其中,当某步运算的类型为密文参数与明文参数行乘法运算时,对应的所述运算函数为明文与密文混合乘法函数。
8.一种密文分段同态加密密文计算方法,其特征在于,包括以下步骤:
用户输入待计算函数、由所述待计算函数中的所有参数组成的参数集合以及公开参数;
逐个分析所述待计算函数中的符号,根据所述符号判断每步运算的类型从而确定需要调用的运算函数;
按照所述参数集合中的顺序调用相应的参数,运用对应的所述运算函数及所述公开参数对相应的所述参数执行运算得到运算结果并将计算结果带回所述待计算函数;
将所述计算结果带回后的所述待计算函数与所述待计算函数进行比较,判断运算是否全部完成,运算全部完成后输出最终运算结果。
9.根据权利要求8所述的密文分段同态加密密文计算方法,其特征在于:
其中,所述待计算函数为多项式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211216898.7A CN116545604A (zh) | 2022-09-30 | 2022-09-30 | 一种密文分段同态加密密文计算装置及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211216898.7A CN116545604A (zh) | 2022-09-30 | 2022-09-30 | 一种密文分段同态加密密文计算装置及方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116545604A true CN116545604A (zh) | 2023-08-04 |
Family
ID=87442316
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211216898.7A Pending CN116545604A (zh) | 2022-09-30 | 2022-09-30 | 一种密文分段同态加密密文计算装置及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116545604A (zh) |
-
2022
- 2022-09-30 CN CN202211216898.7A patent/CN116545604A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Andem | A cryptanalysis of the tiny encryption algorithm | |
JP5373026B2 (ja) | デジタル署名と公開鍵の促進された検証 | |
Beimel et al. | Share conversion and private information retrieval | |
US20210243005A1 (en) | Fully homomorphic encryption method and device and computer readable storage medium | |
EP3371928B1 (en) | Key sequence generation for cryptographic operations | |
CN109450640B (zh) | 基于sm2的两方签名方法及*** | |
CN110880967B (zh) | 采用分组对称密钥算法对多消息并行加解密方法 | |
CN109145616B (zh) | 基于高效模乘的sm2加密、签名和密钥交换的实现方法及*** | |
CN102279840B (zh) | 一种适用于信息加密技术应用的素数族快速生成方法 | |
CN114697095A (zh) | 一种混合加解密方法、***、装置及介质 | |
CN110535636B (zh) | 一种轻量级的基于sm2算法的协同签名方法与装置 | |
CN111934850A (zh) | 组纲aes加解密方法 | |
CN112819168B (zh) | 一种格密码加解密中的环多项式乘法器电路 | |
CN114172651A (zh) | 一种sm9公钥加密算法、解密算法的gpu加速实现方法 | |
CN116545604A (zh) | 一种密文分段同态加密密文计算装置及方法 | |
CN113032845A (zh) | 一种用于资源受限芯片的EdDSA签名实现方法和装置 | |
CN115952526A (zh) | 密文排序方法、设备及存储介质 | |
CN110855421A (zh) | 一种改进的全同态加密方法 | |
Ding et al. | A novel fully homomorphic encryption scheme bsed on LWE | |
Bokhari et al. | BOKHARI: A new software oriented stream cipher: A proposal | |
JP2000075785A (ja) | 高速暗号処理回路および処理方法 | |
Lee et al. | A Practical Ciphertext-Only Attack on GMR-2 System | |
CN117095752B (zh) | 保持密码子偏好性的dna蛋白质编码区域流式数据存储方法 | |
US11502818B2 (en) | System to secure encoding and mapping on elliptic curve cryptography (ECC) | |
JP2000089667A (ja) | アルゴリズム生成型秘密鍵暗号方式 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |