Перейти до вмісту

Шифр Хілла

Зашифруйте або розшифруйте текст за допомогою матричного ключа — класичний полігра́фічний шифр із лінійної алгебри.

Введення
Вихід

Шифр Хілла

Шифр Хілла, винайдений Лестером Хіллом у 1929 році, зашифровує текст шляхом обробки букв як чисел і множення блоків букв на квадратну матрицю ключа, за модулем розміру абетки. Вставте відкритий текст для його шифрування або зашифрований текст для розшифрування — цей інструмент працює в обох напрямках з одним ключем.

Виберіть розмір матриці 2×2 або 3×3, потім введіть ключ або як сирі числа (рядок за рядком, розділені пробілами або комами), або як слово — його букви заповнюють матрицю в порядку читання. Розмір абетки може бути 26 (тільки A–Z) або 29, що додає пробіл, крапку та знак питання, щоб короткі фрази зберігали свою пунктуацію. Символи поза вибраною абеткою видаляються, а букви з діакритичними знаками перетворюються на їхній простий еквівалент. Якщо кількість букв не кратна розміру матриці, символ заповнення заповнює останній блок.

Для розшифрування матриця ключа повинна бути оборотною за модулем розміру абетки — її детермінант не повинен мати спільних множників з 26 (або 29). Коли цього не відбувається, інструмент пояснює чому замість повернення сміття, оскільки необоротна матриця не має унікальної оберненої для розшифрування. Увімкніть опцію «Показати матрицю, детермінант та обернену матрицю», щоб побачити, як саме розв'язується ключ, що корисно для перевірки ключа вручну або слідування прикладу з підручника.

Все виконується локально у вашому браузері — ніщо, що ви вводите, не завантажується нікуди. Скопіюйте результат, завантажте його як файл .txt або відправте вихід прямо назад у введення для пов'язаного перетворення.

FAQ

Як насправді шифр Хілла шифрує блок букв?
Кожна буква стає числом (A=0, B=1, …), фіксований розмір блоку розглядається як вектор-стовпець, і цей вектор помножується на матрицю ключа за модулем розміру абетки. Результуючі числа стають буквами зашифрованого тексту для цього блоку.
Чому розшифрування не вдалося через помилку детермінанту?
Розшифрування потребує оберненої матриці ключа, яка існує лише коли детермінант не має спільних множників з розміром абетки (26 або 29). Виберіть різні значення ключа, щоб детермінант був взаємно простим з цим числом.
Для чого потрібен символ заповнення?
Шифр Хілла працює лише з повними блоками з 2 або 3 букв. Якщо кількість букв у вашому тексті не кратна розміру матриці, символ заповнення заповнює останній блок — розшифрований вихід може закінчуватися однією або двома літерами заповнення з тієї ж причини.
Повинен я вводити ключ як числа або як слово?
Обидва працюють. Числа дають вам точний контроль над матрицею; слово легше запам'ятати, і його букви заповнюють матрицю рядок за рядком, з використанням символу заповнення, якщо слово коротше, ніж потребує матриця.
Мій текст завантажується кудись?
Ні. Шифр Хілла працює повністю у вашому браузері — ваш текст і ключ ніколи не покидають вашу пристрій.