Permítanme preguntar si mi algoritmo simple instantánea tiene graves defectos ,para el uso de criptografía, o no. Que se supone que al azar cambiar el orden en una secuencia dada S[1..n] de la longitud n. Supongamos que tengo un buen generador de números aleatorios random() que devuelve un entero aleatorio en el rango [1..n].
while true
for i in 1..n
r=random()
swap S[i] and S[r]
Si no tiene fallos graves, ¿cuándo puedo terminar el bucle while? ¿Hay algún algoritmo conocido que también sea fácil de escribir en un programa de ordenador?
Gracias de antemano.