Весьма высокую стойкость шифрования можно обеспечить усложнением перестановок по маршрутам типа гамильтоновских. При этом, для записи символов шифруемого текста используются вершины некоторого гиперкуба, а знаки зашифрованного текста считываются по маршрутам Гамильтона, причем используется восемь различных маршрутов. Размер ключа перестановки в данном случае равен восьми по числу вершин куба. Для примера, два из маршрутов Гамильтона представлено на рис. 4.2. Первому маршруту соответствует перестановка 4-0-2-3-1-5-7-6, второму 4-6-2-0-1-5-7-3 (нумерация символов в блоке осуществляется с нуля).
Рис. 4.2. Пример маршрутов Гамильтона
Пример 4.6. Зашифруем открытый текст «ВОСЕМЬ МАРШРУТОВ» с помощью перестановок Гамильтона при использовании в качестве ключа двух перестановок, представленных на рис. 4.2. Например, буква В меняется на букву М, стоящую на 4 месте текста согласно цифре ключа, буква О меняется на букву В и т.д.
Табл. 4.8. Шифрование методом Гамильтона
В | О | С | Е | М | Ь | М | А | Р | Ш | Р | У | Т | О | В | |
М | В | С | Е | О | Ь | М | У | О | Ш | А | Р | Т | В | Р |
Для дешифрования используем те же ключи и постановку символов на их позиции в блоке согласно цифре ключа. При дешифровании буквы просто ставятся на свои места, а не меняются:
Табл. 4.9. Дешифрование методом Гамильтона
М | В | С | Е | О | Ь | М | У | О | Ш | А | Р | Т | В | Р | |
В | О | С | Е | М | Ь | М | А | Р | Ш | Р | У | Т | О | В |