-
Notifications
You must be signed in to change notification settings - Fork 99
Add mlkem1024nistp384-sha384 and mlkem768x25519-sha256 #869
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
base: master
Are you sure you want to change the base?
Conversation
e096fc7 to
f655529
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This pull request adds support for two new ML-KEM (post-quantum) hybrid key exchange algorithms to wolfSSH: mlkem1024nistp384-sha384 and mlkem768x25519-sha256. These algorithms combine traditional elliptic curve cryptography with post-quantum ML-KEM for enhanced security against future quantum computing threats.
Changes:
- Added support for two new hybrid KEX algorithms combining ML-KEM with traditional elliptic curves
- Refactored the KEX test infrastructure to accept algorithm names as parameters
- Updated documentation and comments for the new algorithms
Reviewed changes
Copilot reviewed 4 out of 4 changed files in this pull request and generated 7 comments.
| File | Description |
|---|---|
| wolfssh/internal.h | Added conditional compilation flags, algorithm IDs, buffer size updates, and HandshakeInfo bitfield for the new ML-KEM algorithms |
| src/internal.c | Implemented client and server key agreement logic for the new algorithms, updated algorithm name mappings, hash functions, and prime curve lookups |
| src/ssh.c | Updated display text for ML-KEM algorithm identification |
| tests/kex.c | Refactored test to be algorithm-agnostic and added tests for the two new KEX algorithms |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
1. Reorganize the KEX test to allow for testing any KEX algorithm. Add test cases for the new algorithms to the KEX test. 2. Reorder the cannedKexAlgoNames with the ML-KEM algos first. 3. Add the new algos to wolfSSH_GetText(). 4. Add comments and whitespace cleanup.
f655529 to
303cafc
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
Copilot reviewed 4 out of 4 changed files in this pull request and generated 1 comment.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
This solves issue #757.