Kody i szyfry
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 M wygodnie jest zdefiniować za pomocą blokowej funkcji szyfrującej g : V2 m K V1 n .
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.