当前位置:网站首页>Basic concepts of homomorphic encryption
Basic concepts of homomorphic encryption
2022-06-22 08:22:00 【m0_ fifty-four million eight hundred and fifty thousand eight h】
So called homomorphic encryption (HE,homomorphic encryption) Refer to : The clear m encryption , Get the ciphertext c, Satisfy f yes f(m) The ciphertext of , among f Is any family of functions F Function of , Plaintext can be a single plaintext , It can also be a plaintext vector , Corresponding to a single ciphertext and a ciphertext vector . And the corresponding function family F Is a family of homomorphic functions of this scheme , That is, the set of all functions that can be homomorphically computed supported by the homomorphic encryption scheme . such as f(x)=x+2, We want to encrypt c In plain text m The ciphertext of . be f=c+2, yes m+2 The ciphertext of .
A simple classification of homomorphic functions
According to the encryption scheme, the supported function families are different , Homomorphic encryption can be divided into several types .
The more popular homomorphic schemes are additive homomorphism 、 Multiplicative homomorphism 、 Partial homomorphism and homomorphism .
Additive homomorphism : The homomorphic function family supported by the encryption scheme is all functions that can be realized only by addition . At present, it is widely used paillier Additive homomorphism .
Multiplicative homomorphism : The homomorphic function family supported by the encryption scheme is all functions that can be realized only by multiplication . Like the classic RSA Encryption scheme .
Partial homomorphism (partially fully homomorphic encryption, somewhat homomorphic encryption or leveled fully homomorphic encryption): The homomorphic function family supported by this scheme is the function that can be realized by finite addition and finite multiplication .
Holomorphism : This scheme can support all the functions that can be realized by addition and multiplication of homomorphic function family . such as BGV、BFV、CKKS.
Homomorphic encryption is generally asymmetric encryption , Of course, there are homomorphic schemes of symmetric encryption .
The following description uses asymmetric encryption , That is, the term description of public key system . Symmetric encryption is a symmetric encryption in which the public key and the private key are equal .
Formal definition
A complete homomorphic scheme consists of a key generation algorithm , encryption algorithm , Decryption algorithm and homomorphic computing algorithm 4 Part of the form .
1、 Key generation algorithm (HE.KeyGen) Its input is safety parameter
And other common parameters that describe other requirements , Output an encryption key pk( Public key ), A decryption key sk( Private key ) And a homomorphic computation key evk.
2、 encryption algorithm (HE.Encrypt) Enter plaintext m And encryption keys pk, Output m The ciphertext of c.
3、 Decryption algorithm (HE.Decrypt) Enter ciphertext c And decrypt the key , Output clear m.
4、 Homomorphic computing algorithm (HE.Evaluate) Enter ciphertext
, Homomorphic computing key evk And the function f, Output
. It is worth noting that , there c It is not necessarily a ciphertext that can participate in the calculation again , He just needs to be able to decrypt it correctly . All possible functions f Form a family of homomorphic functions F.
Correctness of homomorphic encryption
The correctness of homomorphic encryption includes two aspects . First , It is the same as the general encryption scheme , Ciphertext can be decrypted correctly , That is to say m=HE.Decrypt(HE.Encrypt(m,pk),sk). secondly , Homomorphic calculation must be correct .
When
, among
when :

边栏推荐
- [Oracle database] mammy tutorial day13 date function
- 依图在实时音视频中语音处理的挑战丨RTC Dev Meetup
- QT 自定义组合控件(类提升功能)
- Restrict input type (multiple methods)
- I spring and autumn web Penetration Test Engineer (elementary) learning notes (Chapter 2)
- Type of sub database and sub table
- Dom4j+xpath parsing XML files
- Coding complexity C (n)
- Mt4/mql4 getting started to be proficient in EA tutorial lesson 6 - common functions of MQL language (VI) - common order function
- Five skills to be an outstanding cloud architect
猜你喜欢
![[Oracle database] mammy tutorial day14 conversion function](/img/ef/c468316750c57212a067abd00a10e9.png)
[Oracle database] mammy tutorial day14 conversion function

Detailed explanation of the underlying principle of concurrent thread pool and source code analysis

【Oracle 數據庫】奶媽式教程 day13 日期函數

学科融合对steam教育的作用

Example of QT qtableview

Qt 错误提示1: invalid use of incomplete type ‘***‘

Website sharing of program ape -- continuous update

Thread status (timed wait, lock blocking, infinite wait (key))

同态加密的基本概念

QT 自定义组合控件(类提升功能)
随机推荐
Example of QT qtableview
Questions 101 to 200 of the national information security grade examination nisp level 1 question bank (1)
Bee read write separation Usage Summary
QT combox的使用示例
Three characteristics of concurrency 2-orderliness
I spring and autumn web Penetration Test Engineer (elementary) learning notes (Chapter 1)
MySQL queries data within one hour
Oracle execution plan analysis
成为一名卓越云架构师要具备的五项技能
Detailed sorting of Oracle and MySQL pages
Mysql5.6.36 tutorial
Summary of sub database and sub table 1
How to select the appropriate partition key, routing rule and partition number
Note pad replaces all contents after a character in all lines
Three concurrent features 1- visibility
.net core 技术栈 网站收集
golang中使用swagger遇到的一些问题
【Oracle 数据库】奶妈式教程 day11 数值函数
The solution to the problem of the first screen picture loading flicker
Summary of basic knowledge of Oracle database SQL statements I: Data Definition Language (DDL)