Какво е генератор на случайни числа?
Тех инфо | 11 януари 2022
Генератор на случайни числа, ГСЧ (Random number generator, RNG) е устройство, софтуер или комбинация от двете, предназначено да произвежда последователности от хаотични числа или символи, които са, с достатъчно висока вероятност, непредсказуеми. Базиран на различни физически явления и математически алгоритми, даден ГСЧ произвежда непрекъснати последователности от 0 и 1. В зависимост от целите и изискванията, тези двоични последователности могат да бъдат преобразувани в числа с различни формати и да се използват в много области, включително научни изследвания, математика, компютърни науки, икономика, хазартни игри и лотарии, криптография, цифрова сигурност и много други.
Генератори на псевдослучайни числа
Генераторите на псевдослучайни числа, ГПСЧ (Pseudorandom number generators, PRNG) са компютърни алгоритми, които произвеждат последователности от случайно изглеждащи числа. Тъй като компютрите, по своята същност, са детерминирани машини, макар и много бързи, числата, генерирани само с помощта на софтуер, са предсказуеми и не могат да се използват в приложения с критични изисквания за сигурност, каквито са например, в криптографията. С помощта на достатъчно изчислителна мощност, което изобщо не е проблем за съвременните компютри, генерираните от тези алгоритми шифри и криптографски ключове могат лесно да бъдат разбити. Въпреки това, за някои задачи свързани с изследвания и статистически анализи, тези псевдослучайни последователности могат да бъдат използвани. Едни от предимствата на този вид генератори са тяхната лесна реализация и много високата им скорост, дължащи се на факта, че те са изцяло софтуерно имплементирани.

Криптографски сигурни генератори на псевдослучайни числа
Някои от ГПСЧ използват специално проектирани софтуерни алгоритми, които притежават достатъчна степен на устойчивост срещу потенциални хакерски атаки и са известни като криптографски сигурни генератори на псевдослучайни числа, СГПСЧ (Cryptographically secure pseudorandom number generators, CSPRNG). Въпреки твърдението, че тяхната висока степен на сигурност позволява използването им в криптографията, практическата им приложимост остава все пак донякъде съмнителна. Съществува и хибриден подход, при който случайно число, генерирано от хардуерен ГСЧ, се използва единствено за задаване на началната стойност на алгоритъма на ГПСЧ, така наречената seed value. Общата характеристика на всички тези видове архитектури е, че по същество те използват софтуерно генериране на числата и следователно наследяват всички недостатъци на сигурността свързани с ГПСЧ.
Процесорно вградени генератори на случайни числа
Днес много производители на микроконтролери предлагат модели с вградени ГСЧ модули. Вътрешната архитектура, която използват тези модули, в повечето случаи, се състои от няколко кръгови осцилатора (ring oscillators), свързани в каскада генерираща на изхода серия от произволни битове. Скоростта им е много висока. Например, 32-битов процесор е в състояние да генерира 32-битово случайно число за всеки такт на процесора. Тъй като кръговият осцилатор е съставен от нечетен брой NOT-гейтове, свързани в пръстен, неговият изход осцилира между две нива на напрежение, представляващи 0 и 1. Важно наблюдение е, че осцилиращата честота има тенденция да е относително стабилна и предсказуема. Малките вариации в тази честота, наречени джитер (jitter), се използват като източник на ентропия. Тази ентропия обаче не винаги е достатъчна, за да осигури желаното ниво на непредсказуемост и като цяло необходимото качество на статистическото разпределение на генерираните последователности от битове. Поради тази причина, дори приемайки факта, че тези ГСЧ наистина са хардуерно имплементирани, използването им при задачи с високи изисквания към сигурността си остава под въпрос.
Хардуерни генератори на случайни числа

Както самото им име подсказва, хардуерните генератори на случайни числа, ХГСЧ (Hardware random number generators, HRNG; True random number generators, TRNG) използват някакъв физически процес (или феномен) като източник на първична ентропия. Тези устройства се основават на някои микроскопски явления, генериращи статистически случаен шум, който бива детектиран, усилен и оцифрован от специализирана електронна схема. По същество, тези феномени могат да се описват от законите на класическата физика, какъвто е случаят с т. нар. топлинен шум в резисторите, атмосферен шум в радиоапаратурите, вариации (jitter) в честотата на електронен осцилатор и много други. Процесите използвани за получаване на ентропия могат да бъдат и квантови, като радиоактивен ядрен разпад, лавинен шум в обратно свързан p-n преход, статичен шум (shot noise), фотонен шум детектиран при преминаването на светлинен лъч през оптичен разделител (beam splitter) и много други. Този вид процеси, според законите на квантовата физика, са напълно непредсказуеми. По този начин ХГСЧ са единственият избор при задачите, изискващи възможно най-висока степен на сигурност и непредсказуемост, преди всичко в криптографията и генерирането на сигурни криптографски ключове, цифрови подписи и интернет протоколите за трансфер на данни, лотарийните игри и др. Моля, прочетете повече за нашия USB квантов генератор на случайни числа.