EdDSA (Ed25519) Şifrele & Çöz

Ücretsiz çevrimiçi EdDSA (Ed25519) Şifrele & Çöz aracı. %100 yerel işlem — verileriniz asla cihazınızı terk etmez.

National Standards
Other
Çıkış

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.

İmza Algoritması — Şifreleme Değil: Ed25519 bir dijital imza algoritmasıdır. Bir mesajın belirli bir özel anahtar sahibi tarafından imzalandığını kanıtlar — verileri şifrelemez. Veri gizliliğini korumak için Ed25519 imzalarını ChaCha20-Poly1305 veya AES-256-GCM gibi simetrik bir şifre ile birleştirin.

Kullanım Adımları

Bu araç Ed25519 anahtar çifti oluşturma, mesaj imzalama ve imza doğrulamayı destekler:

1. Anahtar Çifti OluşturBağlantılı bir özel/genel anahtar çifti oluşturmak için 'Anahtar Çifti Oluştur'a tıklayın. Özel anahtar: 64 onaltılık karakter (32 baytlık tohum). Genel anahtar: 64 onaltılık karakter (Curve25519 üzerinde 32 baytlık sıkıştırılmış nokta).
2. Mesajı İmzala'Şifrele (İmzala)' modunu seçin. Giriş alanına mesaj metnini yazın ve anahtar parametresine özel anahtarı (64 onaltılık karakter) yapıştırın. 'Şifrele'ye tıklayın — çıktı Base64 kodlu 64 baytlık bir imzadır.
3. İmzayı Doğrula'Şifre Çöz (Doğrula)' modunu seçin. Girişi 'mesaj|imza_Base64' biçiminde (boru işaretiyle ayrılmış) girin. Anahtar parametresine genel anahtarı (64 onaltılık karakter) yapıştırın. 'Şifre Çöz'e tıklayın — çıktı '✓ İmza doğrulandı' veya bir hata olacaktır.
4. Anahtarların Güvenli SaklanmasıÖzel anahtarı güvenli bir yerde (şifre yöneticisi, şifreli kasa) saklayın. Genel anahtar serbestçe paylaşılabilir. Özel anahtarı kaybetmek, imzalama yeteneğinin kalıcı olarak kaybedilmesi anlamına gelir — kurtarma mümkün değildir.
Yalnızca Tarayıcıda: Tüm anahtar oluşturma ve imzalama işlemleri WebCrypto API kullanılarak tamamen tarayıcınızda çalışır. Hiçbir anahtar veya mesaj sunucuya iletilmez.

Anahtar Formatı

Bu araçtaki Ed25519 anahtarları kompakt bir onaltılık format kullanır:

Özel Anahtar64 onaltılık karakter = 32 bayt. Tam imzalama anahtarının deterministik olarak türetildiği tohumdur. Gizli tutulmalıdır. Örnek: a3f1e2d4c5b6...
Genel Anahtar64 onaltılık karakter = 32 bayt. Özel anahtara karşılık gelen Curve25519 üzerindeki sıkıştırılmış noktadır. Genel olarak paylaşılabilir. Örnek: 5b8c9d0e1f2a...
İmzaBase64 kodlu 64 baytlık değer (512 bit). Ed25519 imzaları deterministiktir — aynı mesajı aynı özel anahtarla imzalamak her zaman aynı imzayı üretir.
Doğrulama Giriş FormatıDoğrularken, giriş alanı mesaj ve imzayı bir boru karakteriyle birleştirilmiş olarak içermelidir: mesaj|imza_Base64

Ed25519 vs RSA

Ed25519 ve RSA her ikisi de dijital imzalar için kullanılır, ancak çok farklı özelliklere sahiptir:

Anahtar BoyutuEd25519: 32 bayt (256 bit). RSA-3072, 384 baytlık anahtarla eşdeğer güvenliğe ulaşır — 12 kat daha büyük. Daha küçük anahtarlar daha hızlı iletim ve daha az depolama yükü anlamına gelir.
PerformansEd25519, aynı donanımda RSA-2048'den yaklaşık 100 kat daha hızlı imzalar ve doğrular. Bu, kimlik doğrulama sunucuları gibi yüksek verimli sistemler için önemlidir.
Güvenlik ModeliEd25519 deterministik imzalama kullanır — rastgele nonce gerekmez. RSA-PSS güvenli rastgelelik gerektirir; zayıf rastgelelik RSA imzalarını zayıflatabilir. Ed25519 bu risk sınıfını tamamen ortadan kaldırır.
ÖneriTüm yeni sistemler için Ed25519'u tercih edin. RSA'yı yalnızca eski uyumluluk gerektiğinde kullanın (örneğin ECC desteklemeyen eski TLS istemcileri veya donanım token'ları).
Kuantum Direnci: RSA ve ECDSA gibi, Ed25519 de Shor algoritmasını çalıştıran yeterince güçlü bir kuantum bilgisayara karşı savunmasızdır. Kuantum sonrası güvenlik için ML-DSA (CRYSTALS-Dilithium) gibi NIST tarafından standartlaştırılmış algoritmalara bakın. Ancak Ed25519, günümüzdeki klasik (kuantum dışı) tehdit modelleri için en iyi pratik seçim olmaya devam etmektedir.

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.

Recommended Configuration:
  • ✅ 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.

Recommended Configuration:
  • ✅ 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.

Recommended Configuration:
  • ✅ 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.

Recommended Configuration:
  • ✅ 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.

Recommended Configuration:
  • ✅ 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.

Recommended Configuration:
  • ❌ 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.

Tartışma ve Geri Bildirim

0 yorum
Ben