0Pricing
Cryptology Academy · Ders

Blok Şifreleme Temelleri ve Dolgulama

Blok boyutunu, PKCS7 dolgulamasını ve şifre yapısını anlayın.

Blok Şifreleme Temelleri ve Dolgulama, CoddyKit'te ücretsiz bir Cryptology Academy dersidir. Bu, 4 dersinin 1. 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

Blok şifreleri sabit boyutlu blokları şifreler. Düz metin bir bloğu doldurmadığında dolguya ihtiyaç duyarız. Bu derste blok şifresi yapısına ve dolgu şemalarına hâkim olacak, bunların neden önemli olduğunu öğreneceksiniz.

Blok Boyutunu Gözden Geçirme

AES, 128 bitlik (16 baytlık) bloklar kullanır. DES, 64 bitlik (8 baytlık) bloklar kullanıyordu. Düz metin tam olarak 16 baytsa tek bloktur. 17 bayt ise iki blok gerektirir.

Dolgu Neden Gereklidir

Düz metin 20 baytsa ikinci blok yalnızca 4 bayt içerir. Şifre, 16 baytlık tam bir blok gerektirir. Kalan 12 baytı belirli ve geri döndürülebilir bir şemayla doldururuz.

PKCS#7 Dolgusu

PKCS#7, N baytla ve her birinin değeri N olacak şekilde dolgu yapar: - 3 bayt gerekiyorsa → şunu ekleyin: 03 03 03 - 12 bayt gerekiyorsa → şunu ekleyin: 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C - 0 bayt gerekiyorsa → 16 baytlık tam blok ekleyin: 10×16

Her Zaman Bir Tam Blok Doldurun

Düz metin tam olarak 16 baytsa PKCS#7, 0x10×16 değerinde fazladan bir tam blok ekler. Böylece alıcı dolgunun nerede bittiğini her zaman bilir: son baytın değeri, çıkarılacak bayt sayısını gösterir.

Python'da PKCS#7

def pkcs7_pad(data: bytes, block_size: int = 16) -> bytes: n = block_size - (len(data) % block_size) return data + bytes([n] * n) def pkcs7_unpad(data: bytes) -> bytes: n = data[-1] return data[:-n]

Dolgu Kahini Saldırıları

Bir sunucu, şifre çözme işleminden sonra dolgunun geçerli olup olmadığını (hata mesajı veya zamanlama yoluyla) açıklarsa saldırgan anahtarı bilmeden şifreli metni bayt bayt çözebilir. Bu saldırı, 2010'da ASP.NET ViewState'i etkiledi.

Sıfır Dolgusu ve ANSI X.923

Sıfır dolgusu: 0x00 baytlarıyla doldurur (belirsizdir; özgün veriler sıfırlarla bitebilir). ANSI X.923: sıfırlarla doldurur, son bayt = sayıdır. ISO 7816-4: ilk dolgu baytı = 0x80, kalanlar = 0x00. PKCS#7 belirsiz değildir ve tercih edilir.

Bit Düzeyinde Dolgu (CTS)

Ciphertext Stealing (CTS), dolgu kullanımını tamamen önler: kısmi blok girdisini işlemek için son iki bloğu yeniden düzenler. Disk şifrelemede kullanılır (Kerberos ve bazı AES uygulamaları).

Blok Boyutunun Güvenliğe Etkisi

64 bitlik bloklarda (DES, 3DES, Blowfish), 2^32 bloktan sonra (yaklaşık 32 GB) doğum günü çakışması oluşur. Tarayıcılar, 2016'da SWEET32 saldırısının bunu göstermesinin ardından TLS'de 3DES'i devre dışı bıraktı. AES'in 128 bitlik blokları 2^64 blok gerektirir; bu, pratikte güvenlidir.

Dolgu Gerektirmeyen Kipler

AES-CTR ve AES-GCM dolgu gerektirmez: blok şifresini akış anahtarı üreteci olarak kullanır ve her uzunluktaki girdiyi XOR'lar. Blok sınırı, iç uygulama ayrıntısıdır.

Hızlı Kontrol

16 baytlık bloklarla PKCS#7 kullanıldığında 13 baytlık bir iletiye hangi dolgu eklenir?

Özet

Blok şifresi dolgusuna artık hâkimsiniz! Sırada, ünlü ECB pengueni saldırısıyla başlayarak ECB ve CBC kiplerini karşılaştıracaksınız.

Sıkça Sorulan Sorular

“Blok Şifreleme Temelleri ve Dolgulama” dersi ücretsiz mi?

Evet — “Blok Şifreleme Temelleri ve Dolgulama” 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.

“Blok Şifreleme Temelleri ve Dolgulama” dersinde ne öğreneceğim?

Blok boyutunu, PKCS7 dolgulamasını ve şifre yapısını anlayı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 1. dersidir.

“Blok Şifreleme Temelleri ve Dolgulama” 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