Esto podría obtener mejores respuestas en crypto.stackexchange.com o math.stackexchange.com , pero creo que puedo darte una idea general.
Si nos alejamos de las palabras y echamos un vistazo a algunos números, podría ayudar a ilustrar.
Tomemos, por ejemplo, un código de cuatro dígitos para un bloqueo.
Hay 10 dígitos posibles (0-9) y cuatro espacios donde se pueden ingresar, por lo que hay 10 * 10 * 10 * 10 = 10 ^ 4 = 10,000 combinaciones posibles.
Si dice que no puede haber dígitos que se repiten, entonces en el primer espacio tendría 10 dígitos posibles, en el segundo 9, en el tercero 8 y finalmente en 7 dígitos posibles en el último espacio.
Esto deja 10 * 9 * 8 * 7 = 5,040 combinaciones posibles, o aproximadamente la mitad.
Si aplicamos esto a su creador de contraseñas, tomaríamos la cantidad total de palabras que está usando como posibilidad (la mayoría de los sistemas Unix vienen con un diccionario en inglés con alrededor de 200,000, por lo que podemos usar este número por ahora), y número total de palabras en su contraseña (utilizando 6 como mínimo recomendado por Diceware).
Esto significa que, sin ninguna restricción en la repetición, hay exactamente 200,000 ^ 6 = 64 combinaciones no posibles de contraseñas .
Si tuviera que rechazar cualquier palabra que se repitiera, habría 200,000 * 199,999 * 199,998 * 199,997 * 199,996 * 199,995 ≈ 63.995 combinaciones de contraseñas no posibles.
Eso es una diferencia de aproximadamente .00008%.
Como puede ver, con un diccionario de al menos 200,000 palabras únicas y un espacio clave de seis palabras, la diferencia entre la ausencia de restricciones de contraseña y la limitación de palabras repetidas es insignificante.
Esta diferencia tendría entonces un efecto igualmente insignificante en la resistencia de la contraseña al craqueo.
EDITAR
LieRyan ha señalado que Diceware usa una lista de palabras de 7776 palabras comunes y fáciles de escribir. Si quisiéramos ver la diferencia con una lista de ese tamaño, se vería algo así como:
No hay restricciones: 7776 ^ 6 ≈ 2.21 sextillion combinaciones posibles.
No Repeticiones: 7776 * 7775 * 7774 * 7773 * 7772 * 7771 ≈ 2.2064 sextillion combinaciones posibles.
Diferencia: ~ 0.19%
Echemos un vistazo a lo que eso significa para alguien que intenta descifrar su contraseña.
Supongamos que su adversario es capaz de un billón de conjeturas por segundo.
-Edward Snowden, 2014
Si tomamos esta estimación (énfasis), dividiríamos el número total de combinaciones posibles por el número de conjeturas / segundo para obtener el total de segundos tomados para aplicar fuerza bruta a cada combinación de la lista de palabras.
Es decir, 2.2 combinaciones de sextillones / 1 trillón de adivinanzas / seg = 2.2 mil millones de segundos = 69.72 años (comparado con 70.03 años sin restricciones de contraseña)
Este es el tiempo promedio que tomaría un cracker de contraseñas bien financiado y equipado (con acceso a una copia de su lista de palabras) para aplicar una contraseña con este método.