¿Cifrando datos cortos solo con RSA?

3

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?

    
pregunta lumes 15.02.2015 - 21:00
fuente

2 respuestas

3

Bueno, usted dijo que "RSA es normalmente determinista", pero ese es el punto: RSA encriptación normalmente es no -determinista. Por "normalmente" me refiero a "cuando se realiza como se describe en el estándar relevante", es decir, PKCS # 1 . Tanto los métodos de cifrado RSA antiguos ("v1.5") como los nuevos ("OAEP") incluyen aleatoriedad, y eso es voluntario: esto es precisamente para evitar una búsqueda exhaustiva en el texto simple.

La operación que se encuentra en el núcleo de RSA (la exponenciación modular) es determinista, pero no te dejes engañar; El cifrado asimétrico RSA, al igual que cualquier otro cifrado asimétrico decente, es aleatorio.

(Algunas personas llaman a la exponenciación en bruto modular "libro de texto RSA" como si fuera un algoritmo por derecho propio, pero eso es incorrecto y confuso).

    
respondido por el Thomas Pornin 15.02.2015 - 23:30
fuente
1

Tienes razón en que tienes que introducir aleatoriedad para mitigar un ataque de texto simple elegido. No soy criptógrafo, pero observo que OAEP requiere una entrada aleatoria, y me parece suficiente. OAEP se inventó para este propósito.

    
respondido por el Bob Brown 15.02.2015 - 21:09
fuente

Lea otras preguntas en las etiquetas