Proton ana sayfası

Şifreleme > Sözlük > ChaCha20

ChaCha20 nedir?

ChaCha20; bir uygulama veya hizmet kullanarak ileti gönderirken, dosyaları depolarken ya da güvenli bir şekilde gezinirken verilerinizi korumaya yardımcı olur.

Çok çeşitli aygıtlarda hızlı ve verimli kalırken bilgilerin gizli tutulması için tasarlanmış modern bir şifreleme algoritmasıdır.

ChaCha20'nin nasıl çalıştığını, modern kriptografide neden önemli olduğunu ve AES ile nasıl karşılaştırıldığını öğrenin.

ChaCha20 nedir?

ChaCha20, verileri şifrelemek ve verilerin şifresini çözmek için kullanılan yüksek hızlı, hafif ve son derece güvenli bir 256-bit simetrik anahtarlı şifreleyicidir . Daniel J. Bernstein tarafından Salsa20 adlı daha eski bir şifreleyicinin geliştirilmiş bir sürümü olarak tasarlanmıştır. Amaç, özellikle yazılımda hem verimli hem de güvenli bir şey oluşturmaktı.

ChaCha20 nasıl çalışır

ChaCha20, güvenli sözde rastgele baytlardan oluşan bir akış oluşturup bu akışı orijinal ileti ile birleştirerek verileri şifreler. Sonuç, gizli anahtarı olmayan herkes için rastgele görünen şifrelenmiş bir çıktıdır.

Verileri şifrelemek ve şifresini çözmek için aynı anahtarı kullandığından ChaCha20, bir herkese açık anahtar ile bir kişisel anahtar kullanan asimetrik bir algoritma olan RSA'den çok daha hızlıdır. RSA, anahtar değişimi ve imzalar için kullanışlıdır ancak ChaCha20, büyük miktarda internet trafiğini şifrelemek için daha iyidir.

Genel düzeyde ChaCha20 üç girdi alır: gizli bir anahtar, bir nonce (bir kez kullanılan bir sayı — her bir şifreleme için kullanılan benzersiz bir değer) ve bir sayaç (farklı çıktı blokları oluşturmaya yardımcı olmak için). Bu değerleri, daha sonra anahtar akışı olarak bilinen güvenli sözde rastgele bayt akışı oluşturmak üzere art arda karıştırılan dahili bir durumu başlatmak için kullanır.

Bu karıştırma işlemi, verileri tamamen karıştırmak için 20 tur boyunca uygulanan üç basit işleme — toplama, XOR ve bit döndürme — dayanır. Elde edilen anahtar akışı, daha sonra şifreli metni — şifrelenmiş verileri — oluşturmak üzere düz metin ile birleştirilir.

ChaCha20 neden önemlidir

ChaCha20, modern güvenlikte pratik bir sorunu çözer: birçok aygıtta hem verimli hem de güvenilir olan güçlü bir şifreleme elde etmek. Yazılımda çok hızlıdır; telefonlarda, küçük aygıtlarda ve eski CPU'larda iyi çalışır ve bilgisayarların iyi yaptığı basit işlemlere (toplama, XOR, döndürme) dayanır.

Bu özellikler; TLS, VPN'ler(yeni pencere), SSH ve mesajlaşma uygulamaları gibi sistemlerde onu cazip kılmaktadır. Örneğin ChaCha20, özel AES donanımından yoksun aygıtlarda bile güçlü bir performansla hızlı ve güvenli şifreleme sağlamak için WireGuard®(yeni pencere) VPN protokolü(yeni pencere) tarafından kullanılır.

ChaCha20 ve AES

ChaCha20 ile AES'in karşılaştırması şu şekildedir:

ChaCha20 ve AES

Özellik

ChaCha20

AES

Şifreleyici türü

Akış şifreleyici

Blok şifreleyici

Temel işlem

32 bit sözcükler üzerinde toplama/XOR/döndürme yapar

128 bit bloklar üzerinde yerine koyma-permütasyon

Standart anahtar boyutları

256 bit

128, 192, 256 bit

Özel donanımı olmayan CPU'larda performans

Genellikle çok hızlı

Genellikle ChaCha20'den daha yavaş

Donanım ivmeli CPU'larda performans

Genellikle AES-NI / ARM kripto eklentileri içeren AES'e karşı geride kalır

Genellikle son derece hızlı

Tipik kimliği doğrulanmış kip

ChaCha20-Poly1305

AES-GCM

Yaygın kullanım durumları

Mobil/gömülü üzerinde TLS, yalnızca yazılımsal kripto, WireGuard®

TLS, disk şifreleme, kurumsal sistemler, donanım destekli şifreleme

En uygun alan

Taşınabilirlik, tutarlı yazılım hızı, daha güvenli yazılım uygulaması

Modern donanımlarda maksimum hız, geniş uyumluluk/destek

AES şifreleme, uzun süredir kabul gören standarttır ve yerleşik AES donanım desteğine sahip işlemcilerde son derece hızlıdır. Bu nedenle, birçok masaüstü bilgisayarda, sunucuda ve daha yeni mobil yongalarda özellikle iyi performans gösterir. Ancak AES donanım desteği olmadığında, yalnızca yazılımsal olan AES daha yavaş olabilir ve bazen güvenli bir şekilde uygulanması daha zordur. Buna karşın ChaCha20, neredeyse her işlemcide verimli bir şekilde çalışan toplama, XOR ve döndürme gibi basit işlemleri kullandığı için sıradan yazılımlarda çok hızlı olacak şekilde tasarlanmıştır.

Bir uygulama hem AES hem de ChaCha20 sunuyorsa çoğu modern uygulama aygıtınıza ve işlemcinize bağlı olarak daha iyi olan seçeneği otomatik olarak belirleyeceğinden genellikle manuel bir seçim yapmanız gerekmez. Genel olarak AES, yerleşik AES desteğine sahip daha yeni aygıtlarda en iyi performansı gösterirken ChaCha20; bazı telefonlar, düşük güçlü donanımlar veya daha eski CPU'lar gibi şifrelemenin esas olarak yazılımla yürütüldüğü aygıtlarda daha güçlü bir seçenektir.

ChaCha20 güvenli midir?

ChaCha20, doğru bir şekilde uygulandığında ve her şifreleme için benzersiz bir nonce ile kullanıldığında modern standartlara göre güvenli kabul edilir.

Güçlü şifreleme

ChaCha20, 20 turluk toplama-döndürme-XOR işlemleri kullanır ve bilinen pratik saldırılara karşı dirençli kabul edilir.

İyi yazılım güvenliği

Basit tasarımı yazılımda verimli olmasını sağlar ve belirli AES uygulamalarında görülen bazı yan kanal risklerini azaltabilir.

Yaygın olarak dağıtılan

ChaCha20, başlıca tarayıcılar tarafından desteklenir ve modern HTTPS/TLS bağlantılarında, SSH'de ve WireGuard®'da kullanılır.

Genellikle Poly1305 ile eşleştirilir

Genellikle hem gizliliği hem de ileti bütünlüğünü koruyan ChaCha20-Poly1305 olarak kullanılır. ChaCha20-Poly1305, TLS 1.3'te kullanılan başlıca simetrik şifreleme seçeneklerinden biridir.

Proton VPN ve ChaCha20

Proton VPN'in WireGuard® protokolü(yeni pencere) ile ChaCha20-Poly1305, hareket halindeyken güvenli bir şekilde gezinirken, yayın akışı izlerken veya halka açık Wi-Fi kullanırken hızdan ödün vermeden internet trafiğinizin güvenli kalması için VPN tünelinin güvenliğini sağlamaya yardımcı olur.

Şifreleme hakkında ayrıntılı bilgi alın