Skip to content

Add support for ML-DSA algorithms - #1098

Open
maraino wants to merge 17 commits into
masterfrom
mariano/pq-cloudkms
Open

Add support for ML-DSA algorithms#1098
maraino wants to merge 17 commits into
masterfrom
mariano/pq-cloudkms

Conversation

@maraino

@maraino maraino commented Aug 5, 2026

Copy link
Copy Markdown
Contributor

This commit adds support for creating keys and signing using ML-DSA-44, ML-DSA-65, and ML-DSA-87 algorithms on GCP cloud KMS, AWS KMS, softkms, and keyutil and pemutil packages.

It also upgrades Go to 1.26+, uses go fix to modernize Go, and changes the deprecated fields in ECDSA keys to use mainly the ecdsa.PublicKey.Bytes(), ecdsa.PrivateKey.Bytes() and ecdsa.ParseUncompressedPublicKey() methods.

We could use smallstep/step-kms-plugin#364 to test other implementations.

This commit adds support for creating keys and signing using ML-DSA-44,
ML-DSA-65, and ML-DSA=87 algorithms on GCP cloud KMS.
maraino added 4 commits August 5, 2026 11:24
This commit uses the key type (kty) AKP for ML-DSA keys matching
RFC 9964, ML-DSA for JSON Object Signing and Encryption (JOSE)
and CBOR Object Signing and Encryption (COSE)

It also adds support for softkms.
@maraino
maraino force-pushed the mariano/pq-cloudkms branch from 7f08a54 to da9db5c Compare August 12, 2026 18:47
@maraino
maraino force-pushed the mariano/pq-cloudkms branch from da9db5c to c418c78 Compare August 12, 2026 19:38
For some reason Go 1.27 gets an error when downloading the Cavium root
certificate. Changing the user agent fixes the issue.
@maraino maraino changed the title Add support for ML-DSA algorithms on cloudkms Add support for ML-DSA algorithms Aug 19, 2026
@maraino
maraino force-pushed the mariano/pq-cloudkms branch from d3f8b38 to d6c1152 Compare August 31, 2026 21:40
@maraino
maraino marked this pull request as ready for review August 31, 2026 21:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants