Algoritmo Asimetrico Modernos
Algoritmo Asimetrico Modernos
Algoritmo Asimetrico Modernos
Las parejas de claves tienen varias y muy importantes funciones, entre las que destacamos:
Cifrar la información.
Asegurar la integridad de los datos transmitidos.
Garantizar la autenticidad del emisor.
Cifrado Asimétrico
Si una persona con una pareja de claves cifra un mensaje con la llave pública del receptor,
ese mensaje sólo podrá ser descifrado con la llave privada asociada. Si encriptamos un
mensaje con la clave privada, no podremos desencriptarlo con la propia clave privada,
deberemos usar la pública (en este caso no se considera cifrado, sino que se comprueba la
autenticidad del emisor, con ello comprobaremos que el emisor es quien realmente dice
ser).
La estructura matemática del funcionamiento del cifrado asimétrico es esta:
Mensaje + clave pública = Mensaje cifrado
Mensaje encriptado + clave privada = Mensaje descifrado
Mensaje + clave privada = Mensaje firmado
Mensaje firmado + clave pública = Autenticación
Cifrado Asimétrico
Ventajas Desventajas
La ventaja del cifrado asimétrico sobre el El principal inconveniente que tiene este
simétrico, radica en que la clave pública tipo de cifrado es la lentitud, el empleo
puede ser conocida por todos los de este tipo de claves ralentiza el
usuarios del sistema, sin embargo, no proceso de cifrado de la comunicación.
ocurre esto con la clave privada, y por La solución a esto es usar tanto el cifrado
parte del cifrado simétrico deben asimétrico como el simétrico
conocer la misma clave los dos usuarios
(y la clave debe hacerse llegar a cada
uno de los distintos usuarios por el canal
de comunicación establecido).
Ejemplo
El ejemplo claro de donde se usa este tipo de método combinado son las VPN, como
OpenVPN o IPsec, en ellas, la clave de sesión que es conocida por los usuarios, se
regenera cada cierto tiempo para incrementar aún más la seguridad en la
comunicación, sin que ello conlleve un retardo significativo en la transferencia de los
datos.
El HTTPS para las conexiones web seguras, o en las conexiones SFTP/FTPES
Esta combinación de cifrados sucede de la siguiente manera. Creamos la clave del
algoritmo simétrico, la ciframos con la clave pública del receptor, enviamos los datos
cifrados por el canal de comunicación inseguro, y a continuación, el receptor descifrará
los datos mediante su llave privada. Con la clave del algoritmo simétrico en los dos
puntos, es cuando puede empezar la comunicación mediante el cifrado simétrico, lo
que hace que la comunicación sea mucho más rápida que si usáramos solo criptografía
asimétrica en toda la comunicación.
Desafío-Respuesta
Para aumentar la seguridad, este método comprueba que el emisor es realmente quien
dice ser, para ello se envía un texto al emisor y éste lo cifrará con su clave privada (lo que
está haciendo realmente es firmarlo), el emisor nos enviará el texto cifrado (firmado) y
nosotros descifraremos la clave (comprobaremos la firma) aprovechando que tenemos la
clave pública del emisor, y por último, compararemos que el mensaje obtenido sea el
mismo que enviamos anteriormente.
Si algún usuario se hace pasar por el emisor real, no tendría la clave privada por lo que el
«desafío» no hubiera resultado satisfactorio y no se establecería la comunicación de los
datos.
Algoritmos de cifrado de clave asimétrica
Diffie-Hellman: Se trata de un algoritmo que permite crear una clave secreta entre dos
equipos informáticos que nunca han tenido contacto previo, a través de un canal
inseguro, y mediante el envío de solo dos mensajes.
RSA (Rivest, Shamir y Adleman): es un sistema criptográfico de clave pública desarrollado
en 1979, que utiliza factorización de números enteros. Es el primer y más utilizado
algoritmo de este tipo y es válido tanto para cifrar como para firmar digitalmente.
DSA (Digital Signature Algorithm): Este algoritmo como su nombre lo indica, sirve para
firmar (autenticar), pero no para cifrar información. Una desventaja de este algoritmo es
que requiere mucho más tiempo de cómputo que RSA.
Diffie-Hellman
Desventajas:
La seguridad depende de la eficiencia de los equipos.
Es más lento que los algoritmos de clave simétrica.
La clave privada debe ser cifrada por algún algoritmo simétrico.
Generando las claves RSA
Generando las claves RSA
Antes de que podamos enviarle un mensaje a alguien más, ese destinatario habrá
generado las claves. Veamos, matemáticamente, cómo hace este proceso.
Si lo igualamos a nuestro ejemplo del uso de la caja fuerte, sería equivalente a que el
destinatario creara las llaves, una para poder cerrar la caja (llave pública) y otra para
poder abrirla (llave privada). Este esquema sirve para lograr el denominado servicio de
confidencialidad, pero puede usarse también para lograr autenticidad
Generando las claves RSA
Cifrado y Descifrado
Cifrando un mensaje
Cifrando un mensaje
Descifrando el mensaje
Descifrando el mensaje
Conclusiones
Exactamente lo mismo que acabamos de ver, con una pequeña diferencia: los números
primos tomados son muy grandes, puesto que este es un algoritmo que basa su
seguridad en la complejidad computacional.
Debe aclararse que, más allá de los ejemplos simples que se mostraron, RSA es un
algoritmo perfectamente seguro en la actualidad, es decir, no existe una computadora
ni cluster de alto rendimiento que pueda romper el algoritmo en un tiempo aceptable.
No obstante, no es un algoritmo que pueda resistir al criptoanálisis cuántico, es decir, a un
ataque realizado implementando un algoritmo cuántico como el de Shor en una
computadora cuántica con cientos o miles de qubits, que además disponga de
corrección de errores y un control aceptable del ruido.
DSA
Este algoritmo es también puramente asimétrico, una desventaja de DSA es que quiere mucho
más tiempo de cómputo que RSA a igualdad de hardware. DSA se utiliza ampliamente como un
algoritmo de firma digital, es actualmente un estándar, pero DSA no se utiliza para cifrar datos,
solamente como firma digital. Este algoritmo se utiliza ampliamente en las conexiones SSH para
comprobar la firma digital de los clientes, además, existe una variante de DSA basada en curvas
elípticas (ECDSA), y está disponible en todas las librerías criptográficas actuales como OpenSSL,
GnuTLS o LibreSSL. Otra característica de DSA es la longitud de clave, la mínima longitud de clave
es de 512 bits, aunque lo más habitual es usar 1024 bits.
El algoritmo DSA es el utilizado de forma predeterminada por OpenSSH, el popular software del
servidor/cliente SSH que usamos ampliamente en cualquier servidor NAS, router o switch
compatible con este protocolo, además, tenemos también una compatibilidad perfecta con los
diferentes sistemas operativos, independientemente del software utilizado. DSA suele ser más
utilizado en SSH que el popular RSA.
Algoritmo de firma digital DSA
Algoritmo de firma digital DSA
Algoritmo de firma digital DSA
DSA
Ahora conoces los dos tipos de criptografía y las propiedades de cada una, con ello
sabrás dónde merece la pena usar un tipo y dónde el otro. Con el tiempo estos métodos
variarán o se actualizarán a unos más seguros, ya que con el crecimiento del rendimiento de
las computadoras se consigue potenciar los ataque a este tipo de método de seguridad,
pero ahora mismo, los que están vigentes y siguen usándose por no haber sido desbancados
aún, son los que acabamos de explicar.
Diferencias cifrado simétrico y asimétrico
Después de explicar cómo funcionan los diferentes tipos de cifrados, vamos a hablar de
las diferencias que hay entre el simétrico y asimétrico. Ambos permiten cifrar archivos y usar servicios
como el correo electrónico con mayores garantías, pero cuentan con ciertas peculiaridades en
cada caso.
La diferencia principal es que el cifrado simétrico utiliza una única clave. Por ejemplo, para enviar un
correo electrónico a otra persona ciframos ese mensaje con una llave. Cuando llega al destinatario,
éste tiene que usar esa misma clave para descifrarlo y poder leerlo. Por tanto, podemos decir que en
este caso el emisor y receptor van a utilizar la misma clave para ese mensaje. Previamente, antes de
enviar ese mensaje ambas partes deben comunicarse para conocer cuál es esa llave que van a
tener que utilizar.
En cambio, el cifrado asimétrico utiliza dos claves. Una de ellas va a ser privada, mientras que la otra
es pública. La clave pública va a encargarse de cifrar el mensaje de ese correo. La privada la va a
utilizar el destinatario para descifrar el mensaje. Esto hace que sea más sencillo distribuir las claves y
también es más seguro, ya que la clave privada no la va a conocer nadie más.
Diferencias cifrado simétrico y asimétrico
En este sentido, el cuidado que debemos tener es mayor en el caso del cifrado simétrico, ya
que al compartir las claves pueden terminar en malas manos. El cifrado asimétrico no va a
poner en riesgo la clave privada, por lo que no debemos de tener tanto cuidado en ese
sentido para poder estar protegidos.
Otra diferencia es la longitud de las claves. En el caso de la simétrica, puede ser más corta
que la asimétrica, que necesitan tener una mayor longitud. La asimétrica va a necesitar un
mensaje que ocupa más espacio y necesita más tiempo para procesarlo, además de que
requiere de mayor potencia de los equipos.
El tipo de algoritmos que se utiliza varía según el tipo de cifrado. En el caso del simétrico, utiliza
algoritmos como AES, DES, 3DES o RC4. Respecto al asimétrico, usa algoritmos como DSA o
RSA.
En definitiva, como has podido ver existen diferencias entre el cifrado simétrico y asimétrico. El
más reciente, el que además se utiliza más hoy en día, es el asimétrico. Es más seguro y ofrece
diferentes ventajas respecto al anterior, como hemos explicado. No obstante, tiene también
algunos puntos negativos, como es el hecho de necesitar una mayor longitud de clave y
tardar más en el proceso.