Коллектив Авторов - Цифровой журнал «Компьютерра» № 84
- Название:Цифровой журнал «Компьютерра» № 84
- Автор:
- Жанр:
- Издательство:неизвестно
- Год:неизвестен
- ISBN:нет данных
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Коллектив Авторов - Цифровой журнал «Компьютерра» № 84 краткое содержание
Таркан Манер (Wyse) o смартфонах и соцсетях Автор: Ирина Матюшонок
ТерралабЧетыре видеорегистратора Автор: Олег Нечай
Автомобильные видеорегистраторы Автор: Олег Нечай
КолумнистыВасилий Щепетнёв: Хроника Космовыпи Автор: Василий Щепетнев
Кивино гнездо: Закономерные случайности Автор: Берд Киви
Кафедра Ваннаха: Цена человека Автор: Ваннах Михаил
Дмитрий Шабанов: Заговор эволюционистов Автор: Дмитрий Шабанов
Василий Щепетнёв: Направление исхода Автор: Василий Щепетнев
Кафедра Ваннаха: Сдал сопромат… Автор: Ваннах Михаил
Александр Амзин: Немного зажрались Автор: Александр Амзин
Василий Щепетнёв: Тусклая жизнь космовыпи Автор: Василий Щепетнев
Дмитрий Вибе: Уходящая натура Автор: Дмитрий Вибе
Голубятня-ОнлайнГолубятня: Один раз увидеть Автор: Сергей Голубицкий
Голубятня: Parallels Desktop 7.0 Автор: Сергей Голубицкий
Цифровой журнал «Компьютерра» № 84 - читать онлайн бесплатно полную версию (весь текст целиком)
Интервал:
Закладка:
Остроумное решение, которое в итоге было найдено, с полным правом можно называть парадоксальным. С формальной точки зрения, данная конструкция нарушает важнейшее правило в конструировании цифровых схем, согласно которому схема должна находиться в хорошо определённом состоянии, давая на выходе только логические 0 и 1.
Элемент цифровой схемы может, конечно, пребывать краткие периоды времени в промежуточном состоянии переключения между двумя этими базовыми возможностями. Однако он никогда не должен оставаться балансирующим и неопределённым в том, каким путём следует двигаться дальше. Такого рода неопределённостей всегда стараются избегать, поскольку они вносят задержки в работу схемы и даже способны порождать сбои в работе системы.
Однако в конструкции нового генератора случайных чисел такое тяготение к балансированию стало не дефектом, а особенностью схемы. Можно сказать, что данная схема делает своей главной фишкой так называемый феномен «метастабильности» – обычно крайне нежелательный эффект при конструировании логических схем, использующих более одной тактовой частоты. Цифровой же генератор, созданный командой Intel, устроен таким образом, что здесь результатом метастабильности является в буквальном смысле каждый бит на выходе схемы.
Обычно выход с цифрового устройства принято брать в тот момент, когда он устоялся на определённом значении, будь это ноль или единица. А метастабильность – это то, что происходит, когда показание напряжения берётся во время перехода, так что бит пойман где-то в промежутке между нулём и единицей. В конечном счёте такой бит непременно перейдёт в одно из этих двух базовых состояний, однако нет способа предсказать, в каком именно он окажется.
Исследователи Intel умышленно стали снимать сигнал во время именно таких переходов, а кроме того, они усиливают эту случайность ещё больше, с помощью петли обратной связи настраивая метастабильность таким образом, чтобы бит падал в состояние 1 или 0 с примерно равной вероятностью. Превращая, по сути дела, данный процесс в электронный эквивалент подбрасывания монеты.

Конструктивно весь этот трюк реализован на основе пары инверторов (элементов схемы, у которых выходной сигнал противоположен сигналу на входе), циклически подсоединённых друг к другу, и двух довольно странно подключённых к инверторам транзисторов. Из-за этой «нелогичной» схемы подключения данная система в каждом такте работы на кратчайшее время подвисает между двумя своими базовыми состояниями — 0 и 1.
В идеальном мире такое неопределённое состояние системы теоретически могло бы длиться вечность. Однако в мире реальном даже самый минимальный всплеск теплового шума – какая-нибудь случайная атомная вибрация – внутри схемы обязательно подтолкнёт это симметричное, но крайне нестабильное состояние в одно или другое из стабильных состояний системы.
Иными словами, и здесь исход состояния для этой неопределённой ситуации в цифровой схеме определяется физически случайными свойствами теплового шума. По сути всё, что для этого потребовалось, – это подсоединить два дополнительных транзистора к часам, которые регулярно включают и выключают пару инверторов. Всякий раз, когда тактовые часы тикают, эта схема порождает один случайный бит. А коль скоро в современном микропроцессоре часы тикают с частотой порядка 3 гигагерц, генератор способен выдавать 3 миллиарда случайных битов в секунду.
Теоретически отсюда можно сделать вывод, что процессор имеет возможность просто снимать выходные биты от этой зашиты в него на аппаратном уровне схемы RNG, сразу подавать их в криптографическое приложение и считать свою задачу выполненной. В реальности, однако, эти биты случайны не до такой высокой степени, какую хотелось бы иметь в надёжной криптографии. Грубый поток битов, выходящих из базовой схемы – независимо от того, насколько она хороша, – всё равно может иметь нежелательные статистические сдвиги и корреляции.
А цель конструкторов Intel ставилась так, чтобы построить систему, которая генерирует не просто чисто случайные, а «высококачественные случайные числа», совместимые с общепринятыми криптографическими стандартами. В первую очередь, с критериями NIST SP800-90 Национального института стандартов и технологий США, соответствие которым гарантирует выдачу соответствующего сертификата, а значит, и повсеместное признание схемы в качестве надёжной криптотехнологии.
Чтобы гарантировать высокое качество случайных чисел, порождаемых новым DRNG, в Intel разработали специальный трёхэтапный процесс генерации. Помимо базовой аппаратной схемы (первый этап), данный процесс также предусматривает «кондиционер» (второй этап) и псевдослучайный генератор чисел (заключительный третий этап). В совокупности же вся эта конструкция получила кодовое наименование Bull Mountain.
Не вдаваясь в глубокие технические подробности, можно описать работу двух дополнительных этапов следующим образом.
С выхода аппаратного генератора на вход кондиционера случайные числа подаются пакетами по 512 битов. Этот пакет разбивается на два 256-битных числа, а суть работы кондиционера сводится к тому, что с помощью достаточно сложных, но быстрых математических криптопреобразований он доводит пару данных чисел до кондиций 256-битной последовательности, максимально близкой к статистически идеальному состоянию чисто случайного числа. Можно говорить, что суть этапа кондиционирования – это как бы концентрация всех тех шумовых случайностей, которые способна предоставить двухинверторная аппаратная схема.
Третий этап Bull Mountain объясняется тем, что, хотя новая аппаратная схема генерирует случайные числа из теплового шума намного быстрее, чем её предшественники, она всё ещё не настолько шустра, чтобы отвечать любым нынешним запросам к защищённым компьютерным коммуникациям. Поэтому, дабы позволить Bull Mountain выдавать случайные числа столь же быстро, как программные генераторы псевдослучайных последовательностей (но сохраняя при этом высокое качество подлинно случайных чисел), конструкторы добавили в схему ещё один уровень – PRNG с очень высокой скоростью «засева».
Этот алгоритм использует 256-битные случайные числа от кондиционера, чтобы засеивать ими криптографически надёжный (на основе стандарта AES) генератор псевдослучайных чисел, порождающий последовательности 128-битных чисел. Из одного 256-битного зерна этот псевдослучайный генератор способен выдавать огромное множество псевдослучайных чисел. Понятно, что, когда такие зёрна поступают со скоростью порядка 3 гигагерц, производительность генератора можно сделать очень большой.
Читать дальшеИнтервал:
Закладка: