Ed25519 Public-Key Signature System
Gelir İdaresi Başkanlığı teknik kılavuzları, Vergi Usul Kanunu ve UBL-TR standartları referans alınarak doğrulanmıştır.
Tanımı ve Kriptolojik Amacı
Ed25519, Daniel J. Bernstein, Niels Duif, Tanja Lange, Peter Schwabe ve Bo-Yin Yang tarafından tasarlanan ve IETF RFC 8032 standardıyla tescillenen, Edwards-curve Digital Signature Algorithm (EdDSA) ailesinin Curve25519 eliptik eğrisi üzerindeki yüksek performanslı ve güvenli açık anahtarlı imzalama sistemidir.
Geleneksel RSA ve standart NIST ECDSA algoritmalarının karşılaştığı yan kanal saldırıları (side-channel attacks), önbellek zamanlama açıkları (cache timing attacks) ve zayıf rastgele sayı üreteci (RNG) kaynaklı anahtar sızıntılarını mimari düzeyde ortadan kaldırmak amacıyla geliştirilmiştir. Modern açık anahtar altyapılarında (PKI), TLS 1.3 protokolünde, SSH anahtarlarında, DNSSEC imzalarında ve yeni nesil nitelikli elektronik imza kartlarında hızla ana akım standart haline gelmiştir.
Matematiksel Yapısı ve Eğri Denklemi
Ed25519, bir Twisted Edwards Eğrisi kullanır. Bu eğrinin sonlu bir cisim ($GF(2^{255}-19)$) üzerindeki cebirsel denklemi şu şekildedir:
-x² + y² = 1 - (121665 / 121666) · x²y² (mod 2²⁵⁵ - 19)
Bu eğri, Montgomery biçimindeki Curve25519 eğrisi ile çift-rasyonel eşdeğer (birationally equivalent) yapıdadır. Edwards eğrilerinin en büyük avantajı, nokta toplama ve ikiye katlama (point addition / doubling) formüllerinin eğrinin tüm noktaları için istisnasız bütüncül (complete) olmasıdır. Yani nötr eleman veya sonsuzdaki nokta için özel 'if-else' mantıksal dallanmaları gerektirmez; bu da işlemcinin kodu her zaman sabit sürede (constant-time) çalıştırmasını garanti eder.
Ed25519 Temel Parametreleri ve Güvenlik Seviyesi
- Açık Anahtar Boyutu: 32 Bayt (256 bit) - Sıkıştırılmış Y koordinatı ve işaret biti formatında saklanır.
- Gizli (Özel) Anahtar Boyutu: 32 Bayt rastgele tohum (seed) - SHA-512 özetiyle genişletilir.
- İmza Uzunluğu: 64 Bayt (512 bit) - (R, S) bileşenleri.
- Eşdeğer Güvenlik Seviyesi: Yaklaşık 128-bit simetrik güvenlik sağlar. Bu güvenlik düzeyi 3072-bit RSA anahtarlarına tam eşdeğerdir.
- İmzalama Hızı: Tek bir standart x86-64 çekirdeğinde saniyede 70.000'den fazla imza üretimi ve 20.000'den fazla imza doğrulaması yapabilir.
Kriptografik Güvenlik Üstünlükleri
- Deterministik İmzalama (RFC 6979 Benzeri): Standart ECDSA'da imzalama esnasında kullanılan rastgele sayı ($k$) üretecinde en ufak bir yanlılık (bias) oluşması durumunda özel anahtar doğrudan deşifre olur (Sony PS3 güvenlik kırılması örneği). Ed25519'da rastgele sayı kullanılmaz; $r$ değeri özel anahtar ve mesajın SHA-512 karmasından deterministik olarak türetilir.
- Sabit Zamanlı Çalışma (Timing Attack Bağışıklığı): İşlemci önbellek satırları veya komut yürütme süreleri üzerinden gizli anahtarı sızdırmaya çalışan yan kanal ataklarına karşı tamamen dirençlidir.
- Hızlı Doğrulama ve Toplu İmza Kontrolü (Batch Verification): Yüzlerce Ed25519 imzası tek bir matris benzeri işlemle topluca doğrulanabilir; bu da blokzincirler ve yüksek hacimli e-arşiv sunucularında işlem hızını 3 kat artırır.
OpenSSL CLI ile Ed25519 Kullanımı
# Ed25519 Özel Anahtar Üretimi
openssl genpkey -algorithm ED25519 -out ed25519_private.pem
# Açık Anahtarın Çıkarılması
openssl pkey -in ed25519_private.pem -pubout -out ed25519_public.pem
# Bir Dokümanın İmzalanması
openssl pkeyutl -sign -inkey ed25519_private.pem -rawin -in sozlesme.pdf -out sozlesme.pdf.sig
# İmzanın Doğrulanması
openssl pkeyutl -verify -pubin -inkey ed25519_public.pem -rawin -in sozlesme.pdf -sigfile sozlesme.pdf.sig