Химики превратили молекулу в криптографическую машину

Tanmay Sarkar,Karuthapandi Selvakumar,Leila Motiei& David Margulies, Nature Communications, 2016

Израильские химики из Института Вейцмана разработали криптографическую систему на основе сложной органической флюоресцентной молекулы. Использование нового вещества напоминает хорошо известную технологию невидимых чернил, но на другом уровне: сообщения не только скрываются, но и зашифровываются, а для их прочтения нужен ключ или «молекулярный пароль». Описание системы опубликовано в журнале Nature Communications.

В основе системы — молекула, получившая название m-SMS. В ее составе присутсвуют одновременно три флюоресцентные группы (флюоресцин, сульфородамин B и нильский голубой), которые могут участвовать в неизлучательном переносе энергии (FRET). За счет наличия этих флюорофоров вещество имеет довольно сложный спектр, который тонко реагирует на присутствие в растворе других веществ. За взаимодействие с ними в молекуле отвечают несколько активных групп, распознающих, например, сахара или ионы металлов. Имеются также гидрофобные и ароматические группы, с помощью которых вещество может взаимодействовать с другой ароматикой — например, присоединяться к ДНК.

Все эти группы превращают m-SMS в своего рода криптографическую машину: при добавлении постороннего вещества спектр молекулы сильно и непредсказуемо меняется, что авторы и используют для кодирования сообщений.

Кодировка работает следующим образом. Сначала пользователь переводит текстовое сообщение в цифровую (десятеричную) форму с помощью обычного открытого кода. Затем к m-SMS добавляется некое вещество X, которое меняет его спектр. Этот спектр считывается спектрометром с шагом в 20 нанометров и полученные значения флюоресценции переводятся в цифровую форму. Зашифрованное сообщение получается за счет того, что пользователь прибавляет к цифрам своего сообщения данные спектра, полученного при взаимодействии с m-SMS вещества Х.

Теперь расшифровать исходное сообщение может только тот, кто обладает веществом Х, для чего ему нужно получить соответствующий спектр и вычесть его значения из зашифрованного сообщения. Авторы статьи проверили работоспособность такого подхода в эксперименте, где закодировали фразу «Сезам откройся» с помощью одномолярного раствора соды, выступившего в качестве «вещества Х».

Однако m-SMS может выступать не только в качестве генератора ключа, но и как самостоятельный носитель информации, защищенный паролем. Это обеспечивается тем, что m-SMS может образовывать метастабильные комплексы, спектры которых зависят от порядка добавления компонентов. Например, если добавить к m-SMS вещества в последовательности 1-2-3, то итоговый спектр будет отличатся от того, что мы получим, добавляя вещества в последовательности 3-2-1, 2-1-3, 3-1-2 и т. д. Это свойство позволяет использовать m-SMS как носитель информации.

Ученые демонстрируют пример посылки зашифрованного сообщения следующим образом. Отправитель посылает письмо с неким отвлекающим текстом и картинкой, на которую нанесена капля m-SMS. Получатель вырезает картину, экстрагирует вещество с помощью растворителя, доводит его до заранее обговоренной концентрации, а затем последовательно добавляет нужные вещества, составляющие «пароль». На каждом этапе он снимает спектры и использует их для получения ключа. Затем с помощью этого ключа можно расшифровать сообщение, полученное по открытому каналу. Таким образом, m-SMS позволяет одновременно использовать и преимущества стеганографии, и криптографии.

Авторы статьи утверждают, что подобное шифрование проводится довольно просто и не требует оборудования более сложного, чем портативный ручной спектрометр. В качества «X» могут быть использованы легко доступные вещества вроде соды и аптечных лекарств — например, одно из сообщений было закодировано учеными с помощью глазных капель. Однако на практике химическая крипто- и стеганография почти не используется вот уже почти сто лет, хотя исследования в этом направлении активно ведутся (их популярный обзор можно прочитать, например, здесь).

Александр Ершов



Нашли опечатку? Выделите фрагмент и нажмите Ctrl+Enter.