pues si, los números aleatorios, se eligen mediante un algoritmo en función del reloj de la cpu, pero hay mas, resulta que al elegir numeros aleatorios, estos se basan en una semilla que obviamente no es aleatoria (Dado que los números aleatorios NO EXISTEN ) Por ejemplo en algunos lenguajes de programación, si intentamos hacer que el programa elija un número aleatorio, cada vez que ejecutemos este programa, seguirá la misma secuencia, también en estos lenguajes, existen funciones para cambiar la semilla por lo que podremos obtener números pseudo-aleatorios.
Venga espero haberte aclarado la duda hasta otra