ChaCha20-Poly1305 Şifrele & Çöz
Ücretsiz çevrimiçi ChaCha20-Poly1305 Şifrele & Çöz aracı. %100 yerel işlem — verileriniz asla cihazınızı terk etmez.
Sonuç burada görüntülenecek...
Giriş → Şifrele
Usage Guide
ChaCha20-Poly1305 Hakkında
ChaCha20-Poly1305, ChaCha20 akış şifresini Poly1305 mesaj doğrulama koduyla birleştiren ilişkili verilerle kimlik doğrulamalı şifreleme (AEAD) algoritmasıdır. Daniel J. Bernstein tarafından tasarlanan bu algoritma RFC 8439'da standartlaştırılmış ve TLS 1.3, SSH ile WireGuard'da birincil şifre paketi olarak benimsenmiştir. Tek bir işlemde hem gizlilik (şifreleme) hem de bütünlük (kimlik doğrulama) sağlayarak hem gizlice dinlemeyi hem de şifreli metin değiştirmeyi önler. ChaCha20-Poly1305, donanım AES hızlandırması olmayan platformlar için AES-GCM'e yazılım dostu bir alternatif olarak geliştirilmiştir.
Kullanım Adımları
Bu araç hem şifreleme hem de şifre çözmeyi destekler. Anahtar gereklidir; nonce boş bırakılırsa otomatik olarak oluşturulur:
Anahtar ve Nonce Formatı
ChaCha20-Poly1305 sabit boyutlu parametreler kullanır:
ChaCha20-Poly1305 ile AES-GCM Karşılaştırması
Her ikisi de TLS 1.3'te AEAD şifreleridir. Her birini ne zaman seçeceğiniz:
FAQ
Q: Çıktı neden girişten daha uzun?
A: Şifrelenmiş çıktı base64 kodlamalıdır ve şunları içerir: 12 bayt nonce + düz metin uzunluğu + 16 bayt Poly1305 kimlik doğrulama etiketi. Dolayısıyla ikili ek yük 28 bayttır (12 nonce + 16 etiket) ve base64 kodlama yaklaşık %33 ek uzunluk ekler.
Q: Şifreli metni değiştirirsem ne olur?
A: ChaCha20-Poly1305, değiştirilmiş şifreli metni çözmeyi reddeder. Poly1305 etiketi, tüm şifreli metin üzerinde hesaplanan bir mesaj doğrulama kodudur. Tek bir bit bile olsa herhangi bir değişiklik etiket doğrulamasının başarısız olmasına neden olur ve şifre çözme işlevi bozuk düz metin üretmek yerine hata döndürür.
Q: ChaCha20-Poly1305, düz ChaCha20'den nasıl farklıdır?
A: Düz ChaCha20 yalnızca gizlilik sağlar — verileri şifreler ancak kurcalamayı algılamaz. ChaCha20-Poly1305, ChaCha20 şifrelemesini Poly1305 kimlik doğrulama etiketiyle birleştirerek hem gizlilik hem de bütünlük sağlar. Herhangi bir pratik kullanım için her zaman düz ChaCha20 yerine ChaCha20-Poly1305'i tercih edin.
Q: Birden fazla mesaj için aynı anahtarı kullanabilir miyim?
A: Evet, ancak her mesaj benzersiz bir nonce kullanmalıdır. (anahtar, nonce) çifti asla yeniden kullanılmamalıdır. 12 baytlık nonce'larla, rastgele nonce oluşturma yaklaşık 296'da 1 doğum günü çakışma olasılığı sağlar — milyarlarca mesaj için güvenli.
Q: ChaCha20-Poly1305 kuantum bilgisayarlara karşı dirençli midir?
A: Tüm simetrik şifreler gibi, ChaCha20-Poly1305 da Grover algoritmasından etkilenir ve 256 bit güvenliği 128 bit eşdeğerine düşürür. 128 bit kuantum sonrası güvenlik çoğu uygulama için yeterli kabul edilir. Bu nedenle 256 bit anahtara sahip ChaCha20-Poly1305, 128 bit güvenlik seviyesinde kuantuma dirençli kabul edilir; AES-256-GCM ile aynı düzeydedir.
Q: 'Geçersiz anahtar, nonce veya şifreli metin' ile şifre çözme neden başarısız olur?
A: Bu hata, kimlik doğrulama etiketi doğrulamasının başarısız olduğu anlamına gelir. Yaygın nedenler:
Yanlış anahtar: Anahtar, şifreleme için kullanılanla eşleşmiyor.
Bozuk şifreli metin: Base64 dizesi değiştirildi, kesildi veya yanlış yapıştırıldı.
ChaCha20-Poly1305 dışı verilerin şifresini çözme: Giriş farklı bir algoritma veya araçla şifrelendi.
Use Cases
Önerilen: Simetrik Dosya ve Mesaj Şifreleme
ChaCha20-Poly1305 mükemmel bir genel amaçlı simetrik şifreleme seçimidir. WireGuard VPN'de tüm tünel trafiği için kullanılır ve TLS 1.3'teki iki birincil şifre paketinden biridir. Her mesaj için her zaman yeni bir rastgele nonce oluşturun (bu araç otomatik olarak ekler).
- ✅ ChaCha20-Poly1305 (mobil, çapraz platform, yalnızca yazılım için önerilir)
- ✅ AES-256-GCM (AES-NI donanımı mevcut olduğunda önerilir)
- ✅ XChaCha20-Poly1305 (genişletilmiş 24 baytlık nonce, büyük hacimli mesajlaşma için)
- ❌ Yeni projeler için kimliği doğrulanmamış şifreleri (AES-CBC, düz ChaCha20) kullanmayın
Önerilen: Mobil ve IoT Şifreleme
Donanım AES hızlandırması olmayan platformlarda ChaCha20-Poly1305, AES-GCM'i geçer. ChaCha20 yazılım dostu olduğundan, zamanlama yan kanal riskleri olmadan tüm platformlarda sabit zamanlı çalışır. Google, Android TLS trafiği için tercih edilen şifre olarak ChaCha20-Poly1305'i bu nedenle seçti.
- ✅ ChaCha20-Poly1305 (donanım AES olmadan en iyi performans)
- ✅ AES-256-GCM (AES donanımına sahip cihazlarda kabul edilebilir)
- 💡 TLS 1.3 otomatik olarak müzakere eder — her iki şifre paketi de zorunludur
- ❌ Kısıtlı cihazlarda AES-CBC kullanmayın (kimlik doğrulama yok, daha yavaş)
Kabul Edilebilir: Şifrelenmiş Yerel Depolama
ChaCha20-Poly1305, yerel olarak depolanan hassas verileri koruyabilir. Parolayı doğrudan kullanmak yerine Argon2id kullanarak kullanıcı parolasından anahtar türetin.
- ✅ ChaCha20-Poly1305 + Argon2id anahtar türetme (parola tabanlı şifreleme)
- ✅ AES-256-GCM + PBKDF2 (FIPS uyumlu ortamlar)
- 💡 Saklayın: Argon2id parametreleri + tuz + ChaCha20 nonce + şifreli metin
- ❌ Yerel depolama için ECB modu veya kimliği doğrulanmamış şifreleri kullanmayın
Önerilmez: Büyük Dosya Şifreleme
Standart ChaCha20-Poly1305, kimlik doğrulamadan önce tüm şifreli metni tamponlar; bu da büyük dosyalar için bellek yoğundur. Birkaç megabayttan büyük dosyalar için öbeklenmiş şifrelemeyi destekleyen özel bir araç veya kitaplık kullanın (örn. libsodium secretstream, age).
- 💡 Birkaç MB'tan büyük dosyalar için öbeklenmiş AEAD kullanın
- ✅ libsodium secretstream (akış halinde ChaCha20-Poly1305)
- ✅ age şifreleme aracı (dosya odaklı, dahili olarak ChaCha20-Poly1305 kullanır)
- ✅ Akış modunda AES-256-GCM (donanım hızlandırmalı ortamlar için)
Önerilmez: Anahtar Değişimi veya Kimlik Doğrulama
ChaCha20-Poly1305 bir simetrik şifredir — her iki taraf da aynı gizli anahtarı zaten paylaşıyor olmalıdır. Anahtar dağıtım sorununu çözmez. Güvenli anahtar değişimi için asimetrik bir protokol veya TLS 1.3 gibi tam bir protokol kullanın. Paylaşılan sır olmadan kimlik doğrulama için RSA veya ECDSA dijital imzaları kullanın.
- ❌ ChaCha20-Poly1305 anahtar dağıtımını çözmez
- ✅ TLS 1.3 (anahtar değişimi + ChaCha20-Poly1305 veri şifrelemeyi yönetir)
- ✅ X25519 + ChaCha20-Poly1305 (Noise protokol deseni)
- ✅ Dijital imzalar ve kimlik doğrulama için RSA / ECDSA
Önerilmez: Parola Karma
En İyi Uygulama Özeti
- AES donanım hızlandırmasının mevcut olmadığı yerlerde — mobil, IoT ve çapraz platform yazılımı — simetrik şifreleme için ChaCha20-Poly1305 kullanın.
- Her şifreleme için her zaman benzersiz bir rastgele nonce kullanın. Nonce alanını boş bırakırsanız araç otomatik olarak oluşturur.
- Şifreli metin çıktısı 12 baytlık nonce ve 16 baytlık kimlik doğrulama etiketini içerir — şifre çözme için yalnızca tek bir base64 dizesi saklamanız yeterlidir.
- Hiçbir zaman (anahtar, nonce) çiftini yeniden kullanmayın. Nonce yeniden kullanımı ChaCha20-Poly1305 güvenliğini tamamen bozar.
- Parola tabanlı şifreleme için önce Argon2id ile anahtarı türetin — bir parolayı asla doğrudan ChaCha20-Poly1305 anahtarı olarak kullanmayın.