¿Por qué no se puede usar el algoritmo RSA para infraestructuras de clave simétrica?

-2

Si RSA es un algoritmo de cifrado utilizado para crear un par de claves asimétricas y una firma digital, ¿por qué no puede usarse también para crear una clave simétrica?

Incluso si se usa RSA para crear claves públicas, ¿por qué no se puede usar para crear claves simétricas?

    
pregunta Uriah Wardlaw 21.02.2018 - 00:28
fuente

2 respuestas

2

De hecho, usted puede crear claves simétricas con RSA. La matemática detrás de RSA lo permite. Pero si esto sucede, es un error horrible, y no tiene ningún sentido intentar hacerlo a propósito, porque nadie en su sano juicio querría usar RSA para el cifrado simétrico. Es mucho menos eficiente y nadie usa RSA para cifrar grandes cantidades de datos. Por lo general, solo se usa para cifrar una clave simétrica aleatoria o un hash (para firmas).

Básicamente, el libro de texto RSA funciona así: genere dos números primos pyq, luego determine un número entero e < (p-1) (q-1) de modo que e no tenga divisores comunes con (p-1) (q-1).

Ahora determine la inversa modular d de e, lo que significa que (e * d) mod ((p-1) (q-1)) = 1

Si tienes muy mala suerte, terminas eligiendo e, pyq para que e sea su propio inverso modular. Entonces terminas con e = d. Si eso sucede, ha creado una clave simétrica.

Esto siempre sucede tarde o temprano cuando hay personas que intentan comprender cómo funciona RSA creando claves de juguete con números muy pequeños p y q (lo que significa que puedes hacer los cálculos matemáticos en tu cabeza, pero también que RSA se puede dividir trivialmente) ). Considere, por ejemplo, p = 5, q = 7, e = 11.

Pensaría que las posibilidades de crear accidentalmente claves simétricas con números primos de tamaño completo (por ejemplo, al menos 1024 bits de longitud, y mejor que el doble) son mínimas, y se necesitaría un esfuerzo increíble para producir una a propósito utilizando un enfoque de fuerza bruta, que es otra razón por la que nadie lo hace (aunque podría haber una manera de elegir pyq de una manera que facilite encontrar un número que sea su propio inverso: alguien con experiencia en teoría de números) podría saber cómo hacer esto si es posible)

    
respondido por el Pascal 21.02.2018 - 00:46
fuente
0

Dejando de lado los muy buenos puntos hechos por @Pascal, debe señalarse que, cuando se usa correctamente , generalmente no puede crear una sola "clave" que sea simétrica en RSA (o cualquier otro algoritmo asimétrico) porque todo el punto de tales algoritmos es que la clave utilizada para el cifrado no se puede usar para el descifrado, y viceversa.

Como cuestión práctica, podría generar pares de claves (con componentes tanto públicos como privados) y tratar todo el blob como una clave "secreta" (simétrica). Las operaciones de cifrar / verificar usarían una parte del blob, y las operaciones de descifrar / firmar usarían la otra parte, pero se podría pretender que sería una clave única. Sin embargo, esta es una idea realmente tonta. Omite completamente el punto de criptografía asimétrica, y tendría problemas de rendimiento masivos (la criptografía asimétrica es extremadamente lenta, tanto para usar como para generar las claves, si se usan tamaños de clave seguros).

Tampoco es tan seguro. Vea, por ejemplo, la comparación del tamaño del módulo de clave RSA (pública) y los bits de seguridad efectivos (que en cualquier algoritmo simétrico decente es simplemente "el tamaño de la clave"; es decir, AES-128 usa claves de 128 bits y requeriría 2 ^ 128 adivina para forzar completamente el espacio clave) en esta pregunta .

Un gran problema potencial para RSA es si la computación cuántica alguna vez funciona, porque eso básicamente reducirá a la mitad la entropía de bits efectiva de la mayoría de los cifrados. Para AES, eso no es gran cosa; podemos cambiar de AES-128 a AES-256 y tener 128 bits de seguridad efectiva, lo que seguirá siendo completamente inverosímil para la fuerza bruta durante más de cien años, incluso si la Ley de Moore continúa su curso. Sin embargo, una clave RSA-2048 (probablemente el tamaño más común en uso hoy en día) se reducirá a 56 bits de seguridad efectiva: fuerza bruta en un día como ciudadano privado, desde hace unos años, RSA-4096 ( las claves RSA más largas que he visto en la naturaleza todavía estarían en problemas, y si quisiéramos la misma seguridad efectiva que AES-256 tendríamos que ir a RSA-15360. Dejando de lado que esto solo haría que la clave pública diera casi 2 KB de longitud, tomaría una enorme cantidad de tiempo generar o usar dichas claves.

    
respondido por el CBHacking 21.02.2018 - 01:30
fuente

Lea otras preguntas en las etiquetas