Skip to content

Implement X25519, X448, Ed25519 & Ed448 support #56

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

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

ic0ns
Copy link
Contributor

@ic0ns ic0ns commented Jun 26, 2025

Summary

  • Implemented support for X25519, X448, Ed25519, and Ed448 cryptographic algorithms
  • Added complete implementation including models, handlers, preparators, and parsers
  • Added comprehensive test coverage for all new functionality

Changes

  • Added public key models for all four Edwards curves
  • Implemented handlers to manage context updates during parsing and preparation
  • Created preparators to encode public keys (32 bytes for Ed25519/X25519, 56-57 bytes for Ed448/X448)
  • Added parsers to read Edwards curve public keys from ASN.1 octet strings
  • Extended X509CertificateConfig with fields and methods for Edwards curve keys
  • Extended X509Context with fields and methods for Edwards curve keys
  • Extended X509Chooser with methods to retrieve Edwards curve keys
  • Added comprehensive unit tests for all preparators

Test plan

  • All unit tests pass
  • Code compiles without errors
  • Code formatted with spotless
  • Tested key encoding for correct byte lengths (32 bytes for Ed25519/X25519, 56-57 bytes for Ed448/X448)

- Added public key models, handlers, preparators and parsers for all four Edwards curves
- Added configuration fields and methods for Edwards curve keys in X509CertificateConfig
- Added context fields and methods for Edwards curve keys in X509Context
- Added chooser methods for Edwards curve keys in X509Chooser
- Implemented key encoding in preparators (32 bytes for Ed25519/X25519, 56-57 bytes for Ed448/X448)
- Added comprehensive unit tests for all preparators
- All tests pass and code compiles successfully
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.

1 participant