Архив задач олимпиады по математике и криптографии

Шифр Виженера

Осмысленная фраза на русском языке записана два раза подряд без пробелов и знаков препинания и зашифрована шифром Виженера. Зашифрование состоит в следующем. Выбирается ключевое слово, например, мир. Для изменения первой буквы шифруемого сообщения создается таблица следующего вида:

А Б В Г Д Е Ё Ж З И Й К Л М Н О П Р С Т У Ф Х Ц Ч Ш Щ Ъ Ы Ь Э Ю Я
М Н О П Р С Т У Ф Х Ц Ч Ш Щ Ъ Ы Ь Э Ю Я А Б В Г Д Е Ё Ж З И Й К Л

В нижней строке алфавит циклически сдвинут влево так, чтобы первая буква ключевого слова м оказалась под буквой а. Буква открытого текста (например, п) отыскивается в верхней строке и заменяется стоящей под ней буквой (для п – это ь). Для зашифрования второй буквы аналогичным образом используется буква и, третьей - р, четвертой – вновь м и т.д.

Сообщение было зашифровано с использованием ключевого слова из пяти букв. Результат зашифрования выглядит так:

мхлщлифцбдюгишсптаивпбьдюолдьуэюыйемхл

Восстановите исходное сообщение и ключевое слово.