Создай свой шифр: от простых кодов до сложных алгоритмов
«Когда мы уверены, что полностью защищены, обычно появляются проблемы».
Найдено на просторах интернета
Кому хотя бы раз не хотелось испытать кайф секретности? Изобрести свой собственный язык, который будет понятен только избранным? Окружить себя ореолом тайны и изредка посмеиваться над теми, кто не смог разгадать ваших тайных цидулок.
Создание собственного шифра – увлекательное занятие, которое отлично поможет понять искусство и науку криптографии. И ещё поможет найти в себе задатки Джеймса Бонда и Шерлока Холмса одновременно. Для того, чтобы создать собственный шифр, понадобится немного фантазии, немного творческого мышления и много-много логики.
Ну и, конечно, в самом начале следует определиться: что быстрее приблизит вас к созданию собственного шифра – жизненные или технологические решения.
Приступим к изобретению собственного шифра. В этом нам могут помочь личные интересы. Например, если вы увлекаетесь искусством кулинарии, у вас запросто получится создать свой уникальный поварской шифр. Слово «друг» для зашифрованного послания можно составить из слов: «джем», «равиоли», «устрицы», «гребешки».
Сюда можно включить шифры, основанные на любимых напитках. Т– апельсиновый сок, Р – бокал вина, А – вода с лимоном. Но если что-то пойдет не так, и при написании зашифрованного сообщения вы случайно пропустите букву, тогда вместо «Я тебя люблю» тайный получатель увидит «Апельсиновый сок, бокал вина, вода с лимоном». Так и до подозрений в алкогольной зависимости недалеко.
Точно так же работает звериный код. Н– африканский слон, С – бобёр, Ц– верблюд.
Секретные сообщения можно сделать мелодичными и заменить буквы звуками природы. Шум дождя может обозначать букву А, звук банкомата может стать буквой Б, звук кутежа заменит букву Е, или Н, или любую другую. Для получателя зашифрованное сообщение будет звучать как полифонический этюд. Правда неизвестно, что вам может прийти в качестве ответного сообщения.
Киношные шифры позволят расшифровать сообщения и вспомнить названия любимых фильмов или сериалов. «Аватар» станет буквой Д, «Бэтмен» будет буквой Е, «Властелин колец» перевоплотится в букву Н. Но это слишком просто. Почему бы для шифра не использовать известные выражения из культовых фильмов?
Фразу «I’ll be back» можно зашифровать с противоположным смыслом
Выражение «Houston, we have a problem» можно прочитать как «Пятый час пытаюсь понять, о чём говорится в этой статье».
Выражение «моя прелесть» из фильма Властелин колец может вообще означать что угодно, главное – разобраться: что вы считаете прелестью.
Может ли существовать тайный язык внутри языка? Может. Нужно только создать свой собственный словарь кодовых слов и заменить обыденные понятия на более яркие и запоминающиеся. Слово «встречаемся» превращается в «начинаем миссию», выражение «отпечатай мне десть» может означать «жду от тебя ровно 24 листа качественного текста для презентации к рассвету», «вызови мне форейтора» будет значить «вызови мне такси». Такой шифр добавит сообщениям необходимой секретности и заставит вспомнить о существовании словаря устаревших слов.
Ещё для создания повседневных шифров можно заставить слова кувыркаться. Так, «котлета» превратится в «толкетлу», слово «совершенно» превратится в «шеноревнсо». Чем безумнее перестановка, тем интереснее. Главное – не переусердствовать, чтобы даже самый уставший дешифровщик мог понять, что скрывается за этой словесной эквилибристикой.
Алфавит всегда можно превратить в галерею абстрактного искусства. Достаточно присвоить каждой букве или даже группе букв свой уникальный символ. Это может быть загадочный знак, геометрическая фигура, даже любая закорючка подойдёт. Буква Т может превратиться в @, буква Н – в §, буква О станет дерзким перевернутым сердечком ♥.
Шифровать всегда интересно и весело. Любую игру при желании можно превратить в шифр.
Морской бой – игра, где нужно попасть в корабль врага на пересечении клеток. Ну чем не шифровальная машина? Только вместо кораблей в такой игре должны быть буквы. Для того, чтобы собеседник смог прочитать сообщение, ему нужно будет отправить ключ – нужно указать координаты.
Лабиринт – бродилка поможет отыскать зашифрованное слово при условии выбора правильного пути. Собрав разбросанные по лабиринту буквы, собеседник получит искомое слово или предложение.
Для изобретения собственного шифра подойдёт и молекулярная кухня. Зашифрованное сообщение можно написать с помощью невидимых чернил. Чернильницу можно сделать из хлебного мякиша, а молоко можно использовать в виде чернил. Прочитать послания позволит обычная настольная лампа.
По такому же принципу работает и лимонный сок. Информация, написанная на листе бумаги лимонным соком, темнеет при нагревании. Небольшая глажка утюгом, и секреты проявятся. Аналогичной способностью менять цвет при нагревании обладают соки свеклы, лука, яблочный сок и другие соки с высоким содержанием кислоты.
Свечи тоже могут стать помощниками при создании собственной криптографии. Суть техники заключается в нанесении линий на бумагу при помощи воска, поверх которых кладется акварель. Там, где имеется воск, краски отступают, а само послание, написанное воском, проступает. Выглядит такой метод шифрования красиво, словно текст светится изнутри.
И, конечно, самый лучший шифр – тот, который был придуман ради забавы. Эксперименты, сочетание разных техник, свои собственные правила запутают кого угодно. И тогда секреты будут надежно защищены собственноручно созданными алгоритмами и позитивными эмоциями.
Как и в любом творческом процессе, важно тестировать и улучшать свой шифр. Написать несколько фраз и зашифровать их. Лучшими тестировщиками вашего шифра могут стать друзья. Они точно помогут понять, насколько шифр эффективен и интересен.

Для любителей технических решений всегда есть другие предложения. Современные инновационные возможности могут значительно упростить процесс создания шифра и дадут вам возможность почувствовать себя дебютантом-криптографом.
Иногда ключи от самых секретных данных хранятся не в сейфах, а в молекулах. Звучит необычно, но команда французских ученых из Института Садрона превратила эту идею в реальность. Они разработали молекулярный ключ шифрования на основе полимеров.
Вместо того, чтобы отправлять зашифрованные сообщения по интернету, инициативная группа решила спрятать молекулярный ключ в чернилах для обычного письма и отправить его по почте. Получатели должны были извлечь ключ из чернил и расшифровать секретное послание.
Принцип работы молекулярного шифра похож на конструктор Лего, где каждый кирпичик (мономер) имеет свою уникальную форму и цвет. Своеобразный «маркерный камень» указывает, где именно скрыта информация в каждом полимере. Учёные создали восемь цепочек полимеров, в которых каждая цепочка содержит закодированную часть ключа. Затем соединили эти полимеры с изопропанолом, глицерином и сажей – так получились чернила для написания письма.
Расшифровать секретное послание можно только с помощью жидкостной хромато-масс-спектрометрии (ЖХ/МС). Звучит страшновато, но речь идёт про аналитическую химию. Сам химический процесс расшифровки можно разделить на несколько этапов:
- Образец растворяется в специальной жидкости и проходит через адсорбент.
- Затем вещество разделяется на отдельные компоненты.
- Потом эти отдельные компоненты показывают все, на что способны: массу и заряд.
- Вот и всё. Маски сняты – молекулы открывают свое истинное лицо и структуру.
А дальше адресаты с ученой степенью получили закодированную информацию. Ввели молекулярный ключ и открыли с помощью него обычный текстовый файл, в котором прятался Волшебник страны Оз. Именно это произведение было доставлено с большой секретностью. Разработка молекулярного ключа шифрования сможет открыть новые, широкие горизонты в области защиты информации. И первый шаг уже сделан.
Ну а для тех, кто непременно хочет изобрести свой первый шифр сразу в цифровом мире, на помощь приходит язык программирования Python – философия, облеченная в код. Тем более что на Python можно написать заковыристый шифр, основанный на простых, но эффективных методах шифрования. Например, при написании алгоритма можно использовать шифр Цезаря или шифр Виженера. Для разработки базового пользовательского шифра будет достаточно обычного сдвига букв в алфавите.
Для непосвященного перехватчика шифр будет выглядеть как набор случайных символов. «Кз хзгв хзгв» – такое сообщение получит адресат вместо слова «привет» и останется в полном недоумении, если не знает закономерностей ключа.
Алгоритм шифрования на Python выглядит так:

На первый взгляд ничего непонятно. Но закономерность и правила в коде четко прослеживаются.
ord(char): функция, которая принимает символ и возвращает его в таблицу ASCII значений. Здесь символам и знакам присваивается числовое значение. Например, ord(‘A’) вернется из таблицы в виде 65, так как это ASCII-код для заглавной буквы ‘A’.
chr(…): эта функция принимает число (ASCII-код) и возвращает его в виде буквенного соответствующего символа. Например, chr(65) вернет ‘A’.
Сдвиг: символов означает, что мы перемещаем каждый символ на определенное количество позиций в алфавите. Например, если мы сдвигаем ‘A’ на 1 позицию, мы получаем ‘B’.
Есть ещё один пример кода, который реализует сдвиг символов:
Возьмём абракадабру «tajnykluc» в качестве ключа, и таблица подстановок будет выглядеть примерно так:

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

Для генерации таблицы необходим ключ. Например, тот же самый выдуманный «tajnykluc», который очищается от повторений. Ключ добавляется в начале, оставшиеся буквы алфавита идут после него. Для каждого символа текста необходимо найти соответствующий символ в таблице подстановки.
Для расшифровки формируется таблица дешифрования, которая получается из таблицы замены сортировкой по заменяющим символам.
На английском шифр выглядит так:

Доступность метода позволяет новичкам быстро освоить основы и погрузиться в царство алгоритмов и логики.
Для тех, кто пока ещё осваивается в мире программирования, но по-прежнему мечтает создать свой собственный шифр, есть ещё одно технологическое решение – генератор хэшей SHA512, уникальный хранитель данных. Он создан для того, чтобы обеспечить сохранность и целостность информации в критически важных приложениях. И это независимо от того, работаете ли вы в области веб-безопасности, криптографических протоколов или блокчейн-приложений. Цифровой шифр помогает понять, всё ли в порядке с вашими данными. Он, как отпечаток пальца, уникален и неповторим. И самое интересное – из хэша невозможно вернуть исходную информацию. Поистине уникальный хранитель данных.
Создать индивидуальный шифр с помощью генератора хэшей можно и самостоятельно, достаточно следовать простым шагам:
В онлайн-генераторе вводится текст или данные, которые нужно хэшировать, в специальное поле ввода. После этого нужно воспользоваться специальной кнопкой – и инструмент мгновенно сгенерирует хэш SHA512 для ввода. Копируем хэш и используем сгенерированный вариант для хранения паролей, проверки файлов или криптографических целей. И потом, никто не запрещает сочетать этот вид шифрования с другими методами, например, с симметричным алгоритмом блочного шифрования – AES (Advanced Encryption Standard). В конце концов, вы – изобретатель, вам и карты в руки.
Если вам всё-таки важна творческая составляющая при создании собственного шифра, технологическое решение есть и для вас – музыка. Музыка вечна на только на сцене, но и в шифровании.
Можно отправить кому-нибудь звуковой файл с гимном страны или песней из фильма «Титаник», в котором зашифрован пароль в виде картинки. Кто-то знал, но не умел, некоторые впервые об этом слышат. На самом деле всё просто:
- Ищем или создаём изображение, которое нужно зашифровать (можно обойтись без изображений и зашифровать текст). Надпись делается в любом графическом редакторе, изображение сохраняется в формате JPG.
- Запускаем программу Coagula. С помощью File → Open image выбираем сохраненное JPG-изображение.
- Ищем в меню Sound → Render without blue, где изображение преобразуется в звуковые помехи.
- Создаём аудиофайл и сохраняем его в формате WAV через File → Save Sound as. Аудиошифр готов к отправке кому угодно. Непосвященные в азы криптографии злоумышленники услышат только странные звуки и шум.

Чтобы вернуть звуки обратно в визуальный формат, понадобится утилита под названием Audacity. После установки открываем аудиофайл. С помощью клавиш Shift + M выбираем опцию «Спектрограмма».
И перед глазами предстанет зашифрованный пароль или тот самый секрет, который вы хотели раскодировать.

Создание собственного шифра – одновременно сложный и полезный процесс. Понимая принципы криптографии и экспериментируя с различными техниками шифрования, вы сможете разработать систему – тот самый шифр, который будет отвечать всем вашим потребностям и бытовым нуждам. Однако даже самые надежные шифры развиваются, проверяются и совершенствуются только с течением времени, поэтому процесс шифрования данных стоит всё-таки оставить профессионалам.
А пока можно попробовать разгадать шифр, который мы спрятали в этой статье.
Удачи.

Римская империя пала. А у нас есть научный контент, который не выживает, а побеждает!
Спасибо!
