-
Notifications
You must be signed in to change notification settings - Fork 0
/
paillier_add_homo.py
22 lines (22 loc) · 902 Bytes
/
paillier_add_homo.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#Written and Compiled on Python IDLE 3.7. Code will malfunction for Python 2.x
from phe import paillier
import time
public_key, private_key = paillier.generate_paillier_keypair()
print("\nPaillier Additive Homomorphic Encryptor")
print("\nThe Public Key is(represented in Hexadecimal):")
print(public_key)
print("\nEnter a number:")
x=int(input())
enc_x= public_key.encrypt(x)
print("\nThe Encrypted Number is(represented in Hexadecimal):")
print(hex(enc_x.ciphertext()))
print("\nEnter another number:")
y=int(input())
enc_y= public_key.encrypt(y)
print("\nThe Encrypted Number is(represented in Hexadecimal):")
print(hex(enc_y.ciphertext()))
enc_result= enc_x + enc_y
print("\nThe Encrypted result is(represented in Hexadecimal):")
print(hex(enc_result.ciphertext ()))
print("\nAfter Decryption the result of addition is:" + str(private_key.decrypt(enc_result)))
time.sleep(10)