Internet-Draft PQC in DKIM November 2026
Buck Expires 6 May 2027 [Page]
Workgroup:
Network Working Group
Internet-Draft:
draft-buck-dkim-pq-dkim1-00
Published:
Intended Status:
Informational
Expires:
Author:
B. Buck, Ed.
BWeb-SSL Services UG & Co. KG

Post-Quantum Cryptography in DKIM

Abstract

This document discusses suitable post-quantum (PQ) signature algorithms for DomainKeys Identified Mail (DKIM). Because DKIM signatures are carried in emails, and public keys in DNS TXT records the usage of already standardized algorithms is limited. For compatibility reasons, signers that want post-quantum security are expected to add a PQ signature to a message in addition to a traditional signature, using separate DKIM-Signature header fields. The existing RSA and Ed25519 algorithms remain unchanged.

Status of This Memo

This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79.

Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet-Drafts is at https://datatracker.ietf.org/drafts/current/.

Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress."

This Internet-Draft will expire on 6 May 2027.

▲

Table of Contents

1. Introduction

DomainKeys Identified Mail (DKIM) [RFC6376] signs email messages by hashing selected header fields and the message body and signing the resulting header hash with a digital signature. Recipients obtain the verification key from the Domain Name System (DNS). DKIM defines RSA [RFC8017] and, in [RFC8463], Ed25519 as signing algorithms. Neither is resistant to attacks by a cryptographically relevant quantum computer (CRQC) running Shor's algorithm [SHOR].

For DKIM, the relevant threat is forgery: an attacker with a CRQC could derive a private signing key from a published public key and sign messages in the name of a domain. This matters for keys that remain published for a long time and for archived messages whose signatures are still checked later.

This document discusses the use of post-quantum (PQ) signature algorithms for DKIM1 (DKIM version 1, "v=1" as specified in [RFC6376]). Four candidates are compared: ML-DSA, FN-DSA, SLH-DSA, and SQIsign. Three parameter sets of the first two families are considered in detail: ML-DSA-44, ML-DSA-65 [FIPS-204], and FN-DSA-512 [FIPS-206]. In parallel, standardization of DKIM2 [I-D.ietf-dkim-dkim2-spec] with PQ support is ongoing; DKIM1 currently has no PQ signature algorithm. This document does not define new algorithm identifiers, tags, or registry entries, and it does not modify [RFC6376] or [RFC8463]. The key words of BCP 14 are used only in Table 1, which is a proposal for implementation requirements and not a standard. It does not update [RFC6376], [RFC8301], or [RFC8463], and it does not define algorithm identifiers.

1.1. Requirements Language

The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all capitals, as shown here.

2. Post-Quantum Signature Algorithms

This section describes the PQ signature schemes considered in this document. All are designed to resist attacks by a CRQC. Their public keys or signatures are larger than those of RSA and Ed25519, and the public keys of the lattice-based schemes do not fit in DNS over UDP responses.

2.1. ML-DSA

ML-DSA [FIPS-204] is a lattice-based signature scheme built on the Fiat-Shamir with aborts paradigm. Its security rests on the presumed hardness of the Module Learning With Errors (Module-LWE) and Module Short Integer Solution (Module-SIS) problems. This document considers ML-DSA-44 and ML-DSA-65. Because these schemes are comparatively new, ML-DSA signatures are intended to be used together with a separate traditional DKIM signature.

2.2. FN-DSA

FN-DSA [FIPS-206] is a lattice-based signature scheme following the hash-and-sign paradigm. Its security rests on the presumed hardness of the SIS problem over NTRU lattices. FN-DSA has smaller public keys and signatures than ML-DSA. This document considers FN-DSA-512, which is likewise intended to be used together with a separate traditional DKIM signature. FN-DSA is not yet a final standard at the time of writing.

2.3. SLH-DSA

SLH-DSA [FIPS-205] is a stateless hash-based signature scheme. Its security is based on the security of hash functions. SLH-DSA was standardized with 12 different parameter sets yielding different security levels, artifact sizes, and performance. In general, SLH-DSA has larger signatures, smaller public keys, and poorer performance compared to lattice-based alternatives. SLH-DSA-SHAKE-128f is used as a representative in this document, because it has the fastest signing of the small-key sets; the "s" variants have smaller signatures but slower signing.

2.4. SQIsign

SQIsign [SQISIGN] is an isogeny-based signature scheme. Its security rests on the presumed hardness of finding isogenies between supersingular elliptic curves, a problem that differs fundamentally from the lattice and hash-function assumptions above. SQIsign has the smallest public keys and signatures of all schemes considered, but has poorer performance compared to lattice based schemes. SQIsign is a candidate in NIST's additional signature process and therefore not standardized.

3. PQ-secure DKIM

DKIM supports multiple digital signature algorithms. RFC 6376 defines rsa-sha256 and RFC 8463 defines ed25519-sha256. This document discusses the use of mldsa44-sha256, mldsa65-sha256, and fndsa512-sha256. The suggested implementation requirements for signers and verifiers are given in Table 1.

The suffix "-sha256" in the algorithm names denotes the hash function used by DKIM to compute the header and body hashes ([RFC6376], Section 3.3) and is independent of any hash function used internally by ML-DSA or FN-DSA.

For mldsa44-sha256, mldsa65-sha256, and fndsa512-sha256, the signer applies the signing algorithm of the respective scheme directly to the DKIM header hash as message, using the pure variant (not HashML-DSA) and an empty context string. The algorithm names mldsa44-sha256, mldsa65-sha256, and fndsa512-sha256 are used in this document as working names only. This document does not register them with IANA and does not define new "a=" tag values.

3.1. Key Factors and Possible Algorithms

DKIM has some key factors, which are relevant for the implementation of post-quantum secure algorithms. These key factors are mainly performance, public-key size and signature size. In short, none of the algorithms mentioned in Section 2 fits all of the three key factors.

3.1.1. Performance

DKIM signatures are signed by the sending server and verified by the receiving server. Calculations are performed on the server, so faster is better. The already standardized algorithms RSA and Ed25519 perform well in sign and verify operations. The PQ alternatives SLH-DSA-SHAKE-128f and SQIsign-I are ~51 and ~49 times slower than RSA-2048 with the sign operation, and ~80 and ~1021 times slower with the verify operation. ML-DSA-44 (~11 times faster sign; nearly the same verify time), ML-DSA-65 (~7 times faster sign; ~2 times slower verify) and FN-DSA-512 (~3 times faster sign, nearly the same verify time) perform better while signing and have about the same verify times. All values are based on calculations by [PQSHIELD].

3.1.2. Public-Key Size

Public DKIM keys are stored as DNS TXT records. Typically these public keys are retrieved using DNS UDP responses, and the traditional maximum UDP size is 512 bytes (smaller is better). RSA-2048 (~256 bytes) and Ed25519 (32 bytes) keys encoded in Base64 fit in such 512 byte packets, PQ alternatives mostly do not. SLH-DSA public keys are 32, 48 or 64 bytes in size, the keys of SQIsign 83, 129 or 169 bytes. SLH-DSA and SQIsign are compatible in this case. ML-DSA (1312, 1952, 2592) and FN-DSA (897, 1793) keys exceed this limit and would need a TCP fallback for the DNS response.

3.1.3. Signature Size

DKIM signatures are transmitted in the header of emails and are currently based on RSA and Ed25519. Typically the signature is stored in the email on several devices, like sending and receiving server, and one or more clients (smaller is better). The mentioned traditional algorithms use 64 bytes (Ed25519) up to 256 bytes (RSA-2048), which has no significant impact on email sizes. The PQ alternatives mostly have significantly larger signatures (ML-DSA-44 2420 bytes, ML-DSA-65 3309 bytes, FN-DSA-512 666 bytes, SLH-DSA-SHAKE-128f 17088 bytes), but SQIsign-I in this case has more or less the same signature size (200 bytes). Larger signatures, especially encoded in Base64, mean more space needed for storing emails, which could be a problem especially for the SLH-DSA variants.

3.2. PQ Algorithm Consideration

Based on the key factors discussed in Section 3.1, none of the mentioned PQ alternatives fulfills all requirements. SQIsign matches most of the key factors but has poor performance and, more importantly, is not standardized. SLH-DSA would increase the email size by at least 17 kilobytes with the first fast variant and also has poor performance. ML-DSA-44, ML-DSA-65 and FN-DSA-512 are the most suitable algorithm variants. They show good performance, but their public keys exceed the 512 byte UDP limit, which makes TCP fallbacks necessary. Their signatures, from 666 bytes (FN-DSA-512) up to 3309 bytes (ML-DSA-65), increase email sizes only moderately. Larger sets (ML-DSA-87, FN-DSA-1024) have larger keys and signatures and exceed the size limits discussed below even further.

3.3. Key Sizes

For rsa-sha256, the key size for signers should be at least 2048 bits (instead of 1024 bits defined in [RFC8301]), due to newer attacks on smaller key sizes [RSAFORGE]. For the PQ algorithms, the key size is fixed by the parameter set.

3.4. Hybrid Signing

RSA and Ed25519 are vulnerable to Shor's algorithm [SHOR]. To obtain post-quantum security, a signer needs to add both a traditional signature (rsa-sha256 or ed25519-sha256) and a PQ signature (mldsa44-sha256, mldsa65-sha256, or fndsa512-sha256) to the message, as described in Section 6, to get a hybrid construct with two separate signatures. This is more compatible (the traditional algorithm is also used), and if one algorithm is broken, the other part still verifies. A composite construct (one signature combining both algorithms) would break compatibility with the current DKIM system. PQ public keys can exceed the size of a UDP DNS response, so verifiers need to be able to retrieve keys over TCP.

4. Signature and Key Syntax

This section illustrates how DKIM signatures and keys could look if the algorithms discussed here were defined for DKIM. It is informational and does not update [RFC6376] or [RFC8463].

4.1. Signature Syntax

The "a=" tag ([RFC6376], Section 3.5; [RFC8463], Section 4.1) could be extended by adding the following alternatives to the rule sig-a-tag-k:

sig-a-tag-k =/ "mldsa44"
sig-a-tag-k =/ "mldsa65"
sig-a-tag-k =/ "fndsa512"

4.2. Key Syntax

The "k=" tag ([RFC6376], Section 3.6.1; [RFC8463], Section 4.2) could be extended by adding the following alternatives to the rule key-k-tag-type:

key-k-tag-type  =/ "mldsa44"
key-k-tag-type  =/ "mldsa65"
key-k-tag-type  =/ "fndsa512"

The "p=" value would be the base64-encoded public key of the respective scheme, without further encapsulation. See Appendix A.2 for sample key records.

5. Proposed Algorithm and Key Requirements

Section 3.3 of [RFC6376] describes DKIM's hash and signature algorithms and [RFC8463] extends them. Table 1 lists the proposed implementation requirements for DKIM signing algorithms. They are a proposal only, to be adopted, if at all, by a Standards Track document. Algorithms marked as PQ-secure provide post-quantum security only in combination with a traditional signature and only if verifiers require the PQ signature to be valid (see Section 3.4). ML-DSA-65 offers a higher security level than ML-DSA-44 (NIST category 3 instead of 2) at the cost of larger keys and signatures (several kilobytes); it is therefore only advisable where such higher security needs exist. Some implementations limit the size of individual header fields or of the whole header, which could be a problem for ML-DSA based signatures. Such limits have not been evaluated in this document and need to be checked in an implementation.

Table 1: Proposed Algorithm and Key Size Requirements; (1) = for higher security needs
Algorithm (a=) Key size Signer Verifier PQ-Secure Reference
rsa-sha256 < 1024 bits MUST NOT MUST NOT No [RFC8301]
rsa-sha256 1024 bits SHOULD NOT MUST No [RFC8301]
rsa-sha256 2048 bits MUST MUST No [RFC8301]
rsa-sha256 4096 bits MAY MUST No [RFC8301]
rsa-sha256 > 4096 bits MAY MAY No [RFC8301]
ed25519-sha256 fixed SHOULD MUST No [RFC8463]
mldsa44-sha256 fixed MUST MUST Yes (hybrid only) [FIPS-204]
mldsa65-sha256 fixed SHOULD (1) MUST Yes (hybrid only) [FIPS-204]
fndsa512-sha256 fixed SHOULD SHOULD Yes (hybrid only) [FIPS-206]

6. Transition Considerations

A signer that adds a PQ signature to a message needs to also add a traditional signature (rsa-sha256 or ed25519-sha256), so that verifiers without PQ support can still validate the message. Because a selector can publish only one key record in the DNS, the two signatures need to use different selectors; they can use the same d= and, if present, i= values. Without the traditional signature, verifiers that do not support PQ algorithms would treat the message as unsigned. Without the PQ signature, the message would gain no protection against a CRQC (see Section 3.4). The deployment of PQ signatures is expected to follow that of ed25519-sha256, which is not yet supported by all verifiers. A verifier that supports PQ algorithms validates both signatures; a valid traditional signature alone does not provide PQ security (see Section 3.4). Since a verifier cannot know whether a domain signs with PQ algorithms, requiring the PQ signature is only possible for domains for which this is known, for example through local policy.

7. IANA Considerations

This document has no IANA actions. The algorithm names used here are working names only (see Section 3). Registration of key types and signature algorithms would have to be requested in a separate Standards Track document.

8. Security Considerations

The security considerations of [RFC6376] apply in addition to those below.

The algorithms discussed in this document are intended to provide authenticity of DKIM signatures against an adversary with a CRQC. They do so only if a verifier requires both a traditional and a PQ signature as described in Section 3.4. If a verifier accepts a message with only a valid traditional signature, an attacker can remove the PQ signature and forge the traditional one (downgrade).

Large public keys and signatures increase DNS response sizes and header lengths; see Section 3.4 for the TCP fallback. FN-DSA is not yet a final standard at the time of writing, and its implementation needs particular care, because the floating-point operations used in signing can leak information through side channels.

9. References

9.1. Normative References

[RFC6376]
Crocker, D., Ed., Hansen, T., Ed., and M. Kucherawy, Ed., "DomainKeys Identified Mail (DKIM) Signatures", STD 76, RFC 6376, DOI 10.17487/RFC6376, , <https://www.rfc-editor.org/rfc/rfc6376>.
[RFC8301]
Kitterman, S., "Cryptographic Algorithm and Key Usage Update to DomainKeys Identified Mail (DKIM)", RFC 8301, DOI 10.17487/RFC8301, , <https://www.rfc-editor.org/rfc/rfc8301>.
[RFC8463]
Levine, J., "A New Cryptographic Signature Method for DomainKeys Identified Mail (DKIM)", RFC 8463, DOI 10.17487/RFC8463, , <https://www.rfc-editor.org/rfc/rfc8463>.
[I-D.ietf-dkim-dkim2-spec]
Clayton, R., Chuang, W., and B. Gondwana, "DomainKeys Identified Mail Signatures v2 (DKIM2)", Work in Progress, Internet-Draft, draft-ietf-dkim-dkim2-spec-09, , <https://datatracker.ietf.org/doc/html/draft-ietf-dkim-dkim2-spec-09>.
[FIPS-204]
NIST, "Module-Lattice-Based Digital Signature Standard", NIST FIPS 204, DOI 10.6028/NIST.FIPS.204, , <https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.204.pdf>.
[FIPS-205]
NIST, "Stateless Hash-Based Digital Signature Standard", NIST FIPS 205, DOI 10.6028/NIST.FIPS.205, , <https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.205.pdf>.
[FIPS-206]
NIST, "Fast Fourier Transform over NTRU-Lattice-Based Digital Signature Algorithm", NIST FIPS 206, DOI TBD, , <https://www.nist.gov/news-events/news/2024/08/nist-releases-first-3-finalized-post-quantum-encryption-standards>.
[SQISIGN]
Aardal, M. A., Adj, G., Aranha, D. F., Basso, A., Borin, G., Canales Martinez, I. A., Chavez-Saab, J., Corte-Real Santos, M., Dartois, P., De Feo, L., Duparc, M., Espitau, T., Eriksen, J. K., Fouotsa, T. B., Gazzoni Filho, D. L., Hess, B., Invernizzi, R., Kohel, D., Leroux, A., Longa, P., Maino, L., Meyer, M., Mula, M., Nakagawa, K., Onuki, H., Panny, L., Patranabis, S., Petit, C., Pope, G., Reijnders, K., Robert, D., Rodriguez-Henriquez, F., Schaeffler, S., Vercauteren, F., Wallet, A., Wesolowski, B., and W. van Woerden, "SQIsign", , <https://sqisign.org>.
[RFC2119]
Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, , <https://www.rfc-editor.org/rfc/rfc2119>.
[RFC8174]
Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, , <https://www.rfc-editor.org/rfc/rfc8174>.

9.2. Informative References

[RFC8017]
Moriarty, K., Ed., Kaliski, B., Jonsson, J., and A. Rusch, "PKCS #1: RSA Cryptography Specifications Version 2.2", RFC 8017, DOI 10.17487/RFC8017, , <https://www.rfc-editor.org/rfc/rfc8017>.
[SHOR]
Shor, P. W., "Polynomial-Time Algorithms for Prime Factorization and Discrete Logarithms on a Quantum Computer", DOI 10.1137/S0097539795293172, SIAM Journal on Computing, Volume 26, Issue 5, pp. 1484-1509, , <https://doi.org/10.1137/S0097539795293172>.
[PQSHIELD]
PQShield, "Post-Quantum Signature Schemes", , <https://pqshield.github.io/nist-sigs-zoo/>.
[RSAFORGE]
Shea, L., Haller, M., Suhl, A., Heninger, N., and E. Thome, "Forging 1024-bit RSA signatures in nearly SNFS time", Cryptology ePrint Archive, Paper 2026/2131 , , <https://eprint.iacr.org/2026/2131>.

Appendix A. Examples of a Signed Message

TBD

Author's Address

Bastian Buck (editor)
BWeb-SSL Services UG & Co. KG
Breite 12
88512 Mengen
Germany