Войти Создать аккаунт

Шифровальщик · Шаг 4 из 4

Ключ по столбцам

В девятнадцатом веке отставной офицер заметил слабое место Виженера: ключ повторяется. Если длина ключа известна, шифровку можно разложить на столбцы — в первый каждая буква, что шифровалась первой буквой ключа, во второй — второй, и так далее. Каждый столбец зашифрован обычным Цезарем, а Цезаря вы уже умеете взламывать.

Что сделать

Найдите ключ Виженера известной длины: разложите буквы шифровки по столбцам и подберите сдвиг каждого столбца вашим шагом 3.

Что приходит

  • shifrovka — текст, зашифрованный Виженером

  • dlina — длина ключа; букв в шифровке не меньше

  • podobrat_sdvig — ваш шаг 3: podobrat_sdvig(stolbec, chastoty_yazyka) даёт сдвиг столбца

  • chastoty_yazyka — словарь весов букв; передайте его в podobrat_sdvig как есть

Что вернуть

Ключ — строку из dlina строчных букв: буква с номером сдвига каждого столбца, по порядку.

Допишите функцию klyuch_vizhenera в редакторе справа. Результат верните через return — то, что напечатано, на проверку не влияет.

В проекте

Утилита зовёт klyuch_vizhenera на команду «взломать» для каждой длины ключа от 1 до 12 и выбирает ключ, при котором расшифровка больше всего похожа на русский текст. Решите шаг — и записку можно прочитать без ключа.

Пример

Шифровка «Где вы, бабушка?» и длина 3. Русские буквы подряд, строчными, — «гдевыбабушка»; столбцы: «гваш», «дыбк», «ебуа». В проверке вместо настоящего шага 3 стоит игрушка — она отвечает номером первой буквы столбца: г — 3, д — 4, е — 5. Буквы с этими номерами — ключ «где».

Ctrl+Enter — проверить

Обсуждение

Вопросов пока нет.

Войдите, чтобы спросить.