X25519 Şifrele & Çöz
Ücretsiz çevrimiçi X25519 Şifrele & Çöz aracı. %100 yerel işlem — verileriniz asla cihazınızı terk etmez.
Sonuç burada görüntülenecek...
Giriş → Şifrele
Usage Guide
X25519 (Curve25519 ECDH) Hakkında
X25519, Curve25519 üzerine inşa edilmiş Diffie-Hellman anahtar değişim fonksiyonudur ve RFC 7748'de standartlaştırılmıştır. Dünyada en yaygın kullanılan eliptik eğri anahtar değişim algoritmasıdır — TLS 1.3, WireGuard VPN, Signal Protocol ve Noise Protocol Framework'te varsayılan anahtar değişimi olarak kullanılmaktadır. X25519, 32 baytlık anahtarlarla ~128 bit güvenlik sağlar, yan kanal saldırılarına karşı dayanıklı olacak şekilde tasarlanmıştır ve Daniel J. Bernstein tarafından oluşturulmuştur.
Kullanım Adımları
Bu araç, özel anahtarınızdan ve karşı tarafın açık anahtarından X25519 Diffie-Hellman paylaşılan sırrını hesaplar:
Anahtar Formatı
Bu araçtaki X25519 anahtarları kompakt onaltılık format kullanır:
X25519 ve EdDSA (Ed25519) Karşılaştırması
X25519 ve Ed25519 her ikisi de Curve25519 tabanlıdır ancak tamamen farklı kriptografik amaçlara hizmet eder:
FAQ
Q: X25519 ile ECDH arasındaki fark nedir?
A: X25519 ECDH'tır — özellikle RFC 7748'de tanımlanan Curve25519 üzerinde örneklendirilmiş Eliptik Eğri Diffie-Hellman'dır. NIST eğrileri (P-256, P-384) üzerindeki ECDH ile karşılaştırıldığında X25519 daha hızlıdır, daha basit ve güvenli bir uygulamaya sahiptir (kofaktör sorunları yok, tipik girişler için nokta doğrulaması gerekmiyor) ve uygulama saldırılarına karşı direnç için en başından tasarlanmıştır. İnsanlar "Curve25519 ile ECDH" dediklerinde X25519'u kastederler.
Q: X25519 ve Ed25519 anahtarları birbirinin yerine kullanılabilir mi?
A: Hayır. X25519 ve Ed25519 her ikisi de Curve25519 tabanlı olsa da farklı matematiksel temsiller (Montgomery formu vs. eğimli Edwards formu) ve farklı anahtar kodlamaları kullanır. Bir X25519 özel anahtarı ham 32 baytlık bir skalardır; Ed25519 özel anahtarı ise kullanılmadan önce hash'lenen (SHA-512) 32 baytlık bir tohum değeridir. İki anahtar türü arasında dönüşüm formülleri mevcut olsa da, açık dönüşüm olmadan birbirinin yerine kullanmak kriptografik olarak yanlıştır ve bilgi sızdırabilir veya geçersiz sonuçlar üretebilir. Her amaç için her zaman ayrı anahtar çiftleri oluşturun.
Q: Paylaşılan sırla verileri nasıl şifrelerim?
A: 32 baytlık X25519 paylaşılan sırrı, şifre anahtarı olarak kullanılmadan önce Anahtar Türetme Fonksiyonu'ndan (KDF) geçirilmelidir. Pratikte HKDF-SHA256 en yaygın seçimdir (TLS 1.3, Signal'de kullanılır). Ham paylaşılan sırrı giriş anahtar materyali olarak iletin, protokole özgü tuz ve info dizesi ekleyin ve AES-256-GCM veya ChaCha20-Poly1305 için 32 bayt türetin. Basit kullanım durumları için paylaşılan sırrı doğrudan 32 baytlık AES-256 anahtarı olarak kullanabilirsiniz, ancak üretimde HKDF kesinlikle önerilir.
Q: X25519 ileri gizlilik (forward secrecy) sağlar mı?
A: Evet — geçici anahtar çiftleriyle kullanıldığında. İleri gizlilik (Mükemmel İleri Gizlilik, PFS olarak da bilinir), uzun vadeli bir anahtarın ele geçirilmesinin geçmiş oturum anahtarlarını açığa çıkarmadığı anlamına gelir. TLS 1.3'te her iki taraf da her el sıkışması için yeni X25519 anahtar çiftleri oluşturur (geçici DH). Bir saldırgan sonradan bir sunucunun uzun vadeli özel anahtarını ele geçirse bile, geçici X25519 anahtarları el sıkışmasından sonra silindiğinden daha önce kaydedilmiş trafiği çözemez. Statik (yeniden kullanılan) X25519 anahtarları ileri gizlilik sağlamaz.
Q: X25519 kuantum saldırılara karşı dayanıklı mı?
A: Hayır — yeterince güçlü bir kuantum bilgisayara karşı değil. Shor algoritmasını çalıştıran bir kuantum bilgisayarı, eliptik eğri ayrık logaritma problemini polinom zamanda çözerek X25519'u kırabilir. Bu, tüm eliptik eğri ve sonlu alan Diffie-Hellman şemalarına eşit biçimde uygulanır. Ancak gerekli kuantum bilgisayarı (hata düzeltmeli binlerce mantıksal kubit) henüz mevcut değildir. Kuantum sonrası anahtar değişimi için NIST, ML-KEM'i (eski adıyla CRYSTALS-Kyber) standartlaştırmıştır. Chrome ve Firefox'taki TLS 1.3 zaten hibrit X25519+ML-KEM anahtar değişimini kullanmaktadır.
Use Cases
Önerilen: TLS 1.3 Anahtar Değişimi
X25519, TLS 1.3'teki (RFC 8446) tercih edilen anahtar değişim algoritmasıdır ve tüm büyük tarayıcılar ve sunucular tarafından desteklenmektedir. TLS 1.3'te istemci ve sunucu geçici X25519 anahtar çiftleri oluşturur, ClientHello/ServerHello'da açık anahtarları değiş tokuş eder ve HKDF kullanarak el sıkışma anahtarlarını türetir. Bu tek bir gidiş-dönüşte tamamlanır ve ileri gizlilik sağlar. X25519, TLS 1.3'ün zorunlu şifre paketinde RSA anahtar değişiminin ve eski ECDH varyantlarının yerini almıştır.
- ✅ Tüm sunucularda TLS 1.3'ü etkinleştirin — X25519 otomatik olarak dahildir
- ✅ X25519 her TLS 1.3 el sıkışmasında ileri gizlilik sağlar
- ✅ OpenSSL, BoringSSL, NSS ve tüm büyük TLS kütüphanelerinde yerel destek
- ❌ TLS 1.2 RSA anahtar değişimini kullanmayın — ileri gizlilik yok
Önerilen: WireGuard VPN
WireGuard, X25519'u tek anahtar değişim mekanizması olarak kullanır. Her WireGuard eşi bir statik X25519 anahtar çiftine (kimlik doğrulama için) sahiptir ve her el sıkışması için geçici X25519 anahtar çiftleri oluşturur (ileri gizlilik için). Protokol ayrıca önceden paylaşılan anahtar karıştırma için X25519 kullanır ve Noise Protocol Framework'u benimser. WireGuard'ın minimalist tasarımı — bir anahtar değişim algoritması, bir simetrik şifre (ChaCha20-Poly1305), bir hash (BLAKE2s) — onu denetlenebilir ve hızlı kılar.
- ✅ X25519, WireGuard'daki tek anahtar değişimidir — yapılandırılacak bir şey yok
- ✅ Statik anahtar çifti oluşturun: wg genkey | tee private.key | wg pubkey > public.key
- ✅ WireGuard geçici anahtar çiftleriyle otomatik ileri gizlilik sağlar
- 💡 WireGuard kombinasyonu: X25519 (anahtar değişimi) + ChaCha20-Poly1305 (şifreleme) + BLAKE2s (hash)
Önerilen: Uçtan Uca Şifreli Mesajlaşma (Signal, WhatsApp)
Signal Protocol (Signal, WhatsApp ve diğerleri tarafından kullanılır), Double Ratchet Algoritması ve X3DH (Genişletilmiş Üçlü Diffie-Hellman) anahtar anlaşmasında X25519'u yoğun biçimde kullanır. X3DH, çevrimdışı olabilecek taraflar arasında başlangıç paylaşılan anahtarlarını oluşturmak için birden fazla X25519 DH işlemi kullanır. Double Ratchet daha sonra X25519 mandalından sürekli olarak yeni anahtarlar türetir, hem ileri gizlilik hem de ihlal sonrası kurtarma sağlar. Bu, güvenli mesajlaşma için altın standart olarak kabul edilir.
- ✅ X25519, Signal Protocol anahtar anlaşmasının temelidir
- ✅ X3DH zaman uyumsuz anahtar kurulumuna olanak tanır (bir taraf çevrimdışı olabilir)
- ✅ Double Ratchet + X25519 ileri gizlilik ve ihlal sonrası güvenlik sağlar
- 💡 WhatsApp, Wire, Facebook Messenger gizli sohbetlerin hepsi Signal Protocol kullanır
Önerilen: Hibrit Şifreleme (Anahtar Kapsülleme)
Hibrit şifreleme, paylaşılan bir sır oluşturmak için X25519 kullanır ve ardından gerçek verileri simetrik bir şifreyle şifreler. Bu model (ECIES veya HPKE — Hibrit Açık Anahtar Şifreleme, RFC 9180 olarak adlandırılır), alıcının X25519 açık anahtarına sahip olan herkesin önceden paylaşılan sırlar olmadan şifreli veri göndermesine olanak tanır. Gönderici geçici bir X25519 anahtar çifti oluşturur, alıcının açık anahtarıyla paylaşılan sır hesaplar, HKDF aracılığıyla simetrik bir anahtar türetir, verileri ChaCha20-Poly1305 ile şifreler ve geçici açık anahtarı şifreli metinle birlikte gönderir.
- ✅ X25519 ile standartlaştırılmış hibrit şifreleme için HPKE (RFC 9180) kullanın
- ✅ Geçici gönderici anahtar çifti her mesaj için ileri gizlilik sağlar
- ✅ Kombinasyon: X25519 (anahtar değişimi) + HKDF (anahtar türetme) + AES-256-GCM (şifreleme)
- 💡 Bu model age (dosya şifreleme aracı) ve Tink kütüphanesi tarafından kullanılır
Önerilmeyen: Gizlilik için X25519'u Tek Başına Kullanmak
X25519 yalnızca paylaşılan bir sır üretir — hiçbir veriyi şifrelemez. Paylaşılan sırrın kendisi şifreli metin değildir; aynı DH hesaplamasını (doğru anahtarlarla) gerçekleştiren herhangi bir taraf onu elde edebilir. Üstüne simetrik bir şifre uygulanmadan verileriniz düz metin olarak kalır. Bu, algoritmanın temel bir yanlış kullanımıdır. X25519'u her zaman AES-256-GCM veya ChaCha20-Poly1305 ile birleştirerek verileri gerçekten koruyun.
- ❌ X25519 paylaşılan sırrını şifreli metin olarak değerlendirmeyin — bu bir anahtar, şifrelenmiş veri değil
- ❌ Anahtar türetmeyi atlamayın — şifre anahtarı olarak kullanmadan önce sırrı HKDF ile işleyin
- ✅ X25519 + HKDF + AES-256-GCM doğru hibrit şifreleme modelidir
- 💡 X25519 anahtar dağıtım sorununu çözer; simetrik şifre veri gizliliğini çözer
En İyi Uygulamalar Özeti
- X25519 bir anahtar değişim algoritmasıdır — paylaşılan sır üretir, şifreli metin değil. Gerçek verileri şifrelemek için her zaman AES-256-GCM veya ChaCha20-Poly1305 ile birleştirin.
- Üretim sistemlerinde X25519 paylaşılan sırrını simetrik şifre anahtarı olarak kullanmadan önce HKDF-SHA256 ile işleyin.
- İleri gizlilik sağlamak için geçici X25519 anahtar çiftleri kullanın (oturum başına yeni çift oluşturun).
- X25519 anahtarlarını Ed25519 imzalama anahtarları olarak veya tersini kullanmayın — her ikisi de 32 bayt olsa da dahili temsiller farklıdır.
- X25519, TLS 1.3, WireGuard ve Signal Protocol için standarttır — yeni uygulamalarda NIST eğrilerindeki eski ECDH'a göre tercih edin.