Skip to content
Calcrivo

DNSSEC Calculator

Calculate how much RRSIG and DNSKEY records inflate a DNS response, and whether it still fits UDP, EDNS0 or needs TCP.

Inputs

bytes
records
keys

Typically one KSK plus one ZSK, or more during a rollover.

bytes

1232 is the DNS Flag Day 2020 recommendation.

Signed Response Size

1,281bytes

Size Inflation vs Unsigned

900.8%

Bandwidth Multiplier

10.01×

RRSIG Overhead

588bytes

DNSKEY Overhead

554bytes

Transport Outcome

Exceeds the EDNS0 buffer — TCP fallback or fragmentation

Step by step

  1. Values used

    Unsigned response size = 128 bytes; RRSIG records in the response = 2 records; Signing algorithm = RSASHA256, 2048-bit key — 256 B signature; Response carries the DNSKEY RRset = Yes; Keys in the DNSKEY RRset = 2 keys; Advertised EDNS0 buffer size = 1,232 bytes

  2. DNSSEC

    signed size = unsigned + RRSIGs × (38 + signature bytes) + DNSKEY RRset + 11 bytes of EDNS0 OPT.

  3. Signed Response Size

    = 1,281 bytes

  4. Size Inflation vs Unsigned

    = 900.8

  5. Bandwidth Multiplier

    = 10.01 ×

  6. RRSIG Overhead

    = 588 bytes

  7. DNSKEY Overhead

    = 554 bytes

  8. Transport Outcome

    = Exceeds the EDNS0 buffer — TCP fallback or fragmentation

How it works

Each RRSIG carries an 18-byte fixed header, the signer's name and the raw signature, so an RSA-2048 signature costs nearly 300 bytes per record. Add the DNSKEY RRset — two 2048-bit keys is over 500 bytes on its own — and a DNSSEC response routinely runs ten times the size of its unsigned equivalent, straight past 512 bytes and often past the 1232-byte EDNS0 buffer into TCP. Responses that exceed the path MTU or the advertised EDNS0 buffer fall back to TCP or fragment, and networks that block DNS over TCP or drop fragments turn a signed zone into an intermittent resolution failure.

Formula

DNSSEC

signed size = unsigned + RRSIGs × (38 + signature bytes) + DNSKEY RRset + 11 bytes of EDNS0 OPT.

RRSIG
Signature record: 18-byte fixed header plus signer name plus the signature itself
DNSKEY
Public key RRset returned for validation
EDNS0 OPT
Pseudo-record that advertises a larger UDP buffer

Frequently Asked Questions

How is DNSSEC calculated?

signed size = unsigned + RRSIGs × (38 + signature bytes) + DNSKEY RRset + 11 bytes of EDNS0 OPT. Each RRSIG carries an 18-byte fixed header, the signer's name and the raw signature, so an RSA-2048 signature costs nearly 300 bytes per record. Add the DNSKEY RRset — two 2048-bit keys is over 500 bytes on its own — and a DNSSEC response routinely runs ten times the size of its unsigned equivalent, straight past 512 bytes and often past the 1232-byte EDNS0 buffer into TCP.

Why does DNSSEC matter?

Responses that exceed the path MTU or the advertised EDNS0 buffer fall back to TCP or fragment, and networks that block DNS over TCP or drop fragments turn a signed zone into an intermittent resolution failure.

What values do I need to enter?

This calculator takes 6 inputs: Unsigned response size, RRSIG records in the response, Signing algorithm, Response carries the DNSKEY RRset, Keys in the DNSKEY RRset, Advertised EDNS0 buffer size. The pre-filled defaults are a realistic starting point — replace them with figures from your own environment for a result you can act on.

Should I switch from RSA to ECDSA?

For response size, yes — ECDSAP256SHA256 signatures are 64 bytes against 256 for RSA-2048, which typically brings a signed response back under the EDNS0 buffer and eliminates TCP fallback. Validate that your resolver population supports algorithm 13 first; an unsupported algorithm is treated as unsigned rather than as a failure, which quietly removes the protection.

You might also need