Cifrado asimétrico vs simétrico

48

Actualmente estoy tomando una clase de principios de seguridad de la información. Mientras se habla de diferentes métodos de encriptación, un gran número de mis compañeros de clase parecen creer que el cifrado asimétrico es mejor (más seguro) que el cifrado simétrico. Una declaración típica es algo como esto:

  

Los esquemas de encriptación generalmente asimétricos son más seguros porque   requiere tanto una clave pública como una privada.

Ciertamente, con el cifrado simétrico tiene que preocuparse por el intercambio seguro de claves, pero, por lo que puedo decir, no hay una razón intrínseca por la cual una debe ser más segura que la otra.

Especialmente dado que la parte asimétrica a menudo solo se usa para el intercambio de claves y luego los datos reales se cifran con un algoritmo simétrico.

Entonces, ¿me falta algo o puedo hacer una declaración general como esta sobre qué es más seguro?

Entonces, si tengo un mensaje cifrado con AES y otra copia cifrada con RSA y todas las demás cosas son iguales, es más probable que se craqueen. ¿Se puede hacer esta comparación?

    
pregunta matthew 16.09.2011 - 20:24
fuente

6 respuestas

23

Hay un sentido en el que puede definir la fuerza de un algoritmo de cifrado particular¹: en términos generales, la fuerza es el número de intentos que deben realizarse para romper el cifrado. Más precisamente, la fortaleza es la cantidad de cómputo que se necesita hacer para encontrar el secreto. Idealmente, la fuerza de un algoritmo es el número de intentos de fuerza bruta que deben realizarse (ponderados por la complejidad de cada intento, o reducidos si algún tipo de paralelización permite varios intentos de compartir parte del trabajo); a medida que mejoran los ataques al algoritmo, la fuerza real disminuye.

Es importante darse cuenta de que el "algoritmo de cifrado particular" incluye considerar un tamaño de clave específico. Es decir, no está lanzando RSA contra AES, sino RSA de 1024 bits (con un modo de relleno específico) con AES-256 (con un modo de encadenamiento específico, IV, etc.). En ese sentido, puede preguntar: si tengo una copia de mis datos cifrados con el algoritmo A con valores dados de los parámetros P y Q (en particular el tamaño de la clave), y una copia cifrada con el algoritmo B con los parámetros P y R, entonces ¿Cuál de (A, Pval₁, Qval₁) y (B, Pval₂, Rval₂) es probable que se rompa primero?

En la práctica, muchos protocolos implican el uso de múltiples primitivas criptográficas. Diferentes primitivas tienen diferentes usos posibles, e incluso cuando varias primitivas pueden cumplir una función determinada, puede haber una que sea más adecuada que otras. Al elegir una primitiva criptográfica para un propósito determinado, el proceso de decisión es algo así:

  1. ¿Qué algoritmos pueden hacer el trabajo? → Puedo usar A o B o C.
  2. ¿Qué fuerza necesito? → Quiero 2 operaciones N , así que necesito el tamaño de clave L A para primitiva A, L B para primitiva B, L C para C primitiva
  3. Dadas mis restricciones (velocidad bruta, latencia, eficiencia de la memoria, ...), cuál de estos (L A -bit A o L B -bit B o L < sub> C -bit C) es mejor?

Por ejemplo, digamos que su requisito es un protocolo para intercambiar datos con una parte en la que no confía. Entonces, la criptografía simétrica no puede hacer el trabajo por sí sola: necesita alguna forma de compartir la clave. La criptografía asimétrica como RSA puede hacer el trabajo, si permite que las partes intercambien claves públicas por adelantado. (Esta no es la única posibilidad, pero no entraré en detalles aquí). Por lo tanto, puede elegir la longitud de la clave RSA que tenga la fuerza adecuada para su aplicación. Sin embargo, el RSA es lento y engorroso (por ejemplo, no hay protocolos estándar para aplicar el cifrado RSA a un flujo, principalmente porque nadie se ha molestado porque sería tan lento). Muchos protocolos comunes relacionados con la criptografía de clave pública lo utilizan solo para intercambiar un secreto de duración limitada: una clave de sesión para algún algoritmo de criptografía simétrica. Esto se conoce como cifrado híbrido . De nuevo, elige la longitud de la clave de sesión de acuerdo con la fuerza deseada. En este escenario, las dos primitivas involucradas tienden a tener la misma fuerza.

¹ La misma noción se aplica a otros usos de la criptografía, como la firma o el hash.

    
respondido por el Gilles 17.09.2011 - 00:19
fuente
26

El cifrado simétrico y asimétrico son operaciones distintas que operan en contextos distintos, para distintos usos y distintos modelos de ataque. No tiene mucho sentido afirmar que cualquiera de los dos es "más seguro" que el otro (primero requeriría algún tipo de medida cuantificada de seguridad, que no es fácil de definir).

El cifrado asimétrico es más exigente : se trata de realizar que el cifrado y puedan publicar las formas de cifrar (la clave pública) sin revelar las formas de descifrar (la llave privada). Una implementación práctica requiere matemáticas, mientras que el cifrado simétrico consiste principalmente en revolver las cosas (no importa, es difícil hacer un buen trabajo de aleatorización; pero aún así, hay menos matemáticas involucradas).

Los sistemas comúnmente implementados (por ejemplo, SSL / TLS ) combinan el cifrado asimétrico y el cifrado simétrico (y algunas otras cosas también ) en protocolos que realizan algún trabajo previsto (por ejemplo, "túnel bidireccional con confidencialidad, integridad y autenticación").

    
respondido por el Thomas Pornin 16.09.2011 - 20:46
fuente
18

La elección entre cifrado simétrico y asimétrico depende del caso de uso .

El cifrado simétrico se utiliza para compartir información entre un conjunto de personas a las que todos tendrán acceso. Además, el cifrado simétrico es bueno porque es más fácil de entender (es menos probable que se estropee) y los algoritmos tienden a ser más rápidos.

El cifrado asimétrico se utiliza cuando un gran número de subconjuntos de personas pueden compartir información. Además, la criptografía asimétrica se puede utilizar a la inversa para firmar documentos. Esto es especialmente interesante porque permite a las personas certificar que una clave pública pertenece a una determinada persona.

En un conjunto de 10 personas, lo que permite que cada par de personas se comunique de forma segura, requiere 45 claves únicas (9 + 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1). Y ahora piense en Internet en lugar del pequeño grupo de 10 personas. Es obvio que esto no se puede manejar con claves simétricas.

En el mundo real, ambos tipos se combinan a menudo. Se utiliza un enfoque asimétrico para confirmar la identidad de un compañero de comunicación y para transmitir algo que resultará en una clave simétrica. Esta clave simétrica se usa para el cifrado de los datos reales.

    
respondido por el Hendrik Brummermann 16.09.2011 - 23:12
fuente
10
  

Los esquemas de cifrado generalmente asimétricos son más seguros porque requieren una clave pública y una privada.

No. No puedes decir eso. Eso es una tontería. Simplemente no es cierto.

La fuerza es independiente de simétrico contra asimétrico. La criptografía simétrica y la criptografía asimétrica son dos tipos diferentes de herramientas criptográficas. Cada uno puede ser débil o fuerte, dependiendo. No hay razón alguna para que la criptografía asimétrica sea necesariamente más fuerte que la criptografía simétrica.

Por ejemplo:

  • AES es más seguro contra ataques criptoanalíticos que RSA de 512 bits, aunque RSA es asimétrico y AES es simétrico.

  • RSA de 4096 bits es más seguro contra ataques criptoanalíticos que RC4 de 40 bits, aunque RC4 es simétrico y RSA es asimétrico.

respondido por el D.W. 17.09.2011 - 01:00
fuente
4

Estoy de acuerdo con lo que Thomas dijo anteriormente. Tanto el cifrado simétrico como el asimétrico son operaciones distintas.

El cifrado simétrico es menos costoso que el cifrado asimétrico. Caro como en requiere menos procesamiento. Para ser exactos, me refiero al proceso de descifrado.

Y es por esto que SSL / TLS usa una combinación de cifrado simétrico y asimétrico. El cifrado / descifrado asimétrico entre dos pares durante una transacción SSL / TLS solo ocurre durante el intercambio de manos inicial. Una vez que ambos pares acordaron una clave privada compartida, el resto de la comunicación estaría utilizando un cifrado simétrico. Al hacerlo, la única operación costosa se llevará a cabo durante el protocolo inicial y el resto de la comunicación utilizará un cifrado simétrico que requiere menos recursos.

    
respondido por el Chun Tat David Chu 16.09.2011 - 22:47
fuente
-3

En el cifrado asimétrico con criptografía de clave pública, hay un intercambio de claves públicas que podrían ser interceptadas por un hombre en el medio. Esa es una gran debilidad, que el cifrado simétrico no tiene. Dado que el gobierno de los EE. UU. Está realizando una vigilancia masiva, existe una posibilidad real de que MIM sea un lugar común. El uso de claves predeterminadas con algoritmos simétricos y el uso de números realmente aleatorios parecería ser menos vulnerable que confiar en el intercambio de claves públicas.

    
respondido por el vrtjason 15.12.2014 - 22:02
fuente

Lea otras preguntas en las etiquetas