-
Notifications
You must be signed in to change notification settings - Fork 51
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
Estimator crashes when running on large parameters #38
Comments
Hi @BorBorBor, thank you for letting us know about this! Initial investigations suggest that this is associated to the In the meantime, you could use
|
Oh, wow, when you say "crash" you really mean it. That's new! |
Hi @bencrts, thanks! That's helpful, then we can at least continue with this project for now. |
Looks like we are failing an MPFR assertion. I recieved this:
as output for the first set of parameters listed in the issue. I've tracked it back to here (the filename changed to get_z_2exp.c in an update one month ago). Still trying to track where the issue occurs in the code, but it's a start. |
Hi @bencrts! I understand that this isn't a priority but I was just wondering if you managed to find out anything more. We're doing some unconventional RLWE stuff (if you hadn't guessed from the premise of this post 😅) so we would really like to know what arora-gb does. For the largest numbers we are able to run without crashes, computing gröbner bases seems to be a lot more efficient than the other attacks. |
Is |
Yes you're right, that one does work! It's |
HI @BorBorBor! I have taken another look at this and it appears to be a problem with the exhaustive search solver which is used as part of the hybrid-dual process. In particular, the estimate:
is crashing because the exhaustive search solver is being given a 0-dimensional LWE instance, and doesn't know what to do with it. Whilst I figure out a fix for this, you could call the dual hybrid-attack seperately. To retrieve all estimates (aside from the hybrid-dual attack), you could do:
To seperately call the hybrid-dual attack, turn off the crashing exhaustive search solver and use mitm instead:
This will give you a full suite of estimates in the meantime. For the
I hope this helps for now! An interesting side issue found during debugging so far is that I guess it could also make sense for us to tie the value of |
If we throw a |
The estimator crashes (i.e. causes a Python error that takes down Sage) for some large values of
q
.I’ve done some testing and it seems to be that this happens when
n = 4096
andq > 2^75+2^72
— which first made us think there was a memory overflow somewhere, but then it works again forq > 2^83-2^82
and up. The issue doesn't appear forn = 8192
orn = 2048
.Example queries that go wrong:
I can consistently reproduce the issue both on a Linux machine (with Python 3.10.5 and Sage 9.5) and locally on my MacBook (with Python 3.10.3 and Sage 9.6). The issue also appears with the “non-rough” variant I believe, but I’m not 100% sure — I’m trying to reproduce that now but the queries take half a day to run.
The text was updated successfully, but these errors were encountered: