Генераторы случайных чисел бывают разные :)
Простейший вариант - монетка или игральная кость. Они дают случайный исход, т.к. имеется зависимость от начальных условий - невозможно два раза бросить кубик с одинаковой силой в одинаковом направлении. Или, например, лото, когда человек вытаскивает из мешка шарик с номером.
Но все эти способы неудобны, если нужно получить много случайных чисел и сделать это быстро.
Поэтому, работа современных генераторов случайных чисел основана на физических случайных процессах. Например, радиоактивный распад атомов или тепловой шум в резисторе (явление, при котором на концах проводника возникает флуктуирующая разность потенциалов из-за хаотичного движения электронов).
В обычных компьютерах радиоактивный распад, конечно, никто использовать не будет, а генерировать случайные числа нужно постоянно - этого требуют киптографические алгоритмы и многие другие. Поэтому обычно используется счетчик тактов процессора, шум в микрофоне или даже движения мыши.
Но и эти способы являются медленными. Поэтому, чаще всего с помощью специальных алгоритмов генерируются так называемые псевдослучайные числа - по многим параметрам их последовательность соответствует последовательности случайных чисел. Главное отличие состоит в том, что эти числа периодически повторяются
Как в игровых аппаратах генерируются случайные числа?