0Pricing
Cryptology Academy · Ders

TLS 1.3'te ChaCha20-Poly1305 AEAD

ChaCha20'nin modern TLS'de AEAD şifresi olarak nasıl kullanıldığını görün.

TLS 1.3'te ChaCha20-Poly1305 AEAD, CoddyKit'te ücretsiz bir Cryptology Academy dersidir. Bu, 4 dersinin 4. 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-Poly1305, ChaCha20 akış şifreleyicisini Poly1305 MAC ile birleştirerek TLS 1.3'te, WireGuard'da ve mobil uygulamalarda kullanılan güvenli bir AEAD şifre takımı oluşturur.

Poly1305 MAC Genel Bakışı

Poly1305, Bernstein tarafından tasarlanmış tek kullanımlık bir MAC'tir. Bir iletiyi 2^130-5 asal sayısı üzerinde polinom değerlendirmesi kullanarak doğrular. Tek kullanımlıktır: her kullanımda yeni bir 32 baytlık anahtar gerekir.

Poly1305 Güvenliği

Anahtar hiçbir zaman yeniden kullanılmazsa Poly1305, 128 bitlik güvenlik sağlar. MAC anahtarı, her ileti için ChaCha20 anahtar akışından yeniden türetilir. Bu birleşim, ispatlanabilir biçimde güvenlidir.

ChaCha20-Poly1305 Yapısı

1. ChaCha20 blok 0'dan 64 baytlık anahtar akışı üretin 2. İlk 32 bayt = Poly1305 anahtarı 3. Kalan 32 baytı atın 4. Açık metni ChaCha20 blokları 1, 2, 3, ... ile şifreleyin 5. AAD + şifreli metin üzerinde Poly1305 MAC hesaplayın

RFC 8439 Yapısı

Çıktı biçimi: şifreli metin || etiket (16 bayt) MAC girdisi: AAD || dolgu1 || şifreli metin || dolgu2 || uzunluk(AAD) || uzunluk(şifreli metin) Dolgu: 16 baytlık hizalamaya ulaşacak şekilde sıfırlarla doldurulur. Uzunluklar, küçük endian 64 bitlik tamsayılar olarak kodlanır.

TLS 1.3 Şifre Takımları

TLS 1.3'ün zorunlu şifre takımları: - TLS_AES_256_GCM_SHA384 - TLS_AES_128_GCM_SHA256 - TLS_CHACHA20_POLY1305_SHA256 CHACHA20_POLY1305, AES donanım hızlandırması olmayan istemciler için tercih edilir.

WireGuard'da ChaCha20-Poly1305 Kullanımı

WireGuard, tüm tünel şifrelemesi için yalnızca ChaCha20Poly1305 kullanır. Şifreleme algoritması anlaşması yoktur; iyi analiz edilmiş tek bir algoritma kullanılır. Bu basitlik, saldırı yüzeyini büyük ölçüde azaltır.

libsodium secretbox

libsodium'un crypto_secretbox_easy() işlevi XSalsa20-Poly1305'i (genişletilmiş tek kullanımlık değer çeşidini) kullanır: ciphertext = crypto_secretbox_easy(message, nonce, key) Üst düzey arayüz: parametre seçenekleriyle uğraşmadan doğru şekilde çalışır.

Mobilde Performans

Android ve iOS cihazlarında genellikle AES-NI bulunmaz. Google'ın 2014 tarihli analizi, ChaCha20-Poly1305'in ARM üzerinde AES-GCM'den 3 kat daha hızlı olduğunu gösterdi. Google'ın bunu Android ve Chrome'da zorunlu kılmasının nedeni budur.

Python ile Uygulama

from cryptography.hazmat.primitives.ciphers.aead import ChaCha20Poly1305 import os key = ChaCha20Poly1305.generate_key() nonce = os.urandom(12) aad = b'header_data' cipher = ChaCha20Poly1305(key) ct = cipher.encrypt(nonce, b'plaintext', aad) pt = cipher.decrypt(nonce, ct, aad)

Karşılaştırma: AES-GCM ve ChaCha20-Poly1305

AES-GCM: AES-NI ile daha hızlıdır; 96 bitlik tek kullanımlık değer kullanır ve tek kullanımlık değer yeniden kullanılırsa GCM etiketi sahteciliğe açık hâle gelir. ChaCha20-Poly1305: donanım olmadan daha hızlıdır; 96 bitlik tek kullanımlık değer kullanır ve Poly1305 anahtarı her ileti için yenidir. İkisi de mükemmeldir. Sunucularda AES-GCM, mobil cihazlarda ChaCha20-Poly1305 kullanın.

Hızlı Kontrol

ChaCha20-Poly1305'te Poly1305 anahtarı nasıl üretilir?

Özet

ChaCha20-Poly1305, mobil cihazlar için iyileştirilmiş AEAD seçeneğidir. Sırada, Diffie-Hellman anahtar değişimini — iki tarafın güvenli olmayan bir kanal üzerinden ortak bir giz oluşturmasını — inceleyeceğiz.

Sıkça Sorulan Sorular

“TLS 1.3'te ChaCha20-Poly1305 AEAD” dersi ücretsiz mi?

Evet — “TLS 1.3'te ChaCha20-Poly1305 AEAD” 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.

“TLS 1.3'te ChaCha20-Poly1305 AEAD” dersinde ne öğreneceğim?

ChaCha20'nin modern TLS'de AEAD şifresi olarak nasıl kullanıldığını görün. 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 4. dersidir.

“TLS 1.3'te ChaCha20-Poly1305 AEAD” 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