0Pricing
Cryptology Academy · Ders

ECB ve CBC: Örüntüler ve IV'ler

ECB penguen saldırısını ve neden rastgele IV ile CBC kullanılması gerektiğini gösterin.

ECB ve CBC: Örüntüler ve IV'ler, CoddyKit'te ücretsiz bir Cryptology Academy dersidir. Bu, 4 dersinin 2. 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

ECB ve CBC, blok şifresi için kullanılan iki kiptir. ECB, örüntü sızdırdığı için ünlü derecede güvensizdir. Rastgele bir IV ile CBC çok daha güçlüdür. Şimdi ikisini derinlemesine anlayalım.

ECB Kipi: Elektronik Kod Kitabı

ECB, her bloğu bağımsız olarak şifreler: Ci = AES(K, Pi). Aynı düz metin bloğu her seferinde aynı şifreli metin bloğuna dönüşür. İçerik eşleşiyorsa tek bir ileti içindeki veya iletiler arasındaki bloklar aynıdır.

ECB Pengueni

'ECB pengueni' klasik bir gösterimdir: Linux pengueni Tux'un PNG'sini AES-ECB ile şifreleyin. Çıktı hâlâ penguene benzer; aynı renkli alanlar aynı örüntülere dönüşür.

ECB Güvenlik Açığı: Blokların Yeniden Oynatılması

ECB kipinde saldırgan, anahtarı bilmeden şifreli metin bloklarını yeniden düzenleyebilir: - Bloklar bağımsızdır - Blokları yeniden sıralamak → çözülen düz metni yeniden sıralar - Blokları çoğaltmak → içeriği çoğaltır - Blokları silmek → içeriği kaldırır

CBC Kipi: Şifreli Blok Zincirleme

CBC, her düz metin bloğunu şifrelemeden önce önceki şifreli metinle XOR'lar: C0 = AES(K, P0 XOR IV) Ci = AES(K, Pi XOR C(i-1)) Farklı konumlardaki aynı düz metin → farklı şifreli metin.

Başlatma Vektörü (IV)

IV, ilk blok için 'C(-1)' değeridir. Şu özelliklere sahip olmalıdır: - Her ileti için rastgele ve benzersiz olmalıdır - Gizli olmamalıdır (şifreli metinle birlikte gönderilir) - Aynı anahtarla asla yeniden kullanılmamalıdır Öngörülebilir bir IV, CBC güvenliğini bozar.

CBC Şifre Çözme

Pi = AES_Dec(K, Ci) XOR C(i-1) P0 = AES_Dec(K, C0) XOR IV Not: i bloğunun şifresini çözmek için yalnızca Ci ve C(i-1) gerekir. Blokların şifresi paralel olarak çözülebilir (şifrelemenin aksine).

CBC Bit Değiştirme Saldırısı

Ci bloğundaki i bitini değiştirmek şunlara neden olur: (1) bozulmuş Pi, (2) P(i+1)'deki i bitinin öngörülebilir şekilde değişmesi. Kimlik doğrulama olmadan saldırgan, konumlarını bilerek belirli düz metin bitlerini değiştirebilir.

TLS 1.0'a BEAST Saldırısı (2011)

BEAST, TLS 1.0'ın öngörülebilir IV'lerle CBC kullanmasından yararlandı. Bir kaydın son bloğu, sonraki kayıt için IV olarak kullanılıyordu. Rizzo ve Duong tarafından gösterilen bu saldırı, tarayıcıların TLS 1.1 veya daha yeni sürümlere yükseltilmesini zorunlu kıldı.

CBC Neden Kimlik Doğrulama Gerektirir

MAC olmadan CBC şifrelemesi, bit değiştirme ve dolgu kahini saldırılarına izin verir. CBC'yi her zaman HMAC ile birleştirin (Önce Şifrele, Sonra MAC) veya AES-GCM'ye geçin (yerleşik AEAD).

Python'da Pratik CBC

from cryptography.hazmat.primitives.ciphers import Cipher, algorithms, modes import os iv = os.urandom(16) key = os.urandom(32) cipher = Cipher(algorithms.AES(key), modes.CBC(iv)) enc = cipher.encryptor() ciphertext = enc.update(padded_plaintext) + enc.finalize()

Hızlı Kontrol

ECB kipi, düz metin yapısı hakkındaki bilgileri neden sızdırır?

Özet

ECB tehlikelidir; CBC daha iyidir ancak kimlik doğrulama gerektirir. Sırada AES'i bir akış şifresine dönüştüren CTR kipini inceleyeceksiniz.

Sıkça Sorulan Sorular

“ECB ve CBC: Örüntüler ve IV'ler” dersi ücretsiz mi?

Evet — “ECB ve CBC: Örüntüler ve IV'ler” 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.

“ECB ve CBC: Örüntüler ve IV'ler” dersinde ne öğreneceğim?

ECB penguen saldırısını ve neden rastgele IV ile CBC kullanılması gerektiğini gösterin. 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 2. dersidir.

“ECB ve CBC: Örüntüler ve IV'ler” 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. Blok Şifreleme Temelleri ve Dolgulama
  2. ECB ve CBC: Örüntüler ve IV'ler
  3. CTR Kipi ve Akış Şifresi Davranışı
  4. GCM ve Kimlik Doğrulamalı Şifreleme
← Cryptology Academy Sayfasına Dön