/images/avatar.png

Homomorphic Encryption

Outsourcing computation, privately

https://cdn.jsdelivr.net/gh/JoshuaChou2018/oss@main/uPic/image-20220919154446784.aYwPWN.png

Homomorphic evaluation function:

Eval: f, Enc(x) -> Enc(f(x))

Fully homomorphic encryption

https://cdn.jsdelivr.net/gh/JoshuaChou2018/oss@main/uPic/image-20220919154723892.p8PeXK.png

Fully homomorphic = correctness for any efficient f = correctness for universal set

Approximate eigenvector method

https://cdn.jsdelivr.net/gh/JoshuaChou2018/oss@main/uPic/image-20220919160158938.DZqLdh.png

基于GSW13的特征向量的构造,我们可以在ciphertext上计算加法和乘法,然后可以通过secret key恢复出message的计算结果。但是这个方法不安全,因为特征向量很容易被找到。

**idea:**使用approximate eigenvectors,在secret key右乘cipher text

https://cdn.jsdelivr.net/gh/JoshuaChou2018/oss@main/uPic/image-20220919160511119.ZDDasR.png

CKKS

What’s is CKKS

Plain Computation Encrypted Computation
bool, int (uint 64), modulo p BGV, BFV, TFHE
double (float) CKKS

https://cdn.jsdelivr.net/gh/JoshuaChou2018/oss@main/uPic/image-20220918162117066.Ku5Nj6.png

Approximate arithmetic

https://cdn.jsdelivr.net/gh/JoshuaChou2018/oss@main/uPic/image-20220918162537891.9Y2Dr7.png

For floating-point arithmetic, we keep the bits of significand to be the same.

For fixed-point arithmetic, we keep the scaling factor to be the same.

Algorithms in CKKS

https://cdn.jsdelivr.net/gh/JoshuaChou2018/oss@main/uPic/image-20220918162900736.SXIN4t.png

Run Ubuntu Linux in Docker with Desktop Environment and VNC

Run Ubuntu Linux in Docker with Desktop Environment and VNC

Step 1 – Install Docker on your System

1
sudo systemctl start docker && sudo systemctl enable docker

Add your system user to the Docker group to be able to execute Docker commands without *sudo*.

1
2
sudo usermod -aG docker $USER
newgrp docker

Verify the installed Docker version.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
$ docker version
Client: Docker Engine - Community
 Version:           20.10.12
 API version:       1.41
 Go version:        go1.16.12
 Git commit:        e91ed57
 Built:             Mon Dec 13 11:45:48 2021
 OS/Arch:           linux/amd64
 Context:           default
 Experimental:      true
....

Step 2 – Pull the Ubuntu Docker Image

As said earlier, there are several images for Ubuntu that can be pulled. These images are available on the Docker page and can be pulled using Docker as shown.

Fully homomorphic encryption (FHE)

全同态加密 Fully homomorphic encryption (FHE)

What’s is FHE

第一种形式:同时使用secret key加密和解密,public key用于第三方加密进行同态计算

https://cdn.jsdelivr.net/gh/JoshuaChou2018/oss@main/uPic/image-20220810161455665.7Sogoe.png

第二种形式:asymmetric FHE,只使用public key进行加密,secret key用于解密

https://cdn.jsdelivr.net/gh/JoshuaChou2018/oss@main/uPic/image-20220810161707363.4nIJAt.png

Efficient FHE is a giant leap towards httpz://

? what’s httpz?

History

https://cdn.jsdelivr.net/gh/JoshuaChou2018/oss@main/uPic/image-20220810162634078.kd7s8b.png

Major task: find a new scheme to combine both addition and multiplication together.

1. First generation

Plain text: single bit