Blok şifre çalışma kipleri
Şifre Geri Bildirim (CFB)

Şifre geri bildirim kipi (CFB), CBC'nin bir benzeri olarak, bir blok şifreyi kendi kendine senkronize olan bir akış şifresi yapar. Bu operasyon oldukça benzerdir; özellikle, CFB şifre çözme, CBC şifrelenmesinin tersine gerçekleştirilmesiyle neredeyse aynıdır.
{\displaystyle C_{i}=E_{K}(C_{i-1})\oplus P_{i},}
{\displaystyle P_{i}=E_{K}(C_{i-1})\oplus C_{i},}
{\displaystyle C_{0}={\text{IV}}.}
Kendinden senkronize şifre tanımından, eğer şifreli metnin bir parçası kaybolursa (iletim hatalarından kaynaklı olarak), bu durumda alıcı orijinal mesajın sadece bazı parçalarını kaybedecektir (bozuk içerik) ve bir miktar girdi verisi işlendikten sonra kalan blokların şifresini çözmeye devam eder. Bahsedilen bu CFB kullanımının kolay yolu, kendinden senkronize değildir. Eğer bir blok boyutu kadar şifreli metin kaybolduğunda ancak o zaman SFB senkron olacaktır, ama sadece tek bayt veya bit kaybetmek kalıcı olarak şifre çözümünü bozacaktır. Tek bit veya bayt kaybı olduğunda senkron hale getirebilmek için, bir seferde tek bir bayt veya bit şifrelenmedir. CFB, blok şifre için giriş olarak bir kaydırma yazmacı ile birleştirildiğinde bu şekilde kullanılabilir.
Kaybolan x bitlerinin herhangi biri için senkronize edecek kendinden senkronize olan bir akış şifresi oluşturmak amacıyla CFB kullanmak için, ilklendirme vektörü ile blok boyutunda bir kaydırma yazmacını oluşturarak başlayın. Bu blok şifre ile şifrelenir ve sonucun en yüksek x bitleri şifresiz metnin x bitleriyle XOR'lanır ve bu sayede şifreli metnin x bitlerini oluşturur. Çıktının bu x bitleri kaydırma yazmacına kaydırılır ve bu işlem (kaydırma yazmacını blok şifre ile şifreleme yaparak başlayan) şifresiz metnin sıradaki x bitleri için tekrar eder. Şifre çözme işlemi buna benzerdir, ilklendirme vektörü ile başlayın, sonucun yüksek bitlerini şifreli metnin x bitleri ile şifreleyip ve XOR'layıp şifresiz metnin x bitleri oluşturulur, sonra şifreli metnin x bitlerini kaydırma yazmacına kaydırın ve yeniden şifreleyin. Bu şekilde devam etmek CFB-8 veya CFB-1 (kaydırmanın büyüklüğüne bağlı) olarak biliniyor.
Notasyon olarak, Si kaydırma yazmacının durumu, a<<x a'nın x bit kaydırılması, head(a,x) a'nın x yüksek bitleri ve n ilklendirme vektörü (IV) bit sayısı:
{\displaystyle C_{i}=\operatorname {head} {\big (}E_{K}(S_{i-1}),x{\big )}\oplus P_{i},}
{\displaystyle P_{i}=\operatorname {head} {\big (}E_{K}(S_{i-1}),x{\big )}\oplus C_{i},}
{\displaystyle S_{i}={\big (}(S_{i-1}<<x)+C_{i}{\big )}{\bmod {2}}^{n},}
{\displaystyle S_{0}={\text{IV}}.}
Eğer şifreli metinden x bit kaybolursa, kaydırma yazmacı bir kez daha şifreleme sırasındaki duruma eşit oluncaya kadar şifre yanlış şifresiz metin üretir bu durumda şifre yeniden senkronize edilir. Bu, n/s blok boyutunda çıktının n blok boyutu ve s kaydırılan bit sayısı ile karışmasına neden olur.
CBC kipinde olduğu gibi, şifresiz metinde değişiklikler şifreli metinde sonsuza dek yayılır ve şifreleme paralelleştirilemez. CBC gibi, şifre çözme paralelleştirilebilir. Şifre çözme işlemi gerçekleştirilirken, şifreli metindeki bir bit değişikliği iki şifresiz metin bloklarını etkiler: karşılık gelen şifresiz metin bloğundaki bir bit değişiklik ve sonraki şifresiz metin bloğunun tamamındaki bozulma. Sonraki şifresiz metin blokları normal olarak çözülür.
CFB, CBC kipine göre akış şifreleme kipleri olan OFB ve CTR ile iki avantaj paylaşır: blok şifre sadece şifreleme yönünde kullanılır ve mesajın şifre bloğu katlarına doldurulması gerekmez (şifreli metnin çalınması, dolguyu gereksiz kılmak için kullanılabilir).