it-swarm-es.com

Vector de inicialización con bloque de cifrado

¿Se utiliza el vector de inicialización para cifrar un bloque de datos siempre estático o dinámico? Si es dinámico, debería enviar el IV junto con la clave al destinatario, ¿verdad? Normalmente esto no sucede.

6
user1184

En los algoritmos de cifrado de bloques, el IV no es secreto. Solo la clave es secreta. La mayoría de las veces, un IV es solo un bloque de datos aleatorios y se envía junto con el mensaje cifrado al destinatario. En realidad, el IV puede considerarse un parámetro de algoritmo.

6
Jcs

En realidad, el IV no se utiliza para cifrar los datos. Se usa como el bloque -1 en los modos de encadenamiento.

En ciertos modos de cifrado de bloques, p. Ej. CBC , el cifrado alimenta la salida del bloque previamente cifrado, al siguiente bloque, normalmente mediante XOR con el texto plano antes de cifrar el siguiente bloque. Esto permite una difusión adicional y evita el reconocimiento de bloques idénticos de texto sin formato.

Pero, ¿qué hacer con ese primer bloque, donde no hay una salida de "bloque anterior" que pueda XOR con el primer bloque?
Aquí es donde entra el IV - es básicamente un dato aleatorio único, no secreto , que puede introducir en el primer bloque.
Nuevamente, esto proporciona difusión, tanto en el primer bloque como entre conjuntos de texto sin formato, p. Ej. si encripta el mismo texto sin formato dos veces, no querrá que sea obvio por el texto cifrado que son idénticos.
De ahí la necesidad de que el IV sea único (al menos diferente) y aleatorio.

Y sí, el IV en sí no es secreto, y definitivamente es necesario transmitirlo junto con el texto cifrado. No lo olvide, se supone que es aleatorio por uso.

3
AviD

El IV es dinámico. Se supone que es diferente para cada mensaje que cifre. (Para algunos modos, el IV puede ser aleatorio; para otros, puede ser predecible pero diferente para cada mensaje).

El destinatario necesita conocer la vía intravenosa para descifrar. Dependiendo de la biblioteca de criptografía que utilice, es posible que necesite o no enviar el IV explícitamente al destinatario. Al cifrar un mensaje, muchas bibliotecas de cifrado incluyen el IV como parte del texto cifrado. En este caso, si llama a la biblioteca de cifrado para cifrar su mensaje y transmitir el texto cifrado resultante al destinatario, el destinatario ya obtendrá el IV. Por lo tanto, es posible que esté enviando el IV al destinatario sin darse cuenta de que lo está haciendo, porque la biblioteca de cifrado lo incluyó en el texto cifrado para facilitarle la vida.

1
D.W.

En el modo CBC, esto hace que el texto cifrado resultante sea mucho más predecible y susceptible a un ataque de diccionario. Si se utiliza para cifrar varios flujos de datos, los ataques de diccionario son posibles, dado que los flujos tienen una secuencia de inicio común.

0
Gaurav Kasliwal