Spaces:
Runtime error
Runtime error
Commit
Β·
2b27752
1
Parent(s):
a3956a0
update
Browse files
app.py
CHANGED
@@ -43,6 +43,8 @@ time.sleep(4)
|
|
43 |
ENCRYPTED_DATA_BROWSER_LIMIT = 500
|
44 |
N_USER_KEY_STORED = 20
|
45 |
|
|
|
|
|
46 |
|
47 |
def clean_tmp_directory():
|
48 |
# Allow 20 user keys to be stored.
|
@@ -66,7 +68,7 @@ def clean_tmp_directory():
|
|
66 |
file.unlink()
|
67 |
|
68 |
|
69 |
-
def keygen():
|
70 |
# Clean tmp directory if needed
|
71 |
clean_tmp_directory()
|
72 |
|
@@ -82,7 +84,7 @@ def keygen():
|
|
82 |
|
83 |
numpy.save(f"tmp/tmp_evaluation_key_{user_id}.npy", evaluation_key)
|
84 |
|
85 |
-
|
86 |
|
87 |
|
88 |
def encode_quantize(test_file, eval_key):
|
@@ -342,15 +344,9 @@ if __name__ == "__main__":
|
|
342 |
b_decrypt_result = gr.Button("π Decrypt scan result")
|
343 |
|
344 |
scan_result = gr.Textbox(label="Scan Result:")
|
345 |
-
|
346 |
-
eval_key = keygen()
|
347 |
-
encodings = encode_quantize(file_input, eval_key)
|
348 |
-
encrypted_quantized_encoding = encrypt_encoded_quantize(encodings)
|
349 |
-
encrypted_prediction = run_fhe(eval_key[1])
|
350 |
-
decrypted_encryption = decrypt_prediction(eval_key[1])
|
351 |
-
|
352 |
# Button for key generation
|
353 |
-
b_gen_key.click(
|
354 |
|
355 |
# Button to extract vector
|
356 |
b_extract.click(
|
@@ -361,16 +357,16 @@ if __name__ == "__main__":
|
|
361 |
|
362 |
# Button to encrypt file
|
363 |
b_encrypt_file.click(
|
364 |
-
|
365 |
-
inputs=[],
|
366 |
outputs=[encrypted_file],
|
367 |
)
|
368 |
|
369 |
# Button to run FHE-based malware scan
|
370 |
-
b_run_fhe_scan.click(
|
371 |
|
372 |
# Button to decrypt the scan result
|
373 |
-
b_decrypt_result.click(
|
374 |
|
375 |
gr.Markdown(
|
376 |
"ClairVault is built using advanced Fully Homomorphic Encryption techniques to ensure your data remains private and secure throughout the entire malware scanning process."
|
|
|
43 |
ENCRYPTED_DATA_BROWSER_LIMIT = 500
|
44 |
N_USER_KEY_STORED = 20
|
45 |
|
46 |
+
#Evaluation Key
|
47 |
+
eval_key = []
|
48 |
|
49 |
def clean_tmp_directory():
|
50 |
# Allow 20 user keys to be stored.
|
|
|
68 |
file.unlink()
|
69 |
|
70 |
|
71 |
+
def keygen(eval_key):
|
72 |
# Clean tmp directory if needed
|
73 |
clean_tmp_directory()
|
74 |
|
|
|
84 |
|
85 |
numpy.save(f"tmp/tmp_evaluation_key_{user_id}.npy", evaluation_key)
|
86 |
|
87 |
+
eval_key = [list(evaluation_key)[:ENCRYPTED_DATA_BROWSER_LIMIT], user_id]
|
88 |
|
89 |
|
90 |
def encode_quantize(test_file, eval_key):
|
|
|
344 |
b_decrypt_result = gr.Button("π Decrypt scan result")
|
345 |
|
346 |
scan_result = gr.Textbox(label="Scan Result:")
|
347 |
+
|
|
|
|
|
|
|
|
|
|
|
|
|
348 |
# Button for key generation
|
349 |
+
b_gen_key.click(keygen, inputs=[eval_key], outputs=[])
|
350 |
|
351 |
# Button to extract vector
|
352 |
b_extract.click(
|
|
|
357 |
|
358 |
# Button to encrypt file
|
359 |
b_encrypt_file.click(
|
360 |
+
encode_quantize,
|
361 |
+
inputs=[file_input, eval_key],
|
362 |
outputs=[encrypted_file],
|
363 |
)
|
364 |
|
365 |
# Button to run FHE-based malware scan
|
366 |
+
b_run_fhe_scan.click(run_fhe, inputs=[eval_key[1]], outputs=[encrypted_scan_result])
|
367 |
|
368 |
# Button to decrypt the scan result
|
369 |
+
b_decrypt_result.click(decrypt_prediction, inputs=[eval_key[1]], outputs=[scan_result])
|
370 |
|
371 |
gr.Markdown(
|
372 |
"ClairVault is built using advanced Fully Homomorphic Encryption techniques to ensure your data remains private and secure throughout the entire malware scanning process."
|