DNSCurve
DNSCurve は、Salsa20 が使う鍵の構築に Curve25519 楕円曲線暗号を使い、リゾルバと権威サーバーとの間の DNS パケットの暗号化と認証に Poly1305 メッセージ認証符号 (MAC) 関数を組み合わせて使う。リモートの権威サーバーの公開鍵は NS レコードに置かれ、したがって再帰リゾルバはサーバーが DNSCurve をサポートしているかどうかを知ることができる。鍵はマジック文字列 uz5 から始まり、サーバーの255ビット公開鍵を51バイトに Base32 エンコードした文字列が続く。たとえば、BIND フォーマットでは以下のように表記される。
リゾルバは自身の DNSCurve 公開鍵、96ビットの nonce、クエリの入った暗号ボックスを含むパケットをサーバーに送る。暗号ボックスはリゾルバの秘密鍵、サーバーの公開鍵、nonce から作られる。サーバーからの応答には別の96ビット nonce と、クエリへの応答を含む暗号ボックスが含まれる。
DNSCurve で利用される暗号ツールは TCP に似ているがデータの暗号化と認証に楕円曲線暗号を利用する UDP ベースのプロトコル、CurveCP の利用するものと同一である。