Математики, шпионы и хакеры. Кодирование и криптография | страница 69
Далее, для каждой буквы в нашем сообщении мы выбираем случайным образом число от 0 до 9. Для сообщения MATHEMATICAL («математический») мы выбираем случайным образом 12 чисел, например: 1, 2, 3, 4, 3, 6, 7, 8, 9, 0, 1, 2. Этот набор чисел и будет ключом шифра. Теперь вместо каждой буквы сообщения мы поставим букву из строки с соответствующим номером (см. таблицу на предыдущей странице).
Буква М будет заменена буквой Р (взятой из строки номер 1 в столбце М), и так далее. Мы получим сообщение PFASRDTQKEDQ. Буква А исходного сообщения будет зашифрована как F, Т, и D. Как и для всех полиалфавитных шифров, эта система шифрования устойчива к методу перебора всех возможных вариантов и к частотному анализу. Количество ключей в шифре Гронсфельда для алфавита из 26 букв составляет 26! х 10 = 4,03 х 10 >26.
Шифр Плейфера
Создатели этого шифра лорд Лайон Плейфер и сэр Чарльз Уитстон (также изобретатель электромагнитного телеграфа) были друзьями и соседями и разделяли любовь к криптографии. Их метод напоминает знаменитый шифр Полибия и тоже использует таблицу из пяти строк и пяти столбцов. В качестве первого шага каждая буква сообщения заменяется на пару букв в соответствии с ключом из пяти различных букв. В нашем примере эти пять букв будут JAMES. В случае алфавита с 26 символами мы получаем следующую таблицу:
Далее текст сообщения разбивается на пары букв или биграммы. Две буквы каждой биграммы должны быть разными. Чтобы избежать возможных совпадений, мы используем букву X. Мы также используем эту букву, чтобы завершить биграмму в случае, если последняя буква не имеет пары.
Например, сообщение TRILL будет разбито на биграммы следующим образом:
TR IL LX.
А слово TOY — так:
ТО YX.
Разбив текст на биграммы, мы можем начать шифрование, обращая внимание на следующие условия:
а) две буквы биграммы расположены в одной и той же строке;
б) две буквы биграммы расположены в одном и том же столбце;
в) ни одно из вышеперечисленных.
В случае (а) буквы биграммы заменяются буквами, расположенными справа от каждой из них («следующими» в таблице в естественном порядке). Таким образом, пара JE будет зашифрована как AS:
В случае (б) буквы биграммы заменяются буквами, которые находятся следом ниже по таблице. Например, биграмма ЕТ будет зашифрована, как FY, a TY — как YE:
В случае (с), чтобы зашифровать первую букву биграммы, мы смотрим на ее строку, пока не дойдем до столбца, содержащего вторую букву. Результат расположен на пересечении этой строки и этого столбца. Чтобы зашифровать вторую букву, мы смотрим на ее строку, пока не дойдем до столбца, содержащего первую букву.