Skip to content
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

ML-DSA: integrate final standard #1891

Open
bhess opened this issue Aug 13, 2024 · 13 comments · Fixed by #1899 · May be fixed by #1919
Open

ML-DSA: integrate final standard #1891

bhess opened this issue Aug 13, 2024 · 13 comments · Fixed by #1899 · May be fixed by #1919
Milestone

Comments

@bhess
Copy link
Member

bhess commented Aug 13, 2024

The final standards were published today: FIPS203 and FIPS204.

This is to track the integration of the updated algorithms.

I'd suggest the following steps:

  • Pull update from pq-crystals upstream once available
  • The current ML-DSA-ipd/ML-KEM-ipd implementations would be dropped
  • Integrate test vectors from NIST ACVP repository

update (Aug 22):

Update (Aug 27):
ML-KEM landed in main, remaining is ML-DSA integration

Update (Sep 5):
ML-DSA is available upstream: https://github.com/pq-crystals/dilithium

@baentsch
Copy link
Member

On item1, any timeline as to when upstream will make them available? Would it make sense to do 0.11.0 (or maybe finally a 1.0.0!) after they landed?

@bhess
Copy link
Member Author

bhess commented Aug 14, 2024

The information I got is that the pq-crystals team looks at updating the implementation later this month.

@tomato42
Copy link

The NIST ACVP repository hasn't been updated with new vectors. Do you know when will that happen?

@bhess
Copy link
Member Author

bhess commented Aug 14, 2024

The NIST ACVP repository hasn't been updated with new vectors. Do you know when will that happen?

According to this message on the pqc-forum, a fixed version should be released today.

@dstebila dstebila added this to the 0.12.0 milestone Aug 14, 2024
@dstebila
Copy link
Member

Tying into Roadmap discussion

@bhess bhess reopened this Aug 27, 2024
@bhess bhess changed the title ML-DSA & ML-KEM: integrate final standards ML-DSA: integrate final standard Aug 27, 2024
@obronchain
Copy link

Hi all,

Also according to this message on the pqc-forum, the CAVP will also integrate all the external API (around october 2024 ?).

I would be very useful if LibOqs could support also all these APIs and are compatible will all the KATs.

@bhenning10
Copy link

It looks like pq-crystals merged changes to support the final spec.
pq-crystals/dilithium@cf998be

@dstebila dstebila modified the milestones: 0.12.0, 0.11.0 Sep 5, 2024
@abhinav-thales
Copy link

It looks like pq-crystals merged changes to support the final spec. pq-crystals/dilithium@cf998be

IMO these changes are not compatible with the ACVP vectors. The vectors are based on 'internal' API's as per FIPS204 and not the high level API's.

Also refer comment from author here : pq-crystals/dilithium#88 (comment)

@dstebila
Copy link
Member

I don't think this has been completed?

@SWilson4 SWilson4 reopened this Sep 10, 2024
@bhess
Copy link
Member Author

bhess commented Sep 10, 2024

Planning a draft PR later today.
There will still be some open points for a full integration: access to the 'internal' API to be able to run the ACVP vectors (planned upstream: pq-crystals/dilithium#88 (comment)), and adding ACVP vectors for the 'external' API (planned by NIST as outlined by @obronchain above).

@bhess bhess linked a pull request Sep 11, 2024 that will close this issue
7 tasks
@baentsch
Copy link
Member

Why did you close this @planetf1 ? #1919 didn't land afaik.

@planetf1
Copy link
Contributor

@baentsch Sincere apologies. My error when scrolling through the project on a touch screen. Unintentional, should reopen. Thanks for spotting.

@planetf1 planetf1 reopened this Sep 13, 2024
@baentsch
Copy link
Member

Again incorrectly closed.

@baentsch baentsch reopened this Sep 17, 2024
@dstebila dstebila removed this from the 0.11.0 milestone Sep 17, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: In Progress
9 participants