X25519 Şifrele & Çöz

Ücretsiz çevrimiçi X25519 Ş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

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.

Anahtar değişimi — şifreleme değil: X25519 yalnızca anahtar anlaşması gerçekleştirir. Her iki tarafın bağımsız olarak hesaplayabileceği paylaşılan bir sır üretir — kendi başına hiçbir veriyi şifrelemez veya şifrelerini çözmez. Gizlilik sağlamak için elde edilen paylaşılan sırrı ChaCha20-Poly1305 veya AES-256-GCM gibi simetrik bir şifrenin anahtarı olarak kullanmalısınız.

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:

1. Anahtar çifti oluşturYeni bir X25519 anahtar çifti oluşturmak için 'Anahtar Çifti Oluştur'a tıklayın. Özel anahtar (64 onaltılık karakter) 'Özel Anahtarım' alanına doldurulur. Karşılık gelen açık anahtar dahili olarak saklanır — kopyalayın ve partnerinizle başka bir kanal aracılığıyla paylaşın.
2. Açık anahtarları değiş tokuş etAçık anahtarınızı (64 onaltılık karakter) iletişim partnerinize gönderin. Onunkini alın ve 'Karşı Tarafın Açık Anahtarı (Hex)' alanına yapıştırın. Bu değiş tokuş herhangi bir kanal üzerinden gerçekleşebilir — açık anahtar gizli değildir.
3. Paylaşılan sırrı hesapla'Şifrele'ye tıklayın. Araç DH(sizin_özel_anahtarınız, karşı_taraf_açık_anahtarı) işlemini gerçekleştirir ve 64 karakterlik onaltılık paylaşılan sır (32 bayt) çıktısı verir. Partneriniz aynı işlemi ters yönde gerçekleştirerek özdeş paylaşılan sırrı elde eder.
4. Şifreleme için paylaşılan sırrı kullanPaylaşılan sırrı (veya KDF ile türetilmiş anahtarı) AES-256-GCM veya ChaCha20-Poly1305 gibi simetrik bir şifreye girin. Üretim sistemlerinde, paylaşılan sır anahtar türetimi (örn. HKDF) olmadan doğrudan şifre anahtarı olarak kullanılmamalıdır.
Yalnızca tarayıcıda: Tüm anahtar oluşturma ve DH hesaplama işlemleri, WebCrypto API kullanılarak tamamen tarayıcınızda çalışır. Hiçbir anahtar sunucuya iletilmez.

Anahtar Formatı

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

Özel anahtar64 onaltılık karakter = 32 bayt. Rastgele bir skalar değer. Gizli tutun. Örnek: a3f1e2d4c5b6a7f8e9d0c1b2a3f4e5d6c7b8a9f0e1d2c3b4a5f6e7d8c9b0a1f2
Açık anahtar64 onaltılık karakter = 32 bayt. Curve25519'daki taban noktasının özel skalar ile çarpılmasının sonucu. Kamuya açık olarak paylaşılabilir. Örnek: 5b8c9d0e1f2a3b4c5d6e7f8a9b0c1d2e3f4a5b6c7d8e9f0a1b2c3d4e5f6a7b8
Paylaşılan sır64 onaltılık karakter = 32 bayt. DH(benim_özelem, karşı_taraf_açığı) = DH(karşı_taraf_özeli, benim_açığım) olarak hesaplanır. Bu eşitlik Diffie-Hellman anahtar değişiminin matematiksel temelidir.
Anahtarlar birbirinin yerine kullanılamazX25519 ve Ed25519 anahtarları aynı görünür (64 onaltılık karakter, 32 bayt) ancak farklı dahili temsiller kullanır ve birbirinin YERİNE KULLANILAMAZ. Asla Ed25519 özel anahtarını X25519 özel anahtarı olarak veya tersini kullanmayın.

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:

AmaçX25519: anahtar değişimi (Diffie-Hellman). Ed25519: dijital imzalar (kimlik doğrulama). Birbirinin yerine geçemezler.
Matematiksel formX25519, verimli skaler çarpım için Curve25519'un Montgomery formunu kullanır. Ed25519 ise eğimli Edwards formunu kullanır. İkisi biriasyonel eşdeğer olsa da anahtar kodlamaları farklıdır.
Anahtarlar birbirinin yerine kullanılamazAynı bayt uzunluğuna rağmen anahtarlar birbirinin YERİNE KULLANILAMAZ. X25519 DH için Ed25519 anahtar çiftinin kullanılması güvenliği tehlikeye atabilecek kriptografik bir yanlış kullanımdır.
Birleşik kullanımPratikte Signal gibi protokoller her ikisini birlikte kullanır: X25519 anahtar anlaşması için (oturum anahtarı kurma) ve Ed25519 kimlik doğrulama için (MITM saldırılarını önlemek amacıyla anahtar değişimini imzalama).
İlgili araçlar: Dijital imzalar için EdDSA (Ed25519) aracını kullanın. Paylaşılan sırla simetrik şifreleme için ChaCha20-Poly1305 veya AES-256-GCM kullanın.

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.

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

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

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

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

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

Tartışma ve Geri Bildirim

0 yorum
Ben