From f084a1aad573fbdd53255b57a95d0bbd7a3b8139 Mon Sep 17 00:00:00 2001 From: Sefik Ilkin Serengil Date: Mon, 10 Mar 2025 15:09:39 +0000 Subject: [PATCH] Update README.md --- README.md | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index 6fdc14e..9318b86 100644 --- a/README.md +++ b/README.md @@ -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