Переселяться будут не семь миллиардов человек, и даже не семь миллионов. Семь тысяч смогут и захотят сменить привычную жизнь человека земного на неведомую, полную приключений, опасностей, невзгод и открытий жизнь Космовыпи.
Куда лететь? Разглядываю небо в новоприобретённый телескоп.
Кивино гнездо: Закономерные случайности
Как известно, генераторы случайных чисел, или RNG (от Random Number Generator), обеспечивают работу криптографии. Иначе говоря, играют важнейшую роль в безопасности коммуникаций и защите информации, хранимой в компьютерных устройствах.
Однако детерминированная природа цифрового компьютера такова, что в нём, с технической точки зрения, довольно сложно реализовать хаотический процесс для генерации подлинно случайных чисел. Поэтому и приходится повсеместно применять так называемые PRNG, то есть алгоритмы генерации псевдослучайных чисел, лишь похожих на случайные в той или иной степени. А всякая, даже малейшая, предсказуемость ключей в криптографии – это заведомая слабость, чреватая компрометацией.
Конечно же, разработчиками постоянно предпринимаются попытки исправить эту неприятную ситуацию. Одна из наиболее интересных за последнее время конструкций для «генератора случайностей» была представлена в августе этого года корпорацией Intel – на конференции Hot Chips 23, проходившей в Стэнфордском университете, США.
Инженерам исследовательского центра Intel Circuit Research Lab в г. Хиллсбро, штат Орегон, удалось-таки сконструировать внутри микросхемы настоящий DRNG, или Digital RNG – чисто цифровой (без аналоговых компонентов) генератор случайных чисел, используя исключительно производственные процессы КМОП-технологии.
Чтобы стало понятнее, насколько долгим и непростым был путь к этому успеху, имеет смысл хотя бы вкратце вспомнить предысторию данной разработки.
Первая попытка Intel внедрить в обычные компьютеры генератор подлинно случайных чисел была предпринята в 1999 году, когда появился существенно новый компонент чипсета Firmware Hub. Генератором случайных чисел в этом чипе являлась компактная аналоговая конструкция, работавшая на основе теплового шума, который имеется во всех резисторах электрических схем. Этот хаотический шум усиливался, а формируемый из него дрожащий сигнал изменял период цикла в относительно медленно тикающих часах.
Для каждого из тактов этих беспорядочно тикающих медленных часов схема чипа брала выход от вторых, быстро тикающих часов, которые регулярно и поочередно выдавали два бинарных значения — 0 и 1. В результате беспорядочной выборки значений с этого выхода и получалась случайная последовательность из нулей и единиц генератора.
Один из главных минусов этой схемы заключался в том, что аналоговая конструкция, необходимая для усиления теплового шума, потребляла немало энергии. Хуже того, из-за своих конструктивных особенностей данная схема работала постоянно – вне зависимости от того, нужны ли были для текущей работы компьютера случайные числа или же нет.
Другой существенный минус аналоговых компонентов внутри чипа – это серьёзные проблемы в тех ситуациях, когда приходит время менять производственные технологии, применяемые для изготовления процессоров.
Производственные линии для выпуска интегральных микросхем каждые несколько лет приходится обновлять из-за перехода к более мелким масштабам упаковки транзисторов. Для цифровых схем КМОП-технологии этот переход осуществляется довольно просто, а вот для каждого нового поколения аналоговых схем всё оказывается гораздо сложнее.
Аналоговые схемы требуют дополнительной конструкторской доработки, чтобы обеспечивать нужное соотношение «сигнал-шум». По мере того как происходит движение к наиболее передовым технологиям миниатюризации схем, напряжение питания в этих схемах стабильно понижается.
Это снижение напряжения попутно понижает мощность сигнала – без перемен в шуме устройства. Иначе говоря, понижается и уровень отношения сигнала к шуму, а значит, каждая модернизация неизбежно влечёт за собой тщательную переоценку параметров и комплекс тестирований для RNG. Ясно, что это чрезвычайно неудобно и обременительно.
Принимая во внимание все эти проблемы, в 2008 году конструкторы Intel всерьёз озаботились задачей по созданию такого генератора случайных чисел, который использовал бы в своей работе исключительно цифровые элементы схемы. Поначалу задачей полного избавления генератора случайных битов от аналоговых схем занимались исследователи Circuit Research Lab в Хиллсбро, а затем к ним подключились индийские коллеги из исследовательского центра Bangalore Design Lab.
Остроумное решение, которое в итоге было найдено, с полным правом можно называть парадоксальным. С формальной точки зрения, данная конструкция нарушает важнейшее правило в конструировании цифровых схем, согласно которому схема должна находиться в хорошо определённом состоянии, давая на выходе только логические 0 и 1.