Szyfr Hilla

Z Wikipedii, wolnej encyklopedii
Skocz do: nawigacja, szukaj

Szyfr Hillaszyfr należący do grupy polialfabetycznych szyfrów podstawieniowych bazujący na algebrze liniowej.

Operacje[edytuj]

Każdą literę koduje się jako numer. Najczęstszy schemat korzysta z układu: A = 0, B =1, ..., Z=25, jednak nie jest to niezmienna zasada tego szyfru. Blok n jest przedstawiany w postaci wektora o n wymiarach. Następnie jest mnożony przez macierz o wymiarach n × n, modulo 26 (wartość wynika z liczby elementów w układzie). Cała tablica traktowana jest jako klucz. Należy sprawdzić, czy macierz jest odwracalna w (by upewnić się że deszyfrowanie będzie możliwe).

Szyfrowanie[edytuj]

Niech tekstem jawnym będzie 'ACT', a kluczem jest macierz (lub GYBNQKURP w postaci literowej):

ponieważ 'A' jest 0, 'C' jest 2 a 'T' jest 19, tekst jawny jest wektorem:

Wersja zaszyfrowana jest otrzymywana przez:

co można przedstawić w postaci liter 'POH'. Teraz przypuśćmy że tekstem jawnym jest 'CAT' czyli:

Tym razem wersja zaszyfrowana przedstawia się jako:

co jest równoznaczne z tekstem 'FIN'. Każda litera została zmieniona. Kryptosystem zapewnia zatem dyfuzję

Deszyfrowanie[edytuj]

By odszyfrować, wiadomość zamieniamy zaszyfrowany tekst na wektor, i następnie mnożymy przez odwróconą macierz stanowiącą klucz (istnieją metody wyliczania macierzy odwrotnej; zobacz wyznaczanie macierzy odwrotnej). Przy działaniu w macierz odwrotna z przykładu wynosi:

wykorzystując wiadomość zaszyfrowaną 'POH', otrzymamy:

co daje nam w formie liter 'ACT', czyli tekst jawny.

Zobacz też[edytuj]