Skip to content

Add ML-DSA-44 DNSSEC authoritative signing support (experimental) - #2147

Draft
zbalkan wants to merge 3 commits into
TechnitiumSoftware:masterfrom
zbalkan:feat/pqc
Draft

zbalkan wants to merge 3 commits into
TechnitiumSoftware:masterfrom
zbalkan:feat/pqc

Conversation

@zbalkan

@zbalkan zbalkan commented Sep 14, 2026

Copy link
Copy Markdown
Contributor

ML-DSA-44 DNSSEC authoritative signing support

Adds experimental authoritative DNSSEC signing support for ML-DSA-44 using DNSSEC algorithm number 18.

This PR depends on TechnitiumLibrary PR #70, which provides algorithm-18 DNSKEY/RRSIG handling and resolver-side ML-DSA validation.

Included

  • ML-DSA-44 KSK and ZSK generation.
  • Pure ML-DSA-44 signing with an empty context.
  • DNSKEY generation using the ML-DSA-44 public key.
  • Zone signing through the existing DNSSEC signing lifecycle.
  • Private-key persistence using the ML-DSA 32-byte seed.
  • KSK/ZSK rollover through the existing DNSSEC rollover mechanism.
  • ML-DSA-44 support in the zone signing API and web UI.
  • ML-DSA-44 support when adding DS records.
  • PKCS#8 PEM private-key import for ML-DSA-44.

ML-DSA private-key import currently requires a PKCS#8 representation that retains the 32-byte seed. Expanded-only ML-DSA private-key encodings are rejected because the existing DnsServer persistence format stores and reconstructs ML-DSA keys from that seed.

The implementation intentionally reuses the existing DnssecPrivateKey, zone-signing, persistence, rollover, API, and UI paths rather than introducing ML-DSA-specific abstractions.

This remains experimental while the DNSSEC ML-DSA specification is a draft.

Signed-off-by: Zafer Balkan <zafer@zaferbalkan.com>
@zbalkan zbalkan changed the title Add ML-DSA-44 DNSSEC signing support (post-quantum, experimental) Add ML-DSA-44 DNSSEC signing support (post-quantum, experimental, resolver-only) Sep 15, 2026
@zbalkan zbalkan changed the title Add ML-DSA-44 DNSSEC signing support (post-quantum, experimental, resolver-only) Add ML-DSA-44 DNSSEC authoritative signing support (experimental) Sep 15, 2026
Signed-off-by: Zafer Balkan <zafer@zaferbalkan.com>
Signed-off-by: Zafer Balkan <zafer@zaferbalkan.com>
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