-
Notifications
You must be signed in to change notification settings - Fork 764
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
Ctxt::bringToSet called with capacity=-14.9074, likely decryption error #285
Comments
HElib cannot work with very large p values. In principle you may be able to use p values upto 60 bits (about 1e20), but you will need huge values of L to make it work. (And also we never tested such large values, so perhaps things break with p values above 30 bits.) This is unlikely to ever change, as the technology inherently has poor behavior for very large p values. Some ways to get around this limitation are: (a) work with p=2 and encode all your values in binary (HElib has some support for binary arithmetic and comparisons). |
I am having similar problem with smaller p values. { Ctxt::bringToSet called with empty set and capacity=11.3256, this is likely a bug |
Most likely you specified a value of L which is too low to |
`long r = 1;
If p0=110 p1=010, |
`
` The publicKey string is the same with secretKey string,is that right? |
Thanks for the suggestion. I was facing a similar issue with my code for the same reason. Thanks. |
I am getting this error when I am trying to update value at specific location in deque. The error is given below: Ctxt::bringToSet called with empty set and capacity=13.0338, this is likely a bug |
This error means that you are using parameters that are too small, and ran out of capacity (note the negative capacity). |
Thank you for your response.
…On Mon, May 11, 2020 at 10:07 AM Shai Halevi ***@***.***> wrote:
This error means that you are using parameters that are too small, and ran
out of capacity (note the negative capacity).
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
<#285 (comment)>, or
unsubscribe
<https://github.com/notifications/unsubscribe-auth/AKMYTL2M3GEJ77OLLNEG6X3RQ56G3ANCNFSM4GZXRI7Q>
.
|
Hey guys, I have the same problem. I try to multiply a single variable many times using HElib, like A = Enc(a), B = Enc(b), A = A*B. |
Hi,when I set a very big value to param p (like 999999999999659),the decrypted result is not correct ,it seams like a random num.
My params:
const long p = 999999999999659; const long r = 1; const long L = 4; const long c = 2; const long k = 80; const long s = 0; const long d = 1; const long w = 64;
Got result:
encrypt 100
decrypt the ciphertexts of 100 :122
sum 100+50
decrypt the ciphertexts of 100+50 :171
sub 150-20
decrypt the ciphertexts of 150 -20 :120
Ctxt::bringToSet called with capacity=-11.671, likely decryption error
Ctxt::bringToSet called with capacity=-10.5724, likely decryption error
Ctxt::bringToSet called with capacity=-56.354, likely decryption error
mul 1302
decrypt the ciphertexts of 1302 :33557767100928
When the param p is small ,it's OK!
The text was updated successfully, but these errors were encountered: