Неформально, псевдослучайное число - это число, которое не является действительно случайным, но является «достаточно случайным» для большинства целей.
Компьютеры по своей природе являются детерминированными устройствами.Процессор выполняет определенные команды в определенном порядке, и программы контролируют, как процессор делает это.Следовательно, программам сложно генерировать случайные числа, потому что никакой детерминированный процесс не может создать случайное число.Таким образом, многие программы используют генератор псевдослучайных чисел , который представляет собой функцию, которая генерирует числа согласно некоторой детерминированной формуле, которые кажутся случайными, но на самом деле это не так.Большинство языков программирования предоставляют своего рода генератор псевдослучайных чисел для общего использования в программировании, и когда истинная случайность не нужна, они работают просто отлично.
Однако у них есть свои ограничения.В криптографических настройках во многих случаях требуется истинная случайность, чтобы, например, не дать злоумышленникам угадать работу системы и скомпрометировать ее.В этом случае можно получить действительно случайные числа с помощью специализированного оборудования, которое может усилить фоновый шум или использовать квантовые эффекты.Этот тип случайности чрезвычайно трудно генерировать, и поэтому он обычно не используется, если не требуется абсолютная непредсказуемость.