Wektor inicjalizujący w kryptografii

2008-10-25 00:00:00 +0100


Inne nazwy: wektor inicjalizujący, initialising vector, IV.

Liczba stanowiąca pierwszy blok w wiązanych trybach szyfrów blokowych (np. w trybach CBC, CFB, OFB,COUNTER).

Wektor inicjalizujący jest zazwyczaj jawny, tj. jego znajomość nie ułatwia w żaden sposób pracy kryptoanalitykowi próbującemu złamać wiadomość. W praktyce podczas przesyłania długiej wiadomości zaszyfrowanej w trybie korzystającym z IV ten ostatni jest po prostu dołączony do kryptogramu w postaci jawnej tak, by odbiorca mógł poprawnie odszyfrować tekst.

Bardzo często bezpieczeństwo zależy w dużym stopniu od niepowtarzalności i nieprzewidywalności IV. Wynika stąd, że IV powinno być generowane w sposób losowy i kryptograficznie bezpieczny.

W przypadku protokołów sieciowych istotna jest wydajność, co oznacza że narzut wielkości kryptogramów w stosunku do tekstu jawnego nie może być zbyt duży. W przypadku niektórych transmisji dodawanie IV do każdego pakietu mogłoby powodować znaczne pogorszenie wydajności. W związku z tym stosuje się dwa rodzaje IV, explicit i implicit IV. Pierwszy z nich to wartość wektora podawana wprost, czyli dołączona do kryptogramu. W przypadku stosowania implicit IV wartość wektora jest wyliczana przez odbiorcę dla każdego pakietu na podstawie znanych mu informacji, na przykład numeru pakietu lub skrótu klucza.