Podręcznik

5. Szyfry i kryptografia

5.4. Bloki, blokowa funkcja szyfrująca i szyfry blokowe

Funkcję szyfrującą E : M K C wygodnie jest zdefiniować za pomocą różnowartościowej tzw. blokowej funkcji szyfrującej f : V1 n K V2 m . Blokowa funkcja szyfrująca f : V1 n K V2 m musi spełniać warunek: dla każdego k K funkcja f ( , k ) : V1 n V2 m jest różnowartościowa.

Z kolei funkcję deszyfrującą blokowej funkcji deszyfrującej D : C K wygodnie jest zdefiniować za pomocą blokowej funkcji szyfrującej : V2  K V1 .

Jeśli V1 V2 , to musimy mieć oczywiście m n by zachować różnowartościowość funkcji f ( k) : V n V m . Najczęściej jednak w praktyce V1  V2 i m n

Blokową funkcję szyfrującą f : V1 n K V1 m nazywamy też przekształceniem szyfrującym dla tekstów jawnych o stałej długości.

Standardowym postępowaniem przy szyfrowaniu długich tekstów jawnych jest podział takiego tekstu na tzw. jednostki tekstu lub bloki czyli słowa o stałej długości n, które skonkatenowane dają wiadomość jawną m. Każdą jednostkę tekstu możemy szyfrować wówczas niezależnie za pomocą blokowej funkcji szyfrującej f : V1 n K V2 m . Jednostkom tekstu (lub jak mówimy czasem blokom) o długości n blokowa funkcja szyfrująca przyporządkowuje fragment szyfrogramu o długości m.

Dzielenie długiego tekstu wiadomości jawnej na krótsze jednostki tekstu jest bardzo wygodne, ale wymaga niekiedy przedłużenia wiadomości jawnej m tak by ta długość była równa r n dla pewnego r N .

Istota rzeczy: Szyfrujemy długie teksty jawne "po kawałku". Ten "kawałek" nazywamy blokiem lub jednostką tekstu. Powstaje rzecz jasna od razu problem a jeśli to się nie da podzielić na jednakowe „kawałki”. Rozwiązanie jest oczywiste. Dopełniamy tekst szyfrowany do wielokrotności długości bloku. Najczęściej jest to zgodne z pewnymi standardami.