-
Notifications
You must be signed in to change notification settings - Fork 160
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
Dilithium Spec #384
base: main
Are you sure you want to change the base?
Dilithium Spec #384
Conversation
Hello, Apologies for the delay in responding, several of us were off, and it took a while to settle on a policy for external contributions. First of all, thanks very much! This is a nice piece of work and we're happy to integrate it. Here are some high-level points... please let us know how this sounds.
As a general note, what we've seen happening is that a fresh piece of code takes a little while to stabilize, e.g. maybe there will be an F* upgrade and the code will break, which will require strengthening a proof, or improving the way a spec is crafted. This is part of the process, but a good way to avoid it would be to go over your code and try to understand why you need, e.g. fuel=2,ifuel=2,rlimit=800 and try to see if there's anything that can be done to make the files verify in a very "snappy" manner. These are specs only, so they should verify reliably and without surprisingly high rlimits... I also see a comment along the lines of "this didn't work and required a huge rlimit". Maybe debugging a little bit, adding asserts here and there to figure out which proof obligation is difficult might help figure out what's going on. As a wild guess, I would suspect some non-linear arithmetic is causing difficulties, and this might turn out to be a problem in the future. I'm CCing @polubelova -- would you mind (once you're back from vacation of course) giving this a quick look and see if there's any potential for improvements e.g. in the way that this spec uses Thanks, Jonathan |
Thank you for taking the time to look at this! Yes, I agree this is not ready for master right now. There is surely a lot of improvement that can still be done, and the rlimits are artificially higher than they need to be. We may want to contribute other PQC algorithms in the future. Do you know of others currently working on F* implementations of PQC? Thanks, |
@karthikbhargavan might know who else is working on post-quantum stuff -- as far as I know, we have:
that's all I'm aware of but there might be others |
This has been sitting around for a while and is out-of-date with master. |
Here is a spec for Dilithium.
We have work on a implementation as well, but wanted some feedback on this before proceeding, in order to make sure that this meets the standards and stylistic conventions of the project.