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

[PQ] Add experimental support for PQ/T hybrid KEMs #1741

Merged

Conversation

sgmenda-aws
Copy link

@sgmenda-aws sgmenda-aws commented Aug 5, 2024

Description of changes:

Add an experimental implementation of PQ/T Hybrid KEMs in a new folder crypto/pqt. The header file is crypto/pqt/pqt_kem.h and the source file is crypto/pqt/pqt_kem.c.

These KEMs are plugged into the existing KEM API via crypto/kem/*, and tool/speed.cc is updated to enable benchmarking their performance.

Call-outs:

Lines 399-490 in crypto/pqt/pqt_kem.c contain the core implementation. The rest is boilerplate.

Testing:

These KEMs pass the PerKEMTest suite, minus the test vectors, which will be added in a subsequent commit.

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license and the ISC license.

@sgmenda-aws sgmenda-aws requested a review from a team as a code owner August 5, 2024 21:48
@codecov-commenter
Copy link

codecov-commenter commented Aug 5, 2024

Codecov Report

Attention: Patch coverage is 92.55814% with 16 lines in your changes missing coverage. Please review.

Project coverage is 78.34%. Comparing base (0574778) to head (08374c5).

Files Patch % Lines
crypto/pqt/pqt_kem.c 92.38% 16 Missing ⚠️
Additional details and impacted files
@@                    Coverage Diff                     @@
##           experimental-pq-hybrid    #1741      +/-   ##
==========================================================
+ Coverage                   78.32%   78.34%   +0.01%     
==========================================================
  Files                         580      581       +1     
  Lines                       96618    96833     +215     
  Branches                    13853    13848       -5     
==========================================================
+ Hits                        75679    75862     +183     
- Misses                      20326    20359      +33     
+ Partials                      613      612       -1     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

Copy link
Contributor

@torben-hansen torben-hansen left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Still need to review the macrofication.

crypto/pqt/README.md Outdated Show resolved Hide resolved
crypto/pqt/pqt_kem.h Outdated Show resolved Hide resolved
crypto/pqt/pqt_kem.c Outdated Show resolved Hide resolved
crypto/pqt/pqt_kem.c Outdated Show resolved Hide resolved
crypto/pqt/pqt_kem.h Outdated Show resolved Hide resolved
crypto/pqt/pqt_kem.c Outdated Show resolved Hide resolved
crypto/pqt/pqt_kem.c Outdated Show resolved Hide resolved
crypto/pqt/pqt_kem.c Outdated Show resolved Hide resolved
crypto/pqt/pqt_kem.c Outdated Show resolved Hide resolved
crypto/pqt/pqt_kem.c Show resolved Hide resolved
crypto/pqt/pqt_kem.c Outdated Show resolved Hide resolved
crypto/pqt/pqt_kem.c Outdated Show resolved Hide resolved
crypto/pqt/pqt_kem.c Outdated Show resolved Hide resolved
crypto/pqt/pqt_kem.c Outdated Show resolved Hide resolved
crypto/pqt/pqt_kem.c Outdated Show resolved Hide resolved
crypto/pqt/pqt_kem.c Show resolved Hide resolved
crypto/pqt/pqt_kem.c Show resolved Hide resolved
crypto/pqt/pqt_kem.c Show resolved Hide resolved
@torben-hansen torben-hansen merged commit 1d0fb39 into aws:experimental-pq-hybrid Aug 13, 2024
105 of 106 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants