Если вдруг вы все пропустили, сообщаю, что в октябрьском конкурсе по ФП была занятная задачка про генерацию криптографических ключей. На сам конкурс я забил, а вот описанный метод шифрования показался мне очень интересным. Почему-то ранее мне не доводилось о нем слышать.

Описанный метод шифрования заключается в следующем. Берется квадратный лист бумаги, поделенный на клеточки. Клеточки вырезаются таким образом, чтобы при повороте квадрата координаты открытых клеточек не повторялись. Шифрование производится путем перестановки букв в открытом тексте. Буквы вписываются в клетки квадрта, затем квадрат поварачивается на 90 градусов, текст снова вписывается в клетки, и так четыре раза. Вот как это выглядит в действии:

Что интересно, в данном методе очень легко запомнить ключ шифрования и при необходимости восстановить его. Рассмотрим 1/4 квадрата. Каждая клетка в нем будет заполнена либо при первом, либо при втором, либо при третьем, либо при четвертом повороте. Легко видеть, что ключ сводится к последовательности чисел от 1 до 4 длиной (N/2) 2 , где N — размер блока шифрования. То есть, ключ может быть вида 12341234…, 4321143221… и так далее.

При этом длина ключа для квадрата 10×10 составляет 2 50 бит (вращения и перевороты квадрата по понятным причинам не учитываем). Если же увеличить квадрат до размера 16×16 получим ключ длиной 2 128 бит, прям как у взрослых.

Я не особо уверен в криптостойкости перестоновочных шифров. Поэтому, если бы мне понадобилось зашифровать что-то руками, я бы использовал описанный метод в сочетании с каким-нибудь шифром замены. На роль такого шифра хорошо подходит квадрат Полибия . Ключи в этом алгоритме также легко восстанавливаются по памяти. Замену и перестановку можно повторять многократно с разными ключами. Сдается мне, что в этом случае по стойкости можно будет посоревноваться даже с AES.

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

А какие еще простые и надежные способы ручного шифрования вы можете посоветовать?

admin

Share
Published by
admin

Recent Posts

Что такое Zulip

Zulip — программное обеспечение для реализации корпоративного чата. Разработан в 2012 году, в 2014 был…

2 месяца ago

Что такое Zookeeper

Zookeeper — cервис-координатор, который позволяет обеспечить контроль синхронизации данных. Разработан на Java компанией Apache Software…

2 месяца ago

Что такое Zimbra

Zimbra — программное обеспечение для реализации почтового сервиса или, если сказать точнее, автоматизации совместной деятельности…

2 месяца ago

Что такое Zabbix

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

2 месяца ago

Что такое YouTube

YouTube — компания-владелец одноименного портала для просмотра и хранения видео. Чтобы пользоваться данным порталом достаточно…

2 месяца ago

Что такое yota

Yota — провайдер, предоставляющий доступ к сети Интернет по беспроводной связи. Впервые, сервис начал работать…

2 месяца ago