EdDSA (Ed25519) Şifrele & Çöz
Ücretsiz çevrimiçi EdDSA (Ed25519) Şifrele & Çöz aracı. %100 yerel işlem — verileriniz asla cihazınızı terk etmez.
Sonuç burada görüntülenecek...
Giriş → Şifrele
Usage Guide
EdDSA (Ed25519) Hakkında
Curve25519 kullanan EdDSA (Edwards-eğrisi Dijital İmza Algoritması), RFC 8032'de standartlaştırılmış modern ve yüksek performanslı bir dijital imza şemasıdır. SSH (OpenSSH varsayılanı) için standart imza algoritmasıdır; TLS 1.3 istemci sertifikalarında, GPG alt anahtarlarında, kripto para cüzdanlarında (Solana, Cardano) ve JWT imzalamada yaygın olarak kullanılır. Ed25519, dikkat çekici küçük anahtarlar (her biri 32 bayt) ve mükemmel performans (saniyede ~100.000 imza/doğrulama işlemi) ile 128 bit güvenlik sağlar.
Kullanım Adımları
Bu araç Ed25519 anahtar çifti oluşturma, mesaj imzalama ve imza doğrulamayı destekler:
Anahtar Formatı
Bu araçtaki Ed25519 anahtarları kompakt bir onaltılık format kullanır:
Ed25519 vs RSA
Ed25519 ve RSA her ikisi de dijital imzalar için kullanılır, ancak çok farklı özelliklere sahiptir:
FAQ
Q: EdDSA ile ECDSA arasındaki fark nedir?
A: Her ikisi de eliptik eğri imza algoritmasıdır, ancak önemli açılardan farklıdır. ECDSA (NIST eğrileri P-256, P-384 ile kullanılır) imza başına rastgele bir nonce (k) gerektirir — nonce yeniden kullanılırsa veya zayıfsa, özel anahtar tamamen kurtarılabilir. Sony PlayStation 3'ün özel anahtarı 2010 yılında tam olarak bu şekilde çıkarıldı. EdDSA, özel anahtar ve mesaj hash'inden deterministik olarak türetilmiş bir nonce kullanır; nonce yeniden kullanımını matematiksel olarak imkânsız kılar. EdDSA ayrıca belirli yan kanal saldırılarına direnmek üzere tasarlanmış daha güvenli Twisted Edwards eğrileri (Ed25519 için Curve25519) kullanır. Yeni uygulamalar için EdDSA, ECDSA'ya kuvvetle tercih edilir.
Q: Deterministik imzalama neden daha güvenlidir?
A: ECDSA'da her imzanın güvenliği taze, kriptografik olarak rastgele bir nonce'a bağlıdır. Bir saldırgan aynı nonce'u kullanan iki imza elde ederse (nonce yeniden kullanımı) ya da nonce'un entropisi yetersizse (zayıf rastgelelik), özel anahtar basit denklemler kullanılarak cebirsel olarak kurtarılabilir. Bu teorik değil — gerçek sistemleri kırdı (PS3, Bitcoin cüzdanları). Ed25519'un deterministik imzalaması nonce'u özel anahtar tohumunun ve mesajın hash'inden türetir, bu nedenle her zaman benzersizdir ve dış rastgelelik kaynaklarından etkilenmez. İmzalama yolunda rastgele sayı üreteci yoktur — bir güvenlik açığı sınıfının tamamı ortadan kalkar.
Q: Verileri şifrelemek için EdDSA kullanabilir miyim?
A: Hayır. EdDSA (Ed25519) yalnızca bir dijital imza algoritmasıdır — verileri şifreleyemez veya şifresini çözemez. İmzalama özgünlüğü kanıtlar (mesajı kimin oluşturduğunu) ancak gizlilik sağlamaz (herkes mesajı okuyabilir). Verileri şifrelemek için ChaCha20-Poly1305 veya AES-256-GCM gibi simetrik bir şifre kullanın. Not: X25519 (Curve25519 tabanlı ilgili ama farklı bir algoritma) anahtar değişimi (Diffie-Hellman) için kullanılabilir, ancak Ed25519 ile aynı değildir ve anahtarlar birbirinin yerine kullanılamaz.
Q: Ed25519 SSH anahtarı nasıl oluşturulur?
A: OpenSSH'ın yerleşik anahtar oluşturma aracını kullanın:ssh-keygen -t ed25519 -C "email@ornek.com"
Bu, ~/.ssh/id_ed25519 (özel anahtar) ve ~/.ssh/id_ed25519.pub (genel anahtar) oluşturur. Ed25519, OpenSSH 6.5 (2014) itibarıyla önerilen SSH anahtar türüdür ve artık çoğu dağıtımda varsayılandır. OpenSSH tarafından oluşturulan anahtarlar bu aracın onaltılık formatından farklı bir kodlama (PEM/OpenSSH formatı) kullanır, ancak aynı kriptografik algoritmaya dayanır.
Q: 64 baytlık Ed25519 imzasında ne var?
A: Bir Ed25519 imzası iki 32 baytlık değerden oluşur: R (deterministik nonce'dan türetilen sıkıştırılmış bir eliptik eğri noktası) ve S (nonce, özel anahtar ve mesaj hash'inden hesaplanan skaler değer). R ve S birleşerek 64 baytlık imzayı oluşturur. Doğrulama, genel anahtar, mesaj ve S kullanılarak R'yi yeniden oluşturur ve imzadaki R ile eşleşip eşleşmediğini kontrol eder. Doğrulamanın tamamı yalnızca Curve25519 üzerinde hızlı alan aritmetiği içerir — RSA gibi modüler üs alma yoktur.
Q: Ed25519, kuantum bilgisayarlara karşı dayanıklı mı?
A: Hayır — yeterince büyük bir kuantum bilgisayara karşı değil. Shor algoritmasını çalıştıran bir kuantum bilgisayarı, eliptik eğriler üzerindeki ayrık logaritma problemini çözerek Ed25519'u kırabilir. RSA ve ECDSA için de aynı tehdit geçerlidir. Ancak 128 bit eliptik eğri güvenliğini kırabilecek bir kuantum bilgisayarı, çok düşük hata oranlarına sahip binlerce mantıksal kubit gerektirir — mevcut teknolojinin çok ötesinde. Kuantum sonrası imzalar için NIST, ML-DSA (eski adıyla CRYSTALS-Dilithium) ve SLH-DSA (SPHINCS+) standartlarını belirledi. Ed25519, klasik tehdit modelleri için en iyi pratik seçim olmaya devam etmekte ve üretim sistemlerinde yaygın olarak kullanılmaktadır.
Use Cases
Önerilen: SSH Kimlik Doğrulama Anahtarları
Ed25519, OpenSSH 6.5 itibarıyla önerilen SSH anahtar türüdür ve artık çoğu Linux dağıtımı ve macOS'ta varsayılandır. RSA-2048 ile karşılaştırıldığında, Ed25519 SSH anahtarları çok daha kısa (68 karakter vs 400+), daha hızlı oluşturulur, daha hızlı kimlik doğrulama yapar ve zayıf rastgelelik saldırılarına karşı savunmasız değildir. Tüm yeni SSH anahtarları için ssh-keygen -t ed25519 kullanın. Genel anahtarı sunuculardaki ~/.ssh/authorized_keys dosyasına ekleyin.
- ✅ Yeni SSH anahtarları için ssh-keygen -t ed25519 kullanın
- ✅ Özel anahtarı güçlü bir parola ile koruyun
- ✅ Genel anahtarı sunuculara serbestçe dağıtın
- ❌ RSA-1024 kullanmayın; RSA-2048 yerine Ed25519 tercih edin
Önerilen: Kod İmzalama ve Yazılım Dağıtımı
Ed25519, yazılım sürümleri, konteyner imajları ve firmware güncellemelerini imzalamak için idealdir. Deterministik imza özelliği, aynı sürümün her zaman aynı imzayı üretmesini sağlar — yeniden üretilebilir derleme doğrulamasını güvenilir kılar. Sigstore, minisign ve signify gibi araçlar Ed25519 kullanır. GPG, Ed25519 imzalama alt anahtarlarını destekler. Kompakt 64 baytlık imza, meta veri veya bildirim dosyalarına kolayca gömülebilir.
- ✅ Ed25519 ile sürüm eserlerini ve sağlama toplamlarını imzalayın
- ✅ Basit dosya imzalama için minisign veya signify kullanın
- ✅ Sürüm eserleriyle birlikte imza dosyalarını ekleyin
- ❌ Kriptografik imza olmadan yazılım dağıtmayın
Önerilen: JWT İmzalama (EdDSA Algoritması)
JSON Web Token'lar (JWT), EdDSA algoritma tanımlayıcısı (RFC 8037) aracılığıyla Ed25519'u destekler. JWT için EdDSA kullanmak, HMAC-SHA256'dan (gizli anahtarın paylaşılmasını gerektirir) daha güvenli ve RS256 (RSA) dan daha verimlidir. Sunucu, Ed25519 özel anahtarıyla token'ları imzalar; istemciler ve kaynak sunucular genel anahtarla doğrular. Bu, durumsuz, ölçeklenebilir kimlik doğrulamayı mümkün kılar — kimlik doğrulama sunucusu ve kaynak sunucular arasında paylaşılan bir gizli anahtar gerekmez.
- ✅ Yeni projelerde JWT için EdDSA (Ed25519) kullanın
- ✅ Genel anahtarı /.well-known/jwks.json endpoint'inde yayınlayın
- ✅ İmzalama anahtarlarını düzenli olarak döndürün
- ❌ Birden fazla hizmetin doğrulaması gerektiğinde HS256 (simetrik) kullanmayın
Önerilen: API İstek Kimlik Doğrulaması
Ed25519, bir istek yükünü (yöntem + yol + zaman damgası + gövde hash'i) özel anahtarla imzalayarak API isteklerini doğrulayabilir. API sunucusu, istemcinin kayıtlı genel anahtarını kullanarak imzayı doğrular. Bu, API anahtarlarından (sızabilecek gizli bilgiler) daha güvenlidir çünkü özel anahtar istemciyi asla terk etmez. HMAC-SHA256 ile karşılaştırıldığında, sunucunun gizli anahtarı saklaması gerekmez — sunucu ele geçirilse bile tüm istemciler etkilenmez.
- ✅ Tekrar saldırılarını önlemek için zaman damgaları içeren istek yüklerini imzalayın
- ✅ İstemci genel anahtarlarını sunucu tarafında kaydedin (gizli paylaşımı gerekmez)
- ✅ Sunucunun istemci gizlilerini bilmemesi gerektiğinde HMAC yerine Ed25519 kullanın
- 💡 İmzalanan yüke nonce veya zaman damgası ekleyin
Kabul Edilebilir: Kripto Para Cüzdanı İmzaları
Ed25519, Solana, Cardano, Stellar ve Near Protocol dahil birçok kripto paranın yerel imza algoritmasıdır. Cüzdan adresleri Ed25519 genel anahtarlarından türetilir. İşlemler ilgili özel anahtarla imzalanır. Bu meşru ve önemli bir kullanım senaryosudur, ancak kripto para özel anahtarlarının ekstra dikkatli saklanması gerektiğini unutmayın (donanım cüzdanları, güvenli kuşatmalar) — kaybolan veya çalınan bir özel anahtar, fonların kalıcı olarak kaybedilmesi anlamına gelir.
- ✅ Yüksek değerli anahtarlar için donanım cüzdanları (Ledger, Trezor) kullanın
- ✅ Tohum ifadelerini güvenli çevrimdışı depolama alanında yedekleyin
- ❌ Kripto para özel anahtarlarını düz metin dosyalarında saklamayın
- ❌ Bu tarayıcı aracını üretim cüzdan anahtarları için kullanmayın
Önerilmez: Veri Şifreleme
Ed25519 veri şifreleyemez — şifreleme için kullanmaya çalışmak algoritmanın temel bir kötüye kullanımıdır. Ed25519 bir imza algoritmasıdır: bir mesaj alır ve özgünlüğü kanıtlayan bir imza üretir. Mesajı şifreli metne dönüştürmez. Gizli iletişim için ChaCha20-Poly1305 veya AES-256-GCM kullanın. Asimetrik şifreleme gerekiyorsa RSA kullanın.
- ❌ Veri şifreleme için Ed25519 kullanmayın
- ✅ Simetrik şifreleme için AES-256-GCM veya ChaCha20-Poly1305 kullanın
- ✅ Asimetrik şifreleme için RSA-OAEP kullanın
- 💡 İmzalama ≠ Şifreleme — farklı güvenlik hedeflerine hizmet ederler
En İyi Uygulama Özeti
- Ed25519 bir imza algoritmasıdır — özgünlüğü kanıtlar ancak şifrelemez. Gizlilik için AES-256-GCM veya ChaCha20-Poly1305 kullanın.
- Tüm yeni imzalama kullanım senaryoları için RSA ve ECDSA yerine Ed25519'u tercih edin: daha küçük anahtarlar, daha hızlı işlemler, deterministik imzalama.
- Özel anahtar (64 onaltılık karakter) gizli tutulmalıdır. Genel anahtar (64 onaltılık karakter) serbestçe dağıtılabilir.
- 'mesaj|imza_Base64' giriş formatını kullanarak imzaları doğrulayın. Boru ayırıcısı gereklidir.
- SSH için ssh-keygen -t ed25519 kullanın. Ed25519, OpenSSH, NIST ve başlıca güvenlik kılavuzları tarafından önerilen modern standarttır.