Skip to content

Update README supported-algorithms list - #559

Draft
WillChilds-Klein wants to merge 1 commit into
corretto:mainfrom
WillChilds-Klein:readme-supported-algorithms
Draft

Update README supported-algorithms list#559
WillChilds-Klein wants to merge 1 commit into
corretto:mainfrom
WillChilds-Klein:readme-supported-algorithms

Conversation

@WillChilds-Klein

Copy link
Copy Markdown
Contributor

Issue #, if available: N/A

Description of changes:

The README's "Supported Algorithms" section had drifted from what ACCP actually registers. I reconciled it two ways and merged the results:

  1. From source — read the addService(...) / addSignatures() calls in AmazonCorrettoCryptoProvider, including the build/mode-conditional registrations (shouldRegisterMLDSA, shouldRegisterMLKEM, shouldRegisterAesCfb, shouldRegisterX25519, shouldRegisterEd25519ph, shouldRegisterEdKeyFactory).
  2. Programmatically — enumerated Provider.getServices() on a live ACCP instance (2.6.0, non-FIPS, JDK 17) and grouped by service type.

Reconciled changes:

  • SecretKeyFactory: added PBKDF2WithHmacSHA{1,224,256,384,512} (added in Add support for PBKDF2 #543 after this section was last updated).
  • KeyPairGenerator / KeyFactory: added the ML-DSA{,-44,-65,-87} and ML-KEM{,-512,-768,-1024} entries; noted the XDH alias for X25519.
  • KEM: enumerated the sized ML-KEM-512/768/1024 variants alongside ML-KEM.
  • KeyAgreement: noted the XDH alias for X25519.
  • Signature: corrected Ed25519/Ed25519ph casing (were ED25519/ED25519ph), noted the EdDSA alias, and collapsed the ML-DSA entries.
  • Conditional algorithms are now marked: AES/CFB, Ed25519ph, NONEwithEd25519ph, and ML-DSA are non-FIPS only; ML-KEM requires a JDK 17+ build.

Notes:

  • The getServices() dump reflects the default build (non-FIPS, JDK 17), so ML-KEM is absent from it (compiled out of the default build) and the ML-DSA/AES-CFB/Ed25519ph entries are present; the README annotates these gating conditions rather than omitting the algorithms.
  • The Cipher section already describes full transformations (e.g. AES/CBC/PKCS5Padding) rather than the bare registration names (AES/CBC + SupportedModes), which is the more useful form for callers; left as-is aside from the AES/CFB FIPS annotation.
  • SHA3-in-RSASSA-PSS (Support SHA3 digests in RSASSA-PSS #555) is a digest accepted within PSSParameterSpec, not a separately registered service, so it does not appear in getServices() and needs no new list entry.

Verified the reconciliation by diffing the updated README against the getServices() output.

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Reconcile the README's "Supported Algorithms" section against ACCP's
actual service registrations. The list was compiled two ways and merged:
by reading the addService/addSignatures calls in
AmazonCorrettoCryptoProvider, and by enumerating Provider.getServices() on
a live ACCP instance (2.6.0, non-FIPS, JDK 17).

Changes:

 - SecretKeyFactory: add the PBKDF2WithHmacSHA{1,224,256,384,512}
   factories (added in corretto#543 after this section was last updated).
 - KeyPairGenerator / KeyFactory: add the ML-DSA{,-44,-65,-87} and
   ML-KEM{,-512,-768,-1024} entries, and note the XDH alias for X25519.
 - KEM: enumerate the sized ML-KEM-512/768/1024 variants alongside ML-KEM.
 - KeyAgreement: note the XDH alias for X25519.
 - Signature: correct Ed25519/Ed25519ph casing, note the EdDSA alias, and
   collapse the ML-DSA entries.
 - Mark build/mode-conditional algorithms accordingly: AES/CFB, Ed25519ph,
   NONEwithEd25519ph, and ML-DSA are non-FIPS only; ML-KEM requires a
   JDK 17+ build.
@codecov

codecov Bot commented Jul 31, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 78.55%. Comparing base (7813506) to head (ab60179).

Additional details and impacted files
@@            Coverage Diff            @@
##               main     #559   +/-   ##
=========================================
  Coverage     78.55%   78.55%           
  Complexity     1217     1217           
=========================================
  Files           127      127           
  Lines          7759     7759           
  Branches        982      982           
=========================================
  Hits           6095     6095           
  Misses         1133     1133           
  Partials        531      531           

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

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

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