Hay dos formas de ver si estos cambios le brindan más seguridad. El primero asume que los atacantes no conocen los cambios de creación de frase de contraseña que ha realizado. Si intentaron adivinar las frases de contraseña construidas a partir de todas las palabras en minúscula, entonces nunca adivinarán la tuya ya que están fuera del grupo de combinaciones adivinadas. Si intentaron adivinar los formatos de contraseña tradicionales o simplemente forzaron todas las posibilidades hasta una cierta longitud, entonces probablemente no adivinarán su contraseña a menos que sea corta (por ejemplo, si selecciona aleatoriamente dos palabras de tres caracteres). En este caso, es probable que haya mejorado la seguridad de su frase de contraseña, pero es casi imposible de medir.
El segundo enfoque, y en mi opinión mejor, es asumir que los atacantes conocen su sistema para crear frases de contraseña. Puede ser improbable, pero no fuera del ámbito de posibilidades que puedan capturar una de sus frases de contraseña o encontrar una almacenada en texto sin formato de una infracción del sitio. Esto podría permitirles adivinar su sistema al examinar lo que saben de estas otras frases de contraseña. O esto podría ser una modificación común que han aprendido que otras personas han hecho a sus frases de contraseña, por lo que consideran que vale la pena intentarlo.
En esta situación, los atacantes saben tomar dos palabras al azar y poner en mayúscula la primera letra. Por lo tanto, el hecho de que usted capitalice ambas palabras no le otorga ninguna 'entropía' o fuerza adicional contra su ataque. Si decidiera aleatoriamente si poner en mayúscula la primera letra o no, eso básicamente duplicaría su grupo de palabras posibles, ya que los atacantes tendrían que probar ambas versiones para cada palabra.
Realmente no dices cómo estás haciendo tu conversión de caracteres a dígitos. ¿Está haciendo un cambio de 'leet speak' para que "e" se convierta en "3" y "i" se convierta en "1"? ¿La sustitución es completamente aleatoria? De cualquier manera, creo que deberíamos saber qué palabras están en su diccionario y sus respectivas longitudes para estimar cuántas variaciones podría producir ese cambio. Esta es realmente la parte difícil.
Supongamos que todas sus palabras tienen siete caracteres y que los dígitos se eligen al azar antes de reemplazar una letra. Entonces, el número de candidatos para el reemplazo de dígitos sería 12, ya que no está cambiando las dos letras en mayúsculas (U). Deberá asignar todos los arreglos posibles de letras minúsculas (L) y dígitos (D):
U D D D D L L U L L L L L L
U D D D L D L U L L L L L L
U D D D L L D U L L L L L L
....
U L L L L L L U L L D D D D
Entonces necesitarías tomar el número de arreglos posibles y multiplicar eso por 10 ^ 4 (ya que cada ubicación de dígitos puede ser una de 10 caracteres). A menos que mi matemática esté equivocada, eso debería darle la posibilidad total de la contraseña. Luego, puede comparar eso con un total de frase de contraseña sin modificar para ver cuánta seguridad adicional ha agregado.
Pero, de nuevo, eso supone que todas las palabras en su diccionario tienen siete caracteres de longitud. Como es muy probable que este no sea el caso, necesitaría trazar posibilidades de dígitos para cada permutación posible de dos palabras para las diferentes longitudes de palabras. Puedo estimar que es un aumento de seguridad bastante importante, pero tendrás que trabajar los números para averiguar exactamente cuánto has ganado.