Tengo un caso en el que necesito crear cuentas de recuperación y quiero crearlas para que nadie sepa la contraseña hasta / a menos que sea necesario. Por lo tanto, pensé que lo haría utilizando RSA: cuando la cuenta se crea a través del código, generará una contraseña aleatoria para la misma que luego también se cifra con una clave pública y se almacena para un posible uso posterior.
Dado que el texto plano será corto, digamos 160 bits con una contraseña alfanumérica de 20 caracteres, no hay necesidad de realizar el cifrado simétrico RSA- > AES. Sin embargo, eso me hace preguntarme sobre las implicaciones de seguridad:
Dado que un atacante podría obtener acceso a la clave pública y a la contraseña encriptada, un ataque de texto simple elegido podría intentar imponer la fuerza bruta a la contraseña ya que RSA es normalmente determinista. Sin embargo, si uso PKCS # 1 v1.5 padding (u OAEP), debería estar cubierto, ¿verdad? ¿O debería haber un relleno aleatorio (de todos modos) - el texto plano tiene un alcance y una longitud limitados?