Przejdź do treści

Szyfr Hilla

Szyfruj i deszyfruj tekst za pomocą klucza macierzowego — klasycznego szyfru poligraficznego z algebry liniowej.

Wejście
Wynik

Szyfr Hilla

Szyfr Hilla, wynaleziony przez Lestera Hilla w 1929 roku, szyfruje tekst, traktując litery jako liczby i mnożąc ich bloki przez kwadratową macierz klucza modulo rozmiar alfabetu. Wklej tekst jawny, aby go zaszyfrować, albo szyfrogram, aby go odszyfrować — to narzędzie działa w obu kierunkach z tym samym kluczem.

Wybierz rozmiar macierzy 2×2 lub 3×3, a następnie podaj klucz jako surowe liczby (wiersz po wierszu, oddzielone spacjami lub przecinkami) albo jako słowo — jego litery wypełniają macierz w kolejności czytania. Rozmiar alfabetu może wynosić 26 (tylko A–Z) lub 29, co dodaje spację, kropkę i znak zapytania, dzięki czemu krótkie frazy zachowują interpunkcję. Znaki spoza wybranego alfabetu są pomijane, a litery z akcentami są najpierw sprowadzane do formy podstawowej. Jeśli liczba liter nie jest wielokrotnością rozmiaru macierzy, ostatni blok uzupełnia litera dopełniająca.

Deszyfrowanie wymaga, aby macierz klucza była odwracalna modulo rozmiar alfabetu — jej wyznacznik nie może mieć wspólnego dzielnika z liczbą 26 (lub 29). Gdy warunek ten nie jest spełniony, narzędzie zamiast bezsensownego wyniku wyjaśnia dlaczego, ponieważ nieodwracalna macierz nie ma jednoznacznej macierzy odwrotnej potrzebnej do deszyfrowania. Włącz opcję pokazania macierzy, wyznacznika i macierzy odwrotnej, aby zobaczyć dokładnie, jak rozkłada się klucz — przydaje się to przy ręcznym sprawdzaniu klucza lub śledzeniu przykładu z podręcznika.

Wszystko działa lokalnie w twojej przeglądarce — nic, co wpiszesz, nie trafia nigdzie indziej. Skopiuj wynik, pobierz go jako plik .txt, albo wyślij wynik z powrotem do pola wejściowego, aby połączyć go z kolejną operacją.

Częste pytania

Jak dokładnie szyfr Hilla szyfruje blok liter?
Każda litera zamieniana jest na liczbę (A=0, B=1, …), blok o stałym rozmiarze traktowany jest jako wektor kolumnowy, a ten wektor mnożony jest przez macierz klucza modulo rozmiar alfabetu. Powstałe liczby stają się literami szyfrogramu dla tego bloku.
Dlaczego deszyfrowanie zakończyło się błędem dotyczącym wyznacznika?
Deszyfrowanie wymaga macierzy odwrotnej do klucza, która istnieje tylko wtedy, gdy wyznacznik nie ma wspólnego dzielnika z rozmiarem alfabetu (26 lub 29). Wybierz inne wartości klucza, tak aby wyznacznik był względnie pierwszy z tą liczbą.
Do czego służy litera dopełniająca?
Szyfr Hilla działa tylko na pełnych blokach po 2 lub 3 litery. Jeśli liczba liter twojego tekstu nie jest wielokrotnością rozmiaru macierzy, litera dopełniająca uzupełnia ostatni blok — z tego samego powodu odszyfrowany wynik może kończyć się jedną lub dwiema literami dopełniającymi.
Czy klucz powinienem podać jako liczby, czy jako słowo?
Oba sposoby działają. Liczby dają dokładną kontrolę nad macierzą; słowo łatwiej zapamiętać, a jego litery wypełniają macierz wiersz po wierszu, przy czym jeśli słowo jest krótsze niż potrzebuje macierz, użyta zostaje litera dopełniająca.
Czy mój tekst jest gdzieś przesyłany?
Nie. Szyfr Hilla działa w całości w twojej przeglądarce — twój tekst i klucz nigdy nie opuszczają twojego urządzenia.