Как компьютер выбирает случайное число?

Андрей Ларионов

программист

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

Подлинно случайное число никаким алгоритмом получить невозможно, хотя существуют более или менее удачные алгоритмы. Их уязвимости – периодичность появления одних и тех же чисел, зависимость друг от друга последовательных чисел, неравномерность распределения, обратимость.

Для получения случайного числа наиболее распространенный метод – обращение к внешнему источнику. Таковым чаще всего выступает счетчик тактов процессора. Некоторые программы отслеживают движения мышки и тому подобное.