¿Puedo usar el modo CTR de AES para cifrar archivos con la misma clave y única?

2

Quiero cifrar los archivos almacenados en la tarjeta SD y estoy usando el modo CTR de AES para cifrarlo. La clave y el IV son fijos. Así que cada vez que cifro / descifro utilizo la misma clave y nonce. La mayoría de la gente sugiere no usar el mismo nonce repetidamente. En mi caso, ya que no es la comunicación entre dos partes, creo que es inofensivo. ¿Mi suposición es correcta?

    
pregunta Rak 22.05.2015 - 11:55
fuente

2 respuestas

4

No debes hacer esto.

AES en el modo CTR lo convierte en un cifrado de flujo, de modo que AES se convierte en un generador de números pseudoaleatorios criptográficos (PRNG) que genera una secuencia de bits pseudoaleatorios para usar como una cadena de teclas. Este flujo de clave de salida simplemente se xorea con el flujo de texto plano para producir texto cifrado. El uso de la misma clave e IV produce la misma secuencia de teclas cada vez, por lo que al reutilizar la clave y la IV, básicamente, se usa un pad de muchas veces.

Entonces, obtienes:

  

C 1 = M 1 K

     

C 2 = M 2 ⊕ K

Donde C es texto cifrado, M es el mensaje de texto simple, K es el flujo de clave producido por AES-CTR, y ⊕ denota una exclusiva -o operación (xor).

Al calcular el xor de esos dos textos cifrados, obtienes:

  

C 1 ⊕ C 2 = M 1 ⊕ K ⊕ M 2 ⊕ K

que, después de cancelar los dos valores de K (ya que x ⊕ x ≡ 0) nos da:

  

M 1 ⊕ M 2

Esto permite que un atacante sepa qué bits de M 1 son iguales a M 2 . Si conoce algunos bits de un mensaje (texto plano conocido), puede recuperar los bits correspondientes del otro mensaje. También puede emplear técnicas como el arrastre de cunas para descifrar completamente el mensaje completo.

Hay una gran respuesta en Crypto SE sobre cómo funciona exactamente este ataque.

Siempre debes usar un IV por mensaje para evitar este problema.

    
respondido por el Polynomial 22.05.2015 - 12:16
fuente
1

Con clave idéntica y IV, producirás texto cifrado idéntico para texto simple idéntico.

Escenario: envía mensajes a su agente a través de este esquema, y no se preocupe por la intercepción de los mensajes porque los ha cifrado. C1 lee:

Stock: Cacao-Cola Orden: Comprar Acciones: 1,000,000 Precio: > $ 20

Alguien roba tu tarjeta SD mientras no estás mirando y copia el texto cifrado. Luego, por otros medios, descubre que compró 100 acciones de coca-cola.

La coca cola sigue subiendo, así que compras más acciones. C2 lee:

Stock: Coca-Cola Orden: Comprar Acciones: 3,000,000 Precio: > $ 30

El atacante ha notado que la primera parte de su mensaje no ha cambiado. Más tarde, se observa la compra de 300 acciones de coca-cola. Ahora el atacante tiene una idea del formato de sus mensajes.

La coca cola se está disparando, por lo que decide comprar incluso MÁS acciones de coca cola. C3 lee

Stock: Coca-Cola Orden: Comprar Acciones: 5,000,000 Precio: > $ 40.

La primera parte del mensaje sigue siendo la misma, por lo que el atacante tiene una muy buena idea de que va a comprar acciones de Coca. No sabe cuántos, pero según lo comprado en el pasado puede tener una buena idea.

Por lo tanto, su cifrado ha sido frustrado. Otros mensajes de ida y vuelta solo romperán cada vez más el texto cifrado. Esto es similar al escenario que la NSA usó contra la Unión Soviética cuando los soviets reutilizaron una sola vez en el proyecto verona enlace

    
respondido por el Steve Sether 22.05.2015 - 20:30
fuente

Lea otras preguntas en las etiquetas