¿Qué es un vector de inicialización?

Autor: | Última modificación: 25 de julio de 2022 | Tiempo de Lectura: 2 minutos

¿Sabes qué es y para qué sirve un vector de inicialización en criptografía? Los modos de operación de cifrado por bloques son sistemas que permiten encriptar cadenas de datos que reúnen varios bloques. Algunos de ellos emplean una herramienta conocida como vector de inicialización o IV, por sus letras iniciales en inglés. En este post, te explicaremos qué es un IV, cómo se utiliza y, sobre todo, cómo generar uno de forma segura.

¿Qué es un vector de inicialización?

Un IV es un bloque de bits que se utiliza para encriptar el primer bloque de texto plano de un mensaje. Se usa principalmente en el modo de operación de cifrado por bloques CBC y debe cumplir con ciertas características determinadas para que se considere criptográficamente seguro.

Modo de operación CBC

Para entender qué es un IV, el mejor ejemplo se puede encontrar en el funcionamiento del modo de operación CBC.

El modo de operación de cifrado por bloques CBC (chipher-block chaining) es un sistema de encriptación en el cual se realiza una operación XOR entre el bloque de texto plano y el bloque de texto cifrado que le antecede, antes de ejecutar el respectivo algoritmo de bloques. Entonces, para cifrar el primer bloque de información, se utiliza un valor conocido como vector de inicialización (IV).

¿Cómo generar un IV seguro?

Un IV seguro cuenta con las siguientes características:

  • Es público y nunca debe reutilizarse.
  • El valor debe parecer aleatorio para quienes no conozcan la clave del algoritmo para crearlo.
  • No se debe poder encontrar la clave con la que se genera.
  • No se debe poder predecir a partir el IV anterior.

Un tipo de herramientas que se suelen utilizar para la creación de IV seguros son los generadores de números pseudoaleatorios, que son programas que permiten generar valores con estas características. Sin embargo, no todos los programas para generar números pseudoaleatorios son lo bastante seguros para usarlos en criptografía, ya que al romperse podrían revelarse todos los datos cifrados de un mensaje.

¿Cómo aprender más?

Ahora ya sabes qué es un vector de inicialización (IV) y para qué se usa en criptografía, pero aún queda mucho por aprender sobre el tema.. Si quieres continuar con tu proceso de formación y convertirte en un experto en ciberseguridad, nosotros tenemos la mejor opción para ti. Forma parte de nuestro Ciberseguridad Full Stack Bootcamp y especialízate en menos de 7 meses. ¡No sigas esperando e inscríbete ya!

[email protected]

¿Sabías que hay más de 24.000 vacantes para especialistas en Ciberseguridad sin cubrir en España? 

En KeepCoding llevamos desde 2012 guiando personas como tú a áreas de alta empleabilidad y alto potencial de crecimiento en IT con formación de máxima calidad.

 

Porque creemos que un buen trabajo es fuente de libertad, independencia, crecimiento y eso ¡cambia historias de vida!


¡Da el primer paso!