Cryptology Academy · Ders

Salsa20 ve ChaCha20 Tasarımı

ChaCha20'nin çeyrek turunu ve mobil donanımdaki hızını adım adım inceleyin.

3. ders / 413 adım

Salsa20 ve ChaCha20 Tasarımı, CoddyKit'te ücretsiz bir Cryptology Academy dersidir. Bu, 4 dersinin 3. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Cryptology Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Cryptology Academy kursu toplamda 4 dersten oluşur.

Hoş Geldiniz

ChaCha20, modern sistemlerde baskın akış şifresidir — TLS 1.3, WireGuard, Signal ve daha birçok sistemde kullanılır. Zarif tasarımını ayrıntılı olarak inceleyeceğiz.

ChaCha20'nin Kökenleri

Daniel J. Bernstein, 2005'te Salsa20'yi tasarladı ve ardından 2008'de onu ChaCha20'ye geliştirdi. 'Cha' ön eki, 8 ek yayılım iyileştirmesine işaret eder. RFC 7539 (2015) ve RFC 8439 (2018) ile standartlaştırıldı.

ChaCha20 Durumu

ChaCha20, 32 bitlik sözcüklerden oluşan 4×4 matris üzerinde çalışır (toplam 512 bit): - 0-3. sözcükler: sabitler ('expa', 'nd 3', '2-by', 'te k') - 4-11. sözcükler: 256 bitlik anahtar (8 sözcük) - 12. sözcük: 32 bitlik blok sayacı - 13-15. sözcükler: 96 bitlik tek kullanımlık değer

Çeyrek Tur

ChaCha20'nin temel işlemi — (a,b,c,d) üzerinde çeyrek tur: a+=b; d^=a; d<<<= 16 c+=d; b^=c; b<<<= 12 a+=b; d^=a; d<<<= 8 c+=d; b^=c; b<<<= 7 Topla-Döndür-XOR (ARX). İkame kutuları gerekmez — tüm donanımlarda hızlıdır.

20 Tur

ChaCha20, 20 tur uygular: sırayla sütun turları ve köşegen turları; her birinde 4 çeyrek tur bulunur. 8 tur = ChaCha8 (hızlı), 12 tur = ChaCha12 (dengeli). ChaCha20 güvenli varsayılan seçenektir.

Anahtar Akışı Üretimi

1. Durumu anahtar + tek kullanımlık değer + sayaçtan başlatın 2. Çeyrek turların 20 turunu uygulayın 3. Başlangıç durumunu döndürülmüş duruma ekleyin (tersine çevirmeyi önler) 4. 64 baytlık anahtar akışı bloğu çıktısı verin 5. Sonraki blok için sayacı artırın

ARX Güvenlik Faydaları

ARX (Topla, Döndür, XOR) şifreleri çoğu CPU'da doğal olarak sabit süreli çalışır. Tablo aramalarının olmaması, önbellek zamanlama yan kanallarının bulunmamasını sağlar. Bu, güvenli uygulamalar için kritik önemdedir.

ChaCha20 Performansı

AES-NI olmadan: ChaCha20, AES-CBC'den yaklaşık 3 kat daha hızlıdır. Telefonlarda (ARM Cortex-A): ChaCha20 daha hızlı seçenektir. AES-NI bulunan modern x86 sistemlerde: AES-GCM daha hızlıdır. TLS 1.3 her ikisini de içerir.

Salsa20 ve ChaCha20 Karşılaştırması

ChaCha20, ilk turlarda daha iyi yayılım sağlayarak Salsa20'yi geliştirir; bu da diferansiyel kriptanalize karşı daha fazla direnç sunar. Durum başlatma işlemleri farklıdır. Her ikisi de güvenlidir; güncel standart ChaCha20'dir.

Python'da ChaCha20

from cryptography.hazmat.primitives.ciphers.aead import ChaCha20Poly1305 import os key = ChaCha20Poly1305.generate_key() nonce = os.urandom(12) ct = ChaCha20Poly1305(key).encrypt(nonce, b'hello', None)

XChaCha20: Genişletilmiş Tek Kullanımlık Değer

ChaCha20, 96 bitlik bir tek kullanımlık değer kullanır. XChaCha20, HChaCha20 işlevini kullanarak bunu 192 bite genişletir. Daha büyük tek kullanımlık değerler, çakışma endişesi olmadan rastgele üretime olanak tanır. libsodium, XChaCha20-Poly1305 kullanır.

Hızlı Kontrol

ChaCha20'nin ARX tasarımı, önbellek zamanlama yan kanallarını neden ortadan kaldırır?

Özet

ChaCha20 zarif ve güvenlidir. Sırada, TLS 1.3'te ChaCha20-Poly1305 AEAD olarak nasıl kullanıldığına bakacağız.
Başlamak ücretsiz

Yapay zeka eğitmeniyle Cryptology Academy öğren — ücretsiz

Tarayıcında gerçek kod yaz ve çalıştır, 7/24 yapay zeka eğitmeninden anında yardım al; web'de ya da uygulamada kaldığın yerden devam et.

Kurslar
67
Dersler
261

Sıkça Sorulan Sorular

“Salsa20 ve ChaCha20 Tasarımı” dersi ücretsiz mi?

Evet — “Salsa20 ve ChaCha20 Tasarımı” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Cryptology Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Cryptology Academy kursu toplamda 4 dersten oluşur.

“Salsa20 ve ChaCha20 Tasarımı” dersinde ne öğreneceğim?

ChaCha20'nin çeyrek turunu ve mobil donanımdaki hızını adım adım inceleyin. Cryptology Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

Cryptology Academy öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te Cryptology Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 3. dersidir.

“Salsa20 ve ChaCha20 Tasarımı” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu Cryptology Academy dersinde kod yazıp çalıştırabilir miyim?

Evet. Her Cryptology Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. Akış Şifresi Kavramları ve PRNG
  2. RC4: Tasarım, Zayıflıklar ve WEP Saldırıları
  3. Salsa20 ve ChaCha20 Tasarımı
  4. TLS 1.3'te ChaCha20-Poly1305 AEAD
← Cryptology Academy Sayfasına Dön