Шифрование — это способ превратить обычный текст в нечитаемый набор символов, который может расшифровать только тот, кто знает секретный ключ.
Шифры используются тысячи лет — от секретных посланий римских полководцев до банковских операций в интернете. Каждый раз, когда ты видишь 🔒 в браузере, значит твои данные зашифрованы.
Открытый текст — исходное сообщение: «ПАРОЛЬ»
Шифртекст — зашифрованное сообщение: «УДФТПА»
Ключ — секрет, с помощью которого шифруют и расшифровывают
Алгоритм — правило, по которому выполняется шифрование
В игре пять вкладок. Вот что делать в каждой:
Если застрял — нажми кнопку [ ПОДСКАЗКА ] под заданием. Она не даст ответ, но покажет, в каком направлении думать.
Гай Юлий Цезарь использовал этот шифр более 2000 лет назад для военных приказов. Он сдвигал каждую букву алфавита на 3 позиции вперёд. Враги, перехватив письмо, не могли его прочитать.
Каждая буква заменяется другой буквой, которая стоит на N позиций позже в алфавите. N — это ключ. В русском языке 33 буквы (А=0 ... Я=32). Когда алфавит заканчивается, он начинается сначала.
| Буква | П | Р | И | В | Е | Т |
|---|---|---|---|---|---|---|
| Позиция | 16 | 17 | 9 | 2 | 5 | 19 |
| +3 | 19 | 20 | 12 | 5 | 8 | 22 |
| Результат | Т | У | Л | Е | З | Х |
Что если к букве Я (позиция 32) прибавить ключ +3? Получается 35, но букв только 33 (0–32). Тогда «заворачиваемся»: 35 − 33 = 2 → это буква В.
Чтобы расшифровать, нужно вычесть ключ. Если шифровали с ключом +3, расшифровываем с ключом −3 (в инструменте переключись в режим РАСШИФРОВАТЬ).
Если зашифровать дважды — сначала ключом +4, потом ключом +9 — итог такой же, как при одном шифровании ключом +13 (4 + 9 = 13). Два сдвига просто складываются!
В любом длинном русском тексте одни буквы встречаются намного чаще других. При шифре Цезаря буквы заменяются, но их частота не меняется. Самая частая буква в шифртексте — это, скорее всего, зашифрованная буква «О».
Допустим, в шифртексте чаще всего встречается буква У (позиция 20). Предполагаем, что она — зашифрованная «О» (позиция 15). Ключ = 20 − 15 = 5.
Частотный анализ работает только на длинных текстах (100+ букв). Для коротких слов результат ненадёжен — мало статистики.
У Цезаря все буквы сдвигаются на одно и то же число. Виженер использует ключевое слово: каждая буква сдвигается на своё число, взятое из очередной буквы ключа. Ключ повторяется циклически.
Это делает частотный анализ намного сложнее — одна и та же буква «А» в разных позициях зашифруется в разные символы.
| Текст | Ш | И | Ф | Р |
|---|---|---|---|---|
| Позиция текста | 25 | 9 | 21 | 17 |
| Буква ключа | К | О | Д | К |
| Сдвиг ключа | 11 | 15 | 4 | 11 |
| Сумма | 36→3 | 24 | 25 | 28 |
| Результат | Г | Ч | Ш | Ы |
* При сумме больше 32 вычитаем 33: Ш(25)+К(11)=36, 36−33=3 → Г
При ключе длиной 3 — каждая 3-я буква шифруется одинаково. Чтобы взломать, нужно сначала угадать длину ключа, потом применить частотный анализ отдельно к каждой «позиции» — это намного сложнее. Чем длиннее ключ — тем надёжнее шифр.
Цезарь и Виженер — симметричные шифры: один ключ и для шифровки, и для расшифровки. RSA — асимметричный: ключей два, и они разные.
Это значит: кто угодно может зашифровать тебе сообщение, но расшифровать его можешь только ты. Именно так работает защита в интернет-банках и мессенджерах.
Вся защита строится на том, что знать n (публичный) — не значит уметь найти p и q. Разложить огромное число на простые множители математически очень долго. Современные RSA-ключи имеют длину 2048 бит — на их взлом компьютеру потребуются тысячи лет.
Переключи инструмент в режим РАСШИФРОВАТЬ, поставь ключ = 3, введи шифртекст.
Ключ неизвестен. Перебери значения 1, 2, 3, 4, 5 по очереди — при правильном ключе появится осмысленное слово.
Теперь нужно зашифровать. Режим ЗАШИФРОВАТЬ, ключ = 7, текст = ХАКЕР.
Помни: два сдвига складываются. 4 + 9 = 13. Ключ = 13, режим РАСШИФРОВАТЬ.
Скопируй шифртекст, вставь на вкладке ВЗЛОМ. Найди самую частую букву. Вычти из её позиции 15 (позицию «О») — получишь ключ.
Используй инструмент Виженера на вкладке МИССИИ 2. Для расшифровки переключи в РАСШИФРОВАТЬ и введи ключ из задания.
Иди по шагам 1→2→3→4→5. Каждый ответ из предыдущего задания нужен в следующем. Для вычислений a^b mod n используй встроенный калькулятор на вкладке МИССИИ 2.