Комментарии 5
Результат шифрования выписываем снизу-вверх, справа-налево. Получаем на выходе следующий шифртекст C=XLWLDOLHXROE
Можете, пожалуйста, пояснить этот момент? Как ни крутил в голове, так и не увидел отсортированных столбцов и не понял алгоритм получения итоговой зашифрованной строки.
15 10 5
14 9 4
13 8 3
12 7 2
11 6 1
Изначально мы имеем ключ K=KEY и сообщение M=HELLOWORLD. Первое, что мы делаем - это выписываем ключ и слева-направо вписываем само сообщение. Пустые ячейки заполняем нейтральными или случайными символами. В моём случае - это нейтральные символы X. Получаем на выходе следующую таблицу.
![](https://habrastorage.org/getpro/habr/upload_files/b66/6fb/660/b666fb6608a593ec054e8573750731cc.png)
Далее, начинается второй этап - сортировку ключа и столбцов соответственно. Если сортировать ключ по порядку символов алфавита, то мы получим последовательность EKY. Теперь создаём новую таблицу с ключом K=EKY, но отсортировав сам ключ мы также должны и отсортировать столбцы под ключом ровно в таком же порядке. Получаем уже такую таблицу.
![](https://habrastorage.org/getpro/habr/upload_files/3db/fc9/893/3dbfc98933a465f1b95766b9f3581cc2.png)
И последний, третий этап - это считывание полученных символов в определённом порядке. В моём случае я выбрал снизу-вверх, справа-налево. Примерно как это показано на таблице ниже.
![](https://habrastorage.org/getpro/habr/upload_files/05c/f6b/6bb/05cf6b6bb8b5eeefc6c45aecc78c2b1f.png)
Таким образом, я получаю шифртекст C=XLWLDOLHXROE.
Как закалялась сталь современной симметричной криптографии. Глава 1. Классическая криптография