La criptografía es una rama de las matemáticas que, aplicada a la computación, permite comunicar mensajes de manera segura, confidencial, íntegra y autenticada. Para que te familiarices con los conceptos más importantes de este campo de estudio, a continuación te presentamos un glosario de criptografía de bloques y stream.
Glosario de criptografía de bloques y stream – Parte 1
En la primera parte de este glosario de criptografía de bloques y stream, encontrarás la definición de los principales algoritmos, funciones y conceptos de la criptografía de bloques.
Cifrado de bloques
El cifrado de bloques es una operación que permite convertir un bloque de texto plano (con un tamaño definido) a un bloque de texto cifrado del mismo tamaño.
DES
El Data Encryption Standard fue un algoritmo de cifrado de bloques que se desarrolló y estableció como estándar en Estados Unidos. No obstante, es posible romperlo por medio de un ataque de fuerza bruta.
AES
El Advanced Encryption Standard es un algoritmo de cifrado por bloques que se utiliza como estándar y sirvió para reemplazar al DES.
Modo de operación de cifrado por bloques
Un modo de operación de cifrado por bloques es un algoritmo que permite cifrar varios bloques (no solo uno).
Padding
🔴 ¿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 padding es el sistema de relleno que utiliza cada modo de operación de cifrado por bloques para completar los datos faltantes del último bloque. En la mayoría de casos, si el tamaño del último es bloque, se incluye todo un nuevo bloque de padding.
CBC
El modo de cifrado CBC (cipher-block chaining) funciona haciendo una operación XOR entre el texto plano de un bloque y el texto cifrado del bloque anterior. Para el primer bloque se utiliza un valor conocido como vector de inicialización.
ECB
El modo de cifrado ECB (electronic code-book) encripta cada bloque por partes con una misma clave. Por eso, es vulnerable a ataques y no se utiliza de forma habitual en comunicaciones web.
Vector de inicialización
Un vector de inicialización (IV) es un valor que se utiliza para dar comienzo a un algoritmo que emplea estos números para mejorar su seguridad. Cada IV es diferente, pues puede ser aleatorio, no aleatorio o pseudoaleatorio, de acuerdo al algoritmo de cifrado.
SHA
Secure Hash Algorithm es una familia de algoritmos de cifrado que comprende las versiones (SHA-0, SHA-1, SHA-2 y SHA-3). Las primeras versiones se pueden romper, pero las siguientes aún se utilizan como estándar en la industria.
Bit-flipping
Un ataque de cambio de bits permite modificar uno o más bits de un texto cifrado con el fin de modificar el resultado del siguiente bloque. Esto, aunque parezca inofensivo, puede resultar en la desencriptación total de un mensaje.
CTR
El modo CTR o counter es un método de cifrado por bloques, en el que a cada bloque de texto se le hace una operación XOR a partir de un texto cifrado generado con un sistema de contador.
GCM
El modo GCM (Galois/Counter Mode) funciona igual que el método con contador, pero incluye un sistema de autenticación que lo convierte en el modo de cifrado ideal.
Nonce
Un nonce es un número aleatorio que se junta con una cadena de datos con el fin de aumentar la seguridad o permitir el funcionamiento de un algoritmo de cifrado. Tiene diferentes usos y es un término famoso por utilizarse en criptosistemas como el Bitcoin y los modos GCM y CTR.
Glosario de criptografía de bloques y stream – Parte 2
En esta segunda parte del glosario de criptografía de bloques y stream, nos concentraremos en el método de stream.
Criptografía de stream
La criptografía de stream funciona con un flujo de claves generado de forma pseudoaleatoria, que sirve para cifrar y descifrar la información. El funcionamiento es similar al de la libreta de un solo uso, pero la ciencia consiste en el desarrollo de un keystream seguro. Se usa en tecnologías de streaming como la transmisión en vivo de vídeo.
Flujo de claves
Un flujo de claves o keystream permite hacer la criptografía de stream y consiste en la generación de una clave infinita que cambia con el tiempo y sirve para cifrar y descifrar los datos. Es necesario un generador de números aleatorios bien ejecutado para desarrollar un keystream seguro.
PRNG
PRNG (pseudo random number generator) o generador de números pseudoaleatorios se utiliza para la creación de flujos de claves seguros. Se basa en generar un valor que parezca aleatorio, pero que en realidad parta de una “semilla” que funciona de forma similar a un IV.
¿Cómo aprender mucho más?
Consulta este glosario de criptografía de bloques y stream cada vez que necesites aclarar un concepto relacionado con estas dos tecnologías. Si quieres convertirte en un experto, accede a nuestro Ciberseguridad Full Stack Bootcamp y especialízate en hacking ético, criptografía y mucho más. ¿A qué estás esperando? ¡Inscríbete ya y triunfa en esta rama del sector IT!