El cifrado es fundamental para la seguridad general de Internet. Hay diferentes sistemas de encriptación en uso hoy en día, pero generalmente todos funcionan codificando datos con la ayuda de un algoritmo matemático, encriptando la información en un código.
Uno de los estándares de cifrado más comunes en la actualidad es el Estándar de cifrado avanzado (AES). Es una variante del cifrado de bloques Rijndael y está disponible en tres tamaños de clave: 128, 192 y 256 bits.
Entonces, ¿qué es el cifrado AES-256 y cómo funciona?
¿Qué es AES?
AES es un estándar de cifrado de datos ampliamente adoptado que se usa en todo el mundo. Es el estándar federal utilizado por el gobierno de los Estados Unidos y ofrece seguridad y protección significativas.
AES es un tipo de cifrado simétrico, cual utiliza la misma clave para cifrar y descifrar tu información. Esencialmente, tanto el remitente como el receptor requieren la misma clave para descifrar los datos. El cifrado simétrico es más rápido, aunque es un poco menos seguro que el cifrado asimétrico.
¿Qué es un cifrado de bloque?
Para comprender cómo funciona AES-256, es importante comprender los cifrados de bloque. Un bloque simplemente significa una unidad de información dividida antes de ser encriptada. AES estándar utiliza un tamaño de bloque de 128 bits.
Para visualizar, 16 bytes multiplicados por 8 bits te dan 128 bits en cada bloque. Entonces, sin importar el tamaño de la clave, el tamaño del bloque sigue siendo el mismo. AES ha sufrido bastantes ataques pero aún no ha sido descifrado.
AES-256 es la versión más segura, aunque requiere una mayor potencia informática. Ante la amenaza inminente de criptografía poscuántica, muchos consideran que AES-256 es resistente a la cuántica, lo que significa que no se espera que las computadoras cuánticas descifren el cifrado.
¿Cómo afecta el tamaño del bloque a la seguridad?
El tamaño del bloque también tiene un efecto indirecto sobre la seguridad del cifrado. Esencialmente, cuanto más grande es el bloque, más datos se pueden cifrar sin que se dupliquen. Pero, si el tamaño del bloque es demasiado pequeño, puede afectar el uso seguro del cifrado.
Un cifrado de bloque está destinado a ser una permutación pseudoaleatoria, lo que simplemente significa que si las entradas son diferentes, las salidas también deberían diferir automáticamente. AES utiliza principalmente un tamaño de bloque de 128 bits, donde los datos se dividen en una matriz de 4x4 que contiene 16 bytes.
Sin embargo, aunque el tamaño del bloque no afecta directamente la seguridad del cifrado, sí afecta la seguridad del modo. Todos los cifrados de bloque generalmente se implementan en diferentes modos de operación, por lo que la seguridad de cada modo depende de dos elementos: la seguridad del cifrado de bloque en sí mismo y la seguridad del modo cuando el cifrado de bloque se reemplaza con un pseudoaleatorio permutación.
Esencialmente, cuantos más datos procese dentro de un modo de operación, más expone el modo, ya que el tamaño de bloque más pequeño da como resultado un aumento en la probabilidad de éxito opuesto. Con el tiempo, partes de la permutación, que están ocultas, siguen quedando expuestas y finalmente revelan la permutación completa.
Entonces, si tiene un cifrado de bloque de N bits y sabe que no es diferente de una permutación pseudoaleatoria de N bits, la seguridad de su cifrado se verá afectada si lo usa en un modo de operación. Para asegurarse de que la seguridad del modo no se vea afectada, es mejor usar un tamaño de bloque más grande.
¿Cómo cifra AES-256 sus datos?
El concepto básico del cifrado es que el cifrado reemplaza cada unidad de información por otra, dependiendo de la clave de seguridad. Por ejemplo, AES-256 completa 14 rondas de cifrado, lo que lo hace increíblemente seguro.
Los pasos implican dividir los datos en bloques, reemplazar diferentes bytes, cambiar filas y mezclar columnas, para codificar la información por completo. Al final del proceso, el resultado es un conjunto de caracteres completamente aleatorio que no tendrá sentido para nadie si no tiene la clave de descifrado.
AES-256 es el más largo y también el nivel más fuerte de encriptación que ofrece. Para poner las cosas en perspectiva, un pirata informático necesitaría probar 2256 combinaciones discretas, cada una con un total de 78 dígitos, para romper el cifrado.
En esencia, ¡el número es mayor que el número de estrellas en el universo! Esto lo hace impermeable a ataques de fuerza bruta y es el estándar de encriptación más poderoso del mundo.
Aplicaciones de AES-256
AES-256 es la variante más robusta, por lo que no siempre es ideal para el uso de aplicaciones simples. Sin embargo, los proveedores de VPN utilizan AES-256 y para proteger las bases de datos.
Las bibliotecas AES están disponibles para lenguajes de programación populares como C, C++, Java e incluso Python. Si usa un administrador de contraseñas como 1Pass o LastPass, probablemente ya esté utilizando AES-256 para cifrar información confidencial.
Incluso las aplicaciones de mensajería como WhatsApp utilizan el cifrado AES-256 para codificar los mensajes. Las computadoras modernas que usan procesadores Intel o AMD ya tienen instrucciones AES incorporadas, y casi todas las instituciones financieras confían en el cifrado AES para codificar información confidencial.
En resumen, AES está en todas partes.
El cifrado solo se fortalecerá
A medida que el mundo avanza hacia la descentralización y los piratas informáticos se vuelven más creativos, los estándares de cifrado solo se fortalecerán. Los estándares criptográficos ya requieren claves públicas y privadas para verificar las transacciones, por lo que solo puede esperar que los estándares de seguridad mejoren aún más.