-
Notifications
You must be signed in to change notification settings - Fork 78
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
How to disable transparent ciphertext
runtime error?
#124
Comments
Control whether multiplying a ciphertxt with a zeroed plaintext raises a Runtime Error or not
I would leave it on by default for security purposes (so that novel users do not accidentally program vulnerable applications). That being said, you can control the CMake flags passed to SEAL by modifying the Line 102 in f556619
|
Thanks! This looks reasonable. Thank you for the commit. |
Hi ibarrond, |
Mmmmm, can you do |
Yes, there is, but the settings is not taken:
I confirm that I modified the pyproject file:
Thanks, |
Should be working now! We were missing a parser of PS: Wow, Github closed it automatically just by writing "fixes #124", interesting. |
Thanks, now it is working! |
Describe the feature
By default, SEAL enable a runtime check against "transparent" ciphertexts.
As of this SEAL issue, transparent ciphertexts are defined as ciphertexts whose second polynomial is
0
.The check is done because such ciphertext (in the form
(ctxt[0], 0)
) is just a "plain" value inside a ciphertext object, hence, not guaranteeing any protection against attacks (i.e., no secret key is needed to access that value). Producing a transparent ciphertext in Pyfhel results in a runtime error:produces:
In the same SEAL issue it is written that such warning may be disabled "[by] passing -DSEAL_THROW_ON_TRANSPARENT_CIPHERTEXT=OFF when configuring SEAL through CMake".
It would be nice to have a way to disable this check, what do you think? Thanks!
Is this feature related to a project/objective? Please describe briefly
Transparent ciphertexts may be expected in some scenarios. Consider, for instance, ML/DL models on encrypted data. It may happen that a weight is
0
; hence, it is not surprising that the output neuron is...0
. It is not a problem, though, because no data leak happens.Unfortunately a RuntimeError is quite difficult to manage, and for now I have no ideas on how to proceed.
The text was updated successfully, but these errors were encountered: