Professional Documents
Culture Documents
asimétrica
¿Qué significa cifrar? Aplicar un algoritmo de cifrado determinado junto con una
clave, a una determinada información que se quiere transmitir confidencialmente.
Dentro del cifrado digital encontramos dos tipos de criptografía: simétrica y
asimétrica. En este artículo hablaremos sobre la Criptografía de clave
asimétrica.
La criptografía de clave asimétrica también es conocida como cable pública,
emplea dos llaves diferentes en cada uno de los extremos de la comunicación.
Cada usuario tendrá una clave pública y otra privada. La clave privada tendrá que
ser protegida y guardada por el propio usuario, será secreta y no la deberá
conocer nadie. La clave pública será accesible a todos los usuarios del sistema de
comunicación.
Los algoritmos asimétricos están basados en funciones matemáticas fáciles de
resolver en un sentido, pero muy complicadas realizarlo en sentido inverso, a
menos que se conozca la llave. Las claves públicas y privadas se generan
simultáneamente y están ligadas la una a la otra. Esta relación debe ser muy
compleja para que resulte muy difícil que obtengamos una a partir de la otra.
Las parejas de claves tienen funciones diversas y muy importantes, entre las que
destacan:
Cifrar la información.
Asegurar la integridad de los datos transmitidos.
Garantizar la autenticidad del emisor.
Desafío-Respuesta
Podemos comprobar que el emisor es realmente quien dice ser, para ello
enviamos un texto al emisor y éste la “cifrará” con su clave privada (realmente lo
firmará), el emisor nos enviará el texto “cifrado” y nosotros “desciframos” la
clave (comprobamos la firma) ya que tenemos la clave pública del emisor, y
comparamos que el mensaje obtenido sea el mismo que enviamos anteriormente.
Si alguien se hace pasar por el emisor real, no tendría la clave privada y el
desafío no hubiera resultado satisfactorio.
Firma digital
La firma digital permite al receptor de un mensaje que el origen es auténtico,
también podremos comprobar si el mensaje ha sido modificado. Falsificar una
firma digital es casi imposible a no ser que conozcan la clave privada del que
firma (y ya hemos dicho anteriormente que la clave privada debe estar guardada
y que no la debe saber nadie).
Hay dos fases para la realización de la firma digital:
Proceso de firma: el emisor cifra los datos con la clave privada y lo manda
al receptor.
Verificar la firma: el receptor descifra los datos usando la clave pública de
el emisor y comprueba que la información coincide con los datos
originales (si coincide es que no se ha modificado).
En las firmas digitales se hace uso de las funciones HASH como SHA256 y
SHA512 ya que como hemos comentado anteriormente, el cifrado asimétrico es
lento.
Diffie-Hellman
No es un algoritmo asimétrico propiamente dicho, se usa para generar una clave
privada simétrica a ambos extremos de un canal de comunicación inseguro. Se
emplea para obtener la clave secreta con la que posteriormente cifrar la
información, junto con un algoritmo de cifrado simétrico. Su seguridad radica en
la dificultad de calcular el logaritmos discreto de números grandes (DH también
permite el uso de curvas elípticas).
El problema de este algoritmo es que no proporciona autenticación, no puede
validar la identidad de los usuarios, por tanto si un tercer usuario se pone en
medio de la “conversación”, también se le facilitaría las claves y por tanto, podría
establecer comunicaciones con el emisor y el receptor suplantando las
identidades. Para evitar esto existen varias soluciones que mitigan y solucionan el
problema.
RSA
Este algoritmo se basa en la pareja de claves, pública y privada de las que ya
hemos hablado antes. La seguridad de este algoritmo radica en el problema de la
factorización de números enteros.
Ventajas:
Desventajas:
Inconvenientes:
RC5
Este algoritmo también cifra por bloques, tiene un tamaño variable de bloques,
pudiendo ser de 32, 64 o 128 bits. Permite diferentes longitudes de clave (hasta
2040 bits), y un número variable de iteraciones de hasta 255 (la seguridad del
cifrado aumenta exponencialmente cuanto mayor número de iteraciones).
IDEA (International Data Encryption
Algorithm)
Aplica una clave de 128 bits sin paridad a bloques de datos de 64 bits, y se usa
tanto para cifrar como para descifrar. La seguridad de este algoritmo deriva del
intercalado de operaciones de distintos grupos, adición y multiplicación modular,
y operadores XOR bit a bit.
Este algoritmo es mucho más robusto que DES, según numerosos expertos
criptográficos, IDEA es el mejor algoritmo de cifrado de datos existente en la
actualidad ya que existen 2¹²⁸ claves privadas que probar mediante el ataque de
fuerza bruta.
Seguridad de AES:
AES tiene 10 rondas para llaves de 128 bits, 12 rondas para llaves de 192 bits y
14 rondas para llaves de 256 bits. En el año 2006, los mejores ataques conocidos
fueron el 7 rondas para claves de 128 bits, 8 rondas para llaves de 192 bits, y 9
rondas para claves de 256 bits. Algunos criptógrafos muestran preocupación
sobre la seguridad del AES. Ellos creen que el margen entre el número de rondas
especificado en el cifrador y los mejores ataques conocidos es muy pequeño.
Otra preocupación es la estructura de AES. A diferencia de la mayoría de
cifradores de bloques, AES tiene una descripción matemática muy ordenada.
Recordemos que AES es usado en los cifrados wireless de los routers de los
hogares como método de cifrado (no clave) ya que en los routers podemos usar
una clave estática o una dinámica mediante un servidor Radius. AES también es
usado por OpenSSL y por supuesto en OpenVPN (ya que usa las librerías
OpenSSL) e IPSec.
La forma en que se gestionan estos bloques de mensaje, se denomina “modo de
cifrado”.
Por ejemplo, existe el AES-CBC, AES-CFB y AES-OFB, os voy a explicar qué
es exactamente esto que aparece en las librerías criptográficas como OpenSSL y
LibreSSL.
Si queréis saber más sobre los modos de operación del cifrado por
bloques, podéis leer este PDF.
Hasta aquí hemos llegado con los algoritmos de cifrado de clave simétrica. Ya
sabéis sus ventajas e inconvenientes, los tipos de cifrados que hay y los modos de
cifrar la información.