Conocer los métodos criptográficos es importante para entender cómo las comunicaciones digitales se dotan de seguridad. Veremos la terminología utilizada en los diferentes tipos y lo que significa cada uno.
LA CRIPTOGRAFÍA EN LA ACTUALIDAD
El cifrado de datos es uno de los requisitos que los desarrolladores de software deben cumplir para garantizar la confidencialidad e integridad de los mismos.
En primer lugar, están los algoritmos de clave pública o también llamados de criptografía asimétrica. A continuación, los algoritmos de clave privada o criptografía simétrica. Por último, la criptografía híbrida, que une lo bueno de las dos anteriores. Además, se deben tener en cuenta las funciones hash.
En este primer artículo, veremos los algoritmos de clave privada.
ALGORITMOS DE CLAVE PRIVADA: EL ALGORITMO AES (Advanced Encryption Standard)
Desarrollado por los expertos en criptografía Joan Daemen y Vincent Rijmen gracias a un concurso público en el año 2000, el algoritmo se conocía inicialmente como Rijndael, que proviene de la mezcla de los nombres de dichos criptógrafos.
Más adelante pasó a denominarse AES, que significa Advanced Encryption Standard. Es uno de los algoritmos criptográficos por bloques más utilizados desde el año 2006.
Tipos de AES
El algoritmo AES se basa en una red de sustitución-permutación. Esto quiere decir que son bloques que combinan rondas donde se realizan sustituciones y permutaciones. Existen varios tipos de AES en función de la cantidad de bits que se utilice, variando la cantidad de rondas en función de los mismos :
- AES de 128 bits.
- AES de 192 bits.
- Y AES de 256 bits
Si el algoritmo es de 128 bits, se utilizan 10 rondas. En el caso de que sea de 192 bits, el algoritmo utiliza 12 rondasen y si el algoritmo es de 256 bits, se utilizan 14 rondas.
En la actualidad, los desarrolladores optan por utilizar AES de 256 bits ya que provee un mayor nivel de seguridad en comparación con los dos anteriores.
El algoritmo AES se caracteriza por ser rápido tanto en hardware como en software.
FUNCIONAMIENTO DEL ALGORITMO
Al tratarse de un algoritmo de clave privada, la clave utilizada para cifrar nunca debe ser desvelada ya que parte de la seguridad del algoritmo recae en la clave para cifrar. Las funciones básicas del AES se componen a través de cuatro etapas:
- ByteSub: en esta etapa, se hace una sustitución de elementos de una matriz por otra, generando una matriz de estado cuya finalidad es crear confusión.
- ShiftRow: en esta etapa, se realiza una permutación entre las columnas que componen la matriz de estado.
- MixColumn: en esta etapa se realizan operaciones entre la matriz de estado y una matriz constante.
- AddRoundKey: en esta etapa se emplea la operación lógica XOR entre la matriz de estado y la subclave generada. Destacar que en esta etapa realiza la generación de claves aleatorias.
AÑADIENDO UNA CAPA DE SEGURIDAD AL AES: MODOS DE OPERACIÓN
Existen varios modos de operación aplicables a algoritmos criptográficos por bloques que proporcionan una capa de seguridad más. Dichos modos de operación pueden ser los siguientes:
- ECB (Electronic Codebook)
- CBC (Cipher-Block Chaining)
- PCBC (Propagating Cipher-Block Chaining)
El modo más común utilizado junto con AES es el modo CBC.
Enigma – descifrando claves en la 2GM con métodos criptográficos
Uno de los ejemplos más conocidos del uso de clave privada es Enigma, una maquina de cifrado rotativo. Durante la Segunda Guerra Mundial, Alemania utilizaba este sistema de encriptación para sus comunicaciones diarias. Dicha clave se actualizaba a diario.
En Netflix está disponible la pelicula Código Enigma, basada en el libro del mismo nombre de Andrew Hodges. Cuenta la historia real de Alan Turing y cómo descifró Enigma con la construcción de la maquina Bombe.