¿Sabes cuáles son los diferentes modos de operación del cifrado por bloques y para qué se utilizan? El cifrado por bloques se creó para convertir un bloque de texto plano en un bloque de texto cifrado. A pesar de que los algoritmos de bloques son seguros, tienen varias limitaciones, como que el tamaño de sus bloques sea siempre predeterminado.
En este post, hablaremos sobre cómo se encripta y desencripta un mensaje con varios bloques de información. Por tanto, a continuación, te explicaremos qué son los modos de operación del cifrado por bloques, cómo funcionan y para qué se usan en criptografía.
¿Qué son los modos de operación del cifrado por bloques?
Los modos de operación del cifrado por bloques son procesos que permiten cifrar y descifrar un conjunto de varios bloques de información. Cada uno de estos bloques tiene una limitación de tamaño, por lo que es necesario emplear varios para poder transmitir un mensaje largo. Los modos de encriptación permiten hacer esto de diferentes formas, dependiendo del tipo de algoritmo de cifrado que se utilice. A continuación, veremos cuáles son los principales:
EBC: Electronic Code-Book
El EBC (Electronic Code-Book) es el modo de cifrado por bloques más sencillo de todos. En este método, se dividen los mensajes en bloques y cada uno de ellos se cifra por separado por medio de la misma clave (k).
La desventaja de este método es que a bloques idénticos de texto plano les corresponden los mismos bloques de texto cifrado. Debido a esto, este modo de operación resulta demasiado fácil de romper y poco recomendable de utilizar.
CBC: Cipher-Block Chaining
En el modo de operación de cifrado CBC (Cipher-Block Chaining), a cada bloque de texto plano se le hace una operación XOR con el bloque de texto cifrado anterior. Así, cada uno de estos bloques depende de todo el texto plano que se haya procesado hasta ese punto. Para iniciar este proceso, se utiliza un vector de inicialización, conocido principalmente por sus iniciales en inglés IV, que corresponden al término initialization vector.
🔴 ¿Quieres entrar de lleno a la Ciberseguridad? 🔴
Descubre el Ciberseguridad Full Stack Bootcamp de KeepCoding. La formación más completa del mercado y con empleabilidad garantizada
👉 Prueba gratis el Bootcamp en Ciberseguridad por una semanaEl vector de inicialización (IV) tiene el mismo tamaño que el bloque, es público y nunca se debe reutilizar. El primer paso del modo de operación de cifrado CBC es realizar una operación XOR con el texto plano del mensaje y el IV. Después, se ejecuta el algoritmo de cifrado por bloques y se obtiene el primer bloque cifrado.
Luego, el ciphertext del primer bloque se utiliza para hacer nuevamente una operación XOR con el texto plano del segundo bloque. Al resultado de esta operación se le aplica el algoritmo de cifrado y así sucesivamente por cada bloque de la cadena.
CTR: Counter
El modo de operación CTR (Counter) sirve para cifrar un conjunto de bloques a partir de la generación de un flujo de claves. El flujo de claves o keystream sirve para reforzar la seguridad de la encriptación y cuenta con las siguientes características:
- Se genera de forma pseudoaleatoria, es decir, la clave parece estar hecha de forma aleatoria a simple vista.
- No se debe poder encontrar la clave del algoritmo a partir del keystream, esto es, no debe estar relacionada.
- No se debe poder predecir, lo que significa que no debe seguir un patrón identificable, ya que esto llevaría a romper el cifrado.
- No se debe reutilizar el keystream, sino que se debe crear uno nuevo cada vez para evitar que un atacante descifre el mensaje.
El CTR es uno de los modos de operación del cifrado por bloques más utilizados actualmente. Funciona encriptando cada bloque por separado y, curiosamente, el texto plano no es al que se le aplica el algoritmo de cifrado por bloques. Dicho algoritmo se ejecuta para un número que se crea mezclando un valor aleatorio con un “contador”, que tiene la mitad de bits del bloque y va desde el “0000” hasta el “9999”, en un ejemplo hipotético. Así es como se genera el keystream de este método, al cual se le hace una operación XOR con el texto plano y eso da el resultado final de la encriptación.
CFB y OFB: Cipher Feedback y Output Feedback
Al igual que el modo de operación CTR, el CFB (Cipher Feedback) y el OFB (Output Feedbak) son métodos que hacen que el cifrado de bloques funcione como una unidad de flujo (cifrado por bloques y por flujo). Es decir, el modo de operacion es realizar los XOR entre los bloques de texto plano y claves generadas de forma pseudoaleatoria para encriptar la información.
La diferencia entre estos dos modos de operación del cifrado por bloques radica en que, en el sistema OFB, al modificar un bit de información en el texto cifrado se produce un cambio en el texto plano, pero solamente en aquel bit que se encuentre en la misma posición. Por otro lado, si se modifica un solo bit del ciphertext en el sistema CFB, genera un cambio por completo en la salida de texto plano.
Ahora sabes cuáles son los diferentes modos de operación del cifrado por bloques y para qué se usan en criptografía. Si quieres seguir aprendiendo y especializarte en el campo de la ciberseguridad, te recomendamos revisar nuestro Ciberseguridad Full Stack Bootcamp, una formación intensiva con la que podrás convertirte en un experto en 7 meses. ¿A qué sigues esperando? ¡Inscríbete ya y alcanza tus metas en el sector IT!