Цифровой журнал «Компьютерра» № 84 (Журнал «Компьютерра») - страница 14


Конструктивно весь этот трюк реализован на основе пары инверторов (элементов схемы, у которых выходной сигнал противоположен сигналу на входе), циклически подсоединённых друг к другу, и двух довольно странно подключённых к инверторам транзисторов. Из-за этой «нелогичной» схемы подключения данная система в каждом такте работы на кратчайшее время подвисает между двумя своими базовыми состояниями — 0 и 1.

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

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

Теоретически отсюда можно сделать вывод, что процессор имеет возможность просто снимать выходные биты от этой зашиты в него на аппаратном уровне схемы RNG, сразу подавать их в криптографическое приложение и считать свою задачу выполненной. В реальности, однако, эти биты случайны не до такой высокой степени, какую хотелось бы иметь в надёжной криптографии. Грубый поток битов, выходящих из базовой схемы – независимо от того, насколько она хороша, – всё равно может иметь нежелательные статистические сдвиги и корреляции.

А цель конструкторов Intel ставилась так, чтобы построить систему, которая генерирует не просто чисто случайные, а «высококачественные случайные числа», совместимые с общепринятыми криптографическими стандартами. В первую очередь, с критериями NIST SP800-90 Национального института стандартов и технологий США, соответствие которым гарантирует выдачу соответствующего сертификата, а значит, и повсеместное признание схемы в качестве надёжной криптотехнологии.

Чтобы гарантировать высокое качество случайных чисел, порождаемых новым DRNG, в Intel разработали специальный трёхэтапный процесс генерации. Помимо базовой аппаратной схемы (первый этап), данный процесс также предусматривает «кондиционер» (второй этап) и псевдослучайный генератор чисел (заключительный третий этап). В совокупности же вся эта конструкция получила кодовое наименование Bull Mountain.