Update README.md

This commit is contained in:
Sefik Ilkin Serengil 2025-03-10 15:09:39 +00:00 committed by GitHub
parent a697ab576a
commit f084a1aad5
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -381,24 +381,20 @@ Even though vector embeddings are not reversible to original images, they still
```python
from lightphe import LightPHE
# define a plain vectors for source and target
alpha = DeepFace.represent("img1.jpg")[0]["embedding"]
beta = DeepFace.represent("target.jpg")[0]["embedding"]
# build an additively homomorphic cryptosystem (e.g. Paillier) on-prem
cs = LightPHE(algorithm_name = "Paillier", precision = 19)
# export keys
cs.export_keys("public.txt", public=True)
# define a plain vector for source (user tower)
alpha = DeepFace.represent("img1.jpg")[0]["embedding"]
# encrypt source embedding
encrypted_alpha = cs.encrypt(alpha)
# restore the cryptosystem in cloud with only public key
cloud_cs = LightPHE(algorithm_name = "Paillier", precision = 19, key_file = "public.txt")
# define a plain vector for target (item tower)
beta = DeepFace.represent("target.jpg")[0]["embedding"]
# dot product of encrypted and plain embedding pair in cloud
encrypted_cosine_similarity = encrypted_alpha @ beta