当前位置:网站首页>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 :

边栏推荐
- dom4j+xpath解析xml文件
- Sqlserver paging
- Mt4/mql4 getting started to proficient in foreign exchange EA automatic trading tutorial - identify the emergence of the new K line
- Easyui数据表实现增删改
- Mt4/mql4 getting started to mastering EA tutorial lesson 3 - common functions of MQL language (III) - common functions of K-line value taking
- 方阵循环右移
- Chmod Chmod command
- Cenos7 firewall command
- C#读写txt文件到listview
- swagger中的枚举、自定义类型和swaggerignore
猜你喜欢

Failed to access the ES installed on Tencent ECs, but the solution to accessing the ES successfully on the server

2022年CIO面临的七大挑战及应对方法

I spring and autumn web Penetration Test Engineer (elementary) learning notes (Chapter 3)

How can MySQL query the records with the largest consumption amount of each user?

The necessity of steam education culture inheritance

Three characteristics of concurrency 2-orderliness

同态加密的基本概念

安装 MySQL 服务时提示 InstallRemove of the Service Denied

Any to Any 实时变声的实现与落地丨RTC Dev Meetup

Idea reports an error "insufficient memory"
随机推荐
Seven challenges faced by CIO in 2022 and Solutions
计算天数()
2022年CIO面临的七大挑战及应对方法
Mainstream design of database middleware
Cenos7 firewall command
复杂科学在创客教学研究中的应用
QT custom composite control (class promotion function)
Dom4j+xpath parsing XML files
C # realizes voice reading function
Multi tenancy and Implementation
Postgresql源码(56)可扩展类型分析ExpandedObject/ExpandedRecord
FastCorrect:语音识别快速纠错模型丨RTC Dev Meetup
Bee read write separation Usage Summary
On Fresnel phenomenon
【 Oracle database】 Nursery Mother Tutorial day13 date Function
MySQL 8.0 under Linux forgets the password
QT combox的使用示例
[Oracle database] wet nurse tutorial day15 DDL, DML, index, view, sequence and deadlock are enough
Summary of basic knowledge of Oracle database SQL statement III: data operation language (DQL)
成为一名卓越云架构师要具备的五项技能