Разработка рамки для шифра Кардано

Среда, 23 Сентября 2009 г. 18:09 + в цитатник

Шифр Кардано

В шифре Кардано используется рамка с вырезанными отверстиями, в которые последовательно записываются буквы шифруемого сообщения при четырех поворотах рамки. Рамка может быть, например, такая. (Рис01)

 

Один уголок рамки срезан, чтобы можно было фиксировать стадию поворота. Пусть мы шифруем предложение гнездовье певчих птиц пред раннею весною.

Записываем буквы в отверстиях в исходном положении рамки. (Рис02)

Поворачиваем рамку по часовой стрелке. (Хотя, конечно, можно поворачивать и против часовой. Это зависит от того, как изначально договариваются шифровать и расшифровывать.) Написанные буквы исчезают. В прорезях ничего нет. Записываем туда следующие буквы. (Рис03)

Опять поворачиваем рамку. Опять прорези пустые. Пишем следующие буквы. (Рис04)

И еще один поворот и еще пишем буквы. Последняя прорезь осталась не заполненной. (Наш текст оказался чуть короче общего количества клеточек рамки.) Впишем в нее ничего не значащую букву Т, чтобы не было пустого места. (Рис05)

Криптограмма готова. Убираем рамку. (Рис06)

Если бы текст был больше, то надо было бы приложить рамку к этому блоку букв и шифровать дальше в следующих поворотах рамки.

В данной статье рассматривается, как изготовить рамку для шифрования.

Изготовление рамки

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

Количество клеток по одной стороне может быть четном или нечетным. Если взять нечетное количество клеток, например, 7х7,

То возникнет проблема с центральной клеткой. При поворотах она неизбежно будет накладываться сама на себя. Проблема решается просто. При шифровании достаточно договориться на каком повороте рамки будет заполняться эта прорезь. Проще заполнять на первом.

В дальнейших рассуждения мы будем использовать четную рамку 8х8.

Прежде всего выделим в рамке характерные точки – углы и центр.

Из любой угловой точки проведем к центру произвольную ломаную линию.

Вариантов таких ломаных линий может быть несколько, соответственно и построение будет не одно и то же, но принцип сохранится. Определив первую произвольную линию, произвол заканчивается. Теперь надо точно повторить ее из других углов квадрата. (Ну или если хотите, поворачивать ее вокруг центральной точки по или против часовой стрелке.)

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

В верхнем секторе вырежем первую клетку и отметим ее аналоги в других секторах.

Следующую клетку вырежем в правом секторе и отметим ее аналоги в других секторах.

Вырежем клетку в нижнем секторе и отметим ее аналоги.

Теперь в левом секторе и тоже отметим аналоги.

Вернулись в верхний сектор. У нас есть одна вырезанная клетка и три клетки-аналогов вырезанных клеток в других секторах. Вырезаем следующую (пятую по счету) клетку и обозначаем ее аналоги в других секторах.

То же самое делаем в правом секторе.

И в нижнем.

Всю первую кольцевую строку мы заполнили. Переходим ко второй строке. Будем стараться, чтобы вырезанные клетки не были рядом. Вырезаем клетку в верхнем секторе и отмечаем клетки-аналоги.

Вырезаем в правом секторе.

И в нижнем.

В левом секторе нет свободных клеток, чтобы они не соприкасались с уже существующими вырезами. Приходится делать вырез по диагонали.

Следующую клетку в верхнем секторе вырезать нельзя (чтобы не соприкасалась с существующей). Единственное возможное место в правом секторе. Получилось три вырезанные клетки по диагонали. В общем-то, не фонтан. Если бы мы вырезали рамку из картона, то верхний правый угол у нас отвалился бы.

Вторая строка заполнена. Вырезаем дырку в верхнем секторе. По диагонали с существующей. Все меньше и меньше вариантов выбора.

Следующий вырез в правом секторе.

В нижнем вырезать нельзя. Вырезаем в левом секторе.

Третья строка заполнена. В четвертой строке (вокруг центра) возможна всего одна дырка. Или в нижнем секторе или в левом. Выбираем нижний.

Все клетки у нас заполнены или вырезами или их аналогами в других секторах. Получилась рамка.

По построению вырезы при поворотах не будут накладываться друг на друга.

Рубрики:  шифры
разработки
Метки:  

Аноним   обратиться по имени Четверг, 28 Мая 2015 г. 23:48 (ссылка)
как правильно строить такую сетку описано у Перельмана в Занимательной арифметике
Ответить С цитатой В цитатник    |    Не показывать комментарий
 

Добавить комментарий:
Текст комментария: смайлики

Проверка орфографии: (найти ошибки)

Прикрепить картинку:

 Переводить URL в ссылку
 Подписаться на комментарии
 Подписать картинку