CBC
Z Wikipedii
W kryptografii CBC - Cipher Block Chaining to tryb kodowania wiadomości za pomocą szyfru blokowego, w którym przed zaszyfrowaniem każdy z bloków wiadomości jest przekształcany funkcją XOR z szyfrogramem uzyskanym z szyfrowania poprzedniego bloku wiadomości. Pierwszy blok wiadomości jest szyfrowany za pomocą wylosowanego ciągu bitów (IV, initial vector) dołączanego do wiadomości.
Wzory na kodowanie:
- C0 = IV
Wzory na dekodowanie:
Tryb CBC jest jednym z najszerzej wykorzystywanych szyfrów blokowych. Należy jednak pamiętać, że w przypadku wystąpienia błędów w transmisji niemożliwe będzie poprawne rozszyfrowanie bloku, który znajduje się po bloku uszkodzonym. W trakcie implementacji CBC bardzo istotny jest poprawny dobór wielkości bloków. Jeżeli będą one za krótkie, to szansa pokrycia się dwóch identycznych bloków wiadomości niezaszyfrowanej jest stosunkowo duża. Obecnie uznawana za bezpieczną jest wielkość bloku wynosząca co najmniej 128 bitów. CBC nie zabezpiecza również przed celową podmianą, modyfikacją bloków lub bitów. Dlatego ważne jest podczas szyfrowania zapewnienie ochrony integralności. Można to zrobić przy pomocy funkcji skrótu. Brak zapewnienia ochrony integralności był przyczyną znalezienia poważnych błędów w protokołach kryptograficznych. Błąd taki znaleziono w wersji pierwszej protokołu SSH (Secure Shell), wówczas brak ochrony integralności oraz błędna konstrukcja pakietów umożliwiały atakującemu wstawianie własnych danych do zaszyfrowanego strumienia danych.
Inne tryby to: