Frequently Asked Questions

What is DNSCrypt?

DNSCrypt is a protocol that encrypts, authenticates and optionally anonymizes communications between a DNS client and a DNS resolver. It prevents DNS spoofing. It uses cryptographic signatures to verify that responses originate from the chosen DNS resolver and haven’t been tampered with.

It is an open specification, with free and open source reference implementations, and it is not affiliated with any company or organization.

What is DNS?

DNS is a globally distributed database that maps names to values. It is constantly used by all applications communicating over the Internet and private networks.

It typically translates names such as www.google.com into IP addresses such as 216.58.199.36, so that devices can determine the path to follow in order to communicate with each other.

So what is the problem?

Originally, the DNS protocol didn’t include any encryption nor authentication mechanisms; any device between a client and a DNS server could monitor and interfere with DNS traffic, without this being detected by the client.

Attackers on a local network can abuse this to conduct trivial attacks. More recently, malicious DNS servers have been massively used by malware.

The DNS security extensions (DNSSEC) were designed to partially mitigate this design flaw, by adding digital signatures to DNS responses.

DNS

What is DNSSEC

DNSSEC is a DNS Extension that allows a client to validate the DNS response on supported domains and TLDs.

Resolvers check the digital signature of DNS responses to verify that the data match what the zone owner initially configured.

Unfortunately, DNSSEC has received limited adoption, remains incompatible with some devices and software pieces, and doesn’t prevent the traffic from being monitored.

DNSSEC

Why use DNSCrypt?

Security

  • No insecure bootstrap: encryption starts from the very first packet, unlike DoT/DoH which require resolving a hostname first
  • Doesn’t rely on X509 certificates and Certificate Authorities; uses static public keys verified through cryptographic signatures
  • Resistant to CA compromise and state-level coercion
  • Cannot be MITM’d by standard TLS interception tools
  • Doesn’t require a TLS stack, which vastly reduces the attack surface
  • Doesn’t have any insecure parameters or algorithms
  • Includes mitigations against DNS amplification attacks
  • Can hide client IP addresses from servers (Anonymized DNSCrypt)

Performance

  • Zero-RTT operation: no handshake delay
  • Native parallelism: multiple queries in flight simultaneously
  • Lower latency than DoH, even when DoH uses HTTP/3
  • Can use UDP and TCP for transport
  • Inherently supports reordering, parallelism and priorities
  • Keeps a minimal number of states server-side

Decentralization and censorship resistance

  • Designed to be distributed: anyone can run a resolver without corporate gatekeepers
  • No SNI, no HTTP signature, no fixed port—harder to block and fingerprint
  • Supports anonymized DNS relays for additional privacy
  • Regular DNS and DNSCrypt can share the same port (port 443 is recommended due to routers frequently hijacking port 53)
  • DNSCrypt and DoH can also be served simultaneously on the same port

Protocol design

  • Specifically designed for DNS, not a generic transport layer
  • Very simple to implement; requires only two standard cryptographic constructions
  • Built-in query padding
  • Multiple crypto suites (including X25519, Ed25519)
  • Extensible without requiring cross-layer redesigns
  • A prototype using post-quantum cryptography is available
  • Has a complete specification since 2013
  • Battle tested since 2011
  • The RFC is still a work in progress
DNSCrypt with DNSSEC

How do I get started with using DNSCrypt?

See Client Implementations

How do I get started with running my own DNSCrypt server?

See Server Implementations

Other protocols

[DNS over SSH]

  • Full encryption of the DNS protocol
  • Can be deployed on any system already running an SSH server
  • Battle-tested, widely implemented transport protocol
  • Doesn’t depend on root CAs
  • Can use DNSSEC or private CAs for public key verification
  • Supports multiple authentication mechanisms
  • Doesn’t require a TLS stack; modern implementations do not even require OpenSSL any more
  • Very tricky to configure securely
  • Requires TCP
  • Current implementations don’t scale well server-side
  • UDP queries require TCP encapsulation
  • The SFTP protocol supports reordering and parallelism, but common DNS-over-SSH tunelling cannot use this

DNS over TLS (RFC7858)

  • Full encryption of the DNS protocol
  • Specified as an RFC
  • Many implementations available
  • Insecure bootstrap: requires resolving the resolver’s hostname through plaintext DNS before encryption can begin
  • Relies on the global TLS PKI system, vulnerable to CA compromises and state-level coercion
  • Uses a dedicated port (853) that is trivially blocked in situations where DNS encryption is most needed
  • Requires a full TLS stack, introducing a large attack surface
  • Readily compatible with industry-standard TLS interception/monitoring devices
  • Difficult to implement securely. Validating TLS certificates in non-browser software is the most dangerous code in the world
  • Initial connection is slow due to the TLS handshake
  • Requires TCP; no UDP support
  • TLS is a generic transport mechanism that doesn’t support reordering and parallelism or priorities
  • Allows insecure algorithms and parameters
  • Padding rules not well specified
  • Questionable practical benefits over DoH

DNS over HTTPS (DoH)

  • Full encryption of the DNS protocol
  • Uses standard HTTP/2 or HTTP/3, on the standard port (443)
  • Less likely to be blocked than DoT
  • Can be deployed on any web server alongside existing websites
  • Immediately compatible with caching proxies and CDNs
  • Specified as an RFC
  • Widely supported in browsers
  • Insecure bootstrap: requires resolving the resolver’s hostname through plaintext DNS before encryption can begin
  • Relies on the global TLS PKI system, vulnerable to CA compromises and state-level coercion
  • Has centralized DNS resolution among major CDN providers (Cloudflare, Google), capturing DNS analytics
  • Higher latency than DNSCrypt, even when using HTTP/3
  • Requires a full TLS stack and a web server, introducing a large attack surface
  • TLS interception/monitoring tools are readily available
  • SNI exposes the resolver hostname, making traffic easily identifiable and blockable
  • Provides more information than regular DNS to resolver operators for client fingerprinting
  • Allows insecure algorithms and parameters
  • Requires TCP
  • Relay protocols (ODoH) leak more information than expected

DNS-over-DTLS (RFC8094)

  • No known implementations
  • Many security vulnerabilities in OpenSSL due to DTLS

[DNS over QUIC] (RFC9250)

  • Full encryption of the DNS protocol
  • Uses a dedicated port: 853, can’t use port 53
  • Client devices and IP addresses can be linked
  • No clear advantage over HTTP/3

Practical considerations

DNSCrypt offers security advantages that DoT and DoH cannot match: no insecure bootstrap, no CA dependency, and resistance to traffic analysis. Combined with its lower latency and decentralized design, DNSCrypt remains the strongest choice for DNS security and privacy.