Компьютерные технологии, молекулярная биология и биохимия. Как через синтез ДНК генерировать истинные случайные числа?

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

 В своё время для этого были разработаны физические методы генерации случайных чисел, такие как лавовая лампа, разработанная Кремниевой долиной [1], и Mersenne Twister, так называемый программный ГСЧ [2]. Из современных ГСЧ есть такой Intel RNG [3], который обеспечивает пропускную способность аж в 500 МБ /с. Такие аппаратные ГСЧ создают потоки битов в зависимости от крайне непредсказуемых физических процессов, что делает их полезными для безопасной передачи данных, поскольку они менее подвержены криптоаналитическим атакам. Важно отметить различие между истинными ГСЧ и псевдо-ГСЧ. 

Истинный ГСЧ использует недетерминированный (хаотический) источник для генерации случайных чисел, тогда как псевдо-ГСЧ создает детерминированную последовательность чисел, которая зависит от ввода (начального числа) [4]. Если входное начальное число известно, можно воспроизвести всю последовательность случайных чисел. Однако псевдо-RNG могут иметь лучшие статистические свойства и часто могут генерировать случайные числа быстрее, чем истинные RNG, и, таким образом, они по-прежнему могут быть популярными [5]. 

Однако наука движется вперёд, хакеры не дремлют и старые способы могут рано или поздно кануть в лету. Собственно, по этой причине учёные и придумали новый метод с использованием знаний в бимолекулярной химии. Суть его заключается в использовании беспорядочной химической природы путем синтеза ДНК цепочек, состоящих из случайных нуклеотидов. Для этого учёные провели сравнение трёх независимо синтезируемых ДНК цепей в промышленности, которые показали надёжное распределение нуклеотидов в виде 7 миллионов ГБ случайных распределений в одном цикле синтеза, которые спокойно могут считываться с помощью современных технологий секвенирования со скоростью приблизительно 300 кБ/c. 

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

Использование ДНК решает все эти, казалось бы, не решаемые задачи, поскольку ДНК обладает очень большим преимуществом в отличии от всех остальных методов, которое заключается в том, что отдельные молекулы в её синтезированной последовательности могут быть легко идентифицированы и проанализированы с помощью технологий секвенирования «некст-ген» поколения (NGS). В настоящее время все эти методы предлагают отличную производительность и позволяют нам читать отдельные молекулы и, таким образом, использовать ДНК как источник генерации случайных чисел. 

 Сами по себе технологии секвенирования для идентификации отдельных нуклеотидов в цепях ДНК используются с конца 1970-х годов. В биологии они применяются, например, в методах определения глобальных закономерностей бактериальной составляющей биосферы и требуют синтеза случайных нуклеотидов в определенных положениях праймеров для оценки гипервариабельных участков, например, гена 16S рРНК, на основании которых, потом строится таксономическая классификация и филогенетическое дерево.

Подобное дерево мы с Вами уже строили, когда доказывали родство хомяка с человеком. Другие применения случайного синтеза нуклеотидов можно найти в штрихкодировании ДНК (способ молекулярной идентификации), где с помощью уникальных молекулярных идентификаторов (UMI) можно устранить систематическую ошибку в накапливаемых копиях определенной нуклеотидной последовательности вовремя ПЦР. Таким случайным нуклеотидам согласно Номенклатурному комитету Международного союза биохимии принято давать символ N.  Собственно, данные учёные использовали именно эту возможность синтезировать случайный нуклеотид для каждой позиции, который аналогично обозначили буквой N в ДНК, которую они сконструировали.

Эта ДНК была сконструирована таким образом, чтобы случайная область из 64 нуклеотидов была связана с заданной прямой праймерной областью на одном конце и заданной обратной праймерной областью на другом конце (Рис.1). Общая длина этой спроектированной цепи ДНК составляла 105 нуклеотидов, включая две области праймера и случайную область. Затем эта цепь ДНК химически синтезировалась на специализированном оборудовании с использованием современных технологий твердотельного синтеза, чтобы получить физическую среду случайности (рис. 2).

Компьютерные технологии, молекулярная биология и биохимия. Как через синтез ДНК генерировать истинные случайные числа?

Случайные области, прямые и обратные праймеры, твёрдательный синтез и другие красивые слова могут быть Вам не понятны, поэтому я постараюсь перевести всё это на обывательский язык. Итак, учёные постарались сконструировать ДНК при помощи синтеза химических реакций, в которых не используются растворители. Т.е. учёные использовали строительные блоки ДНК (A, C, G, T), которые смешивались вместе, перед тем, как попасть в специальный связывающий их субстрат, где происходило начало их формирования в цепи ДНК в зависимости от их эффективности связывания с этим субстратом.

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

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

Тем не менее у авторов исследования данный анализ показал, что распределение четырех строительных блоков A, C, G и T не было полностью равномерным. Возможно это было связано со сложностью «природы» использованных промышленных цепей ДНК, а может быть и с применяемым методом синтеза. Так или иначе эти проблемы привели к тому, что основания G и T интегрировались в молекулы чаще, чем A и C, что означало смещение в сторону предсказательности возможных чисел при выводе их в физическое поле, что в свою очередь исключало возможность получить истинные случайные числа. Тем не менее, ученые смогли исправить эту ошибку с помощью алгоритма извлечения случайности по Фон Нейману, тем самым генерируя идеальные случайные числа (Рис.3).

Основная цель учёных заключалась в том, чтобы показать, что случайные явления в химической реакции могут быть использованы для генерации идеальных случайных чисел. Как показало данное исследование синтез ДНК по сравнению с другими методами в том числе и физическими имеет преимущество в том, что он может генерировать огромное количество случайностей, которые могут храниться в чрезвычайно маленьком пространстве «в одной пробирке». Можно считывать информацию повторно сколько угодно раз интерпретируя ее в цифровой форме, которую невозможно предсказать. Эта технология в будущем может быть очень прорывной, но это покажет время.

 

Второстепенные источники есть в основном источнике:

1) Noll, L. C., Mende, R. G. & Sisodiya, S. Method for seeding a pseudo-random number generator with a cryptographic hash of a digitization of a chaotic system. United States Patent (1998).

2) Matsumoto, M. & Nishimura, T. Mersenne Twister: a 623-dimensionally equidistributed uniform pseudo-random number generator. ACM Trans. Model. Comput. Simul. 8, 3–30 (1998).

3) Kwok, S.-H. et al. Information Security Theory and Practice. A Comparison of Post-Processing Techniques for Biased Random Number Generators (Springer, 2011).

4) Rukhin, A., Soto, J., Nechvatal, J. & Smid, M. A Statistical Test Suite for Random and Pseudorandom Number Generators for Cryptographic Applicationshttps://www.nist.gov/publications/statistical-test-suite-random-and-pseudorandom-number-generators-cryptographic (NIST, 2010).

5)Schneider, B. Applied Cryptography (John Wiley and Son, 1996).

Материал возможно появится в научном сообществе Фанерозой (https://vk.com/phanerozoi)

Основной источник:

https://www.nature.com/articles/s41467-020-19757-y

 

Источник

биохимия, днк, компьютеры

Читайте также