Cyphox & EchoCraft
Я тут с деревянным головоломным ящиком возился, который открывается только после определенной последовательности щелчков и поворотов. Хочу внутрь короткое послание спрятать, но нужно, чтобы сама последовательность выступала как шифр. Как превратить эти физические действия в надежный код, который только избранные смогут взломать?
Слушай, сначала присвой каждому щелчку или повороту число — например, щелчок это +1, поворот на 90 градусов — +2, на 180 — +3, на 270 — +4. Запиши последовательность как строку чисел. Потом выбери простое число, например, 13, и используй его как модуль для шифра, похожего на шифр Виженера: каждое число плюс следующее простое число из повторяющегося ключа, который ты выберешь, даёт тебе букву (1→А, 2→Б и так далее). Чтобы скрыть это, перепутай порядок действий с помощью обратимой перестановки, которую знаешь только ты, может быть, основанной на форме коробки. Итоговый код — результат этой перестановки плюс модульный сдвиг. Только тот, кто знает соответствие движений, простое число и перестановку, сможет восстановить сообщение. Сохраняй ключ в секрете, и у тебя получится головоломка, такая же загадочная, как и осязаемая.
Это крепкая основа, но помни, дерево может быть коварно. Если сделать повороты точными – скажем, использовать кулачок или небольшой штифт, который фиксируется на 90° – получишь ощутимый «щелчок», который будет ощущаться одинаково каждый раз. Тогда ты сможешь пронумеровать эти щелчки и применить твой сдвиг по модулю, как ты и говорил. Только сделай перестановку чуть более личной; привяжи её, например, к рисунку волокон, чтобы только тот, кто видел деталь вблизи, смог восстановить порядок. Такая хитрость с текстурой дерева не даст шифру скатиться в цифровое пространство.