1. Dos claves distintas
La criptografía asimétrica supone un paso más en el nivel de seguridad y tiene las siguientes características.
Dos claves
Se basa den el uso de dos claves distintas:
- Pública --> No es secreta y compartida por emisor y receptor.
- Privadas --> Sí es secreta y sólo conocidas por el emisor y el receptor y distintas para cada uno de ellos.
- Sólo se transmite la clave pública.
- Nunca se transmite la clave privada que debe permanecer secreta y a salvo.
1. Autentificación de destino
- El emisor utiliza la clave pública del receptor, que es conocida, para encriptar el mensaje.
- El receptor utiliza su clave privada para desencriptar el mensaje.
En el ejemplo de han utilizado las claves de María, de forma que cualquier persona puede enviar un mensaje a María utilizando su clave pública, pero sólo María puede desencriptar sus mensajes por que es la única que posee su clave privada. Es decir, siempre se utilizan las claves del receptor.
- Se utiliza en protocolos de comunicación seguros como TLS/SSL, HTTPS, PGP
- Los algoritmos de este tipo más utilizados son RSA y ECC.
2. Autentificación de origen
Para certificar que el documento ha sido enviado por la persona correcta, lo que se conoce como no repudio.
- El emisor utiliza su clave privada, sólo conocida por él; se puede certificar que el mensaje ha sido enviado por Juan.
- El receptor utilizará la clave pública del emisor, que no es secreta, para desencriptar el mensaje.
- En este caso se utilizan las claves del emisor.
- Este tipo de encriptación asimétrica se utiliza en firmas y certificados digitales como el DNIe.
- También se utiliza para el mundo de las criptomonedas, pero hablaremos sobre ello más adelante.
Algoritmos
Los algoritmos de cifrado de clave asimétrica se basan en funciones matemáticas que son simples de calcular en una dirección, pero muy difíciles de revertir. Las más utilizados son:
- Diffie-Hellman
- No es un algoritmo asimétrico propiamente dicho, es un protocolo de establecimiento de claves, se usa para generar una clave privada a ambos extremos de un canal de comunicación inseguro.
- RSA
- El algoritmo asimétrico por excelencia, este algoritmo se basa en la pareja de claves, la pública y la privada de las que ya hemos hablado con anterioridad. La seguridad de este algoritmo radica en el problema de la factorización de números enteros muy grandes. Algunas características muy importantes de RSA es la longitud de clave, actualmente como mínimo se debe utilizar una longitud de 2048 bits, aunque es recomendable que sea de 4096 bits o superior para tener una mayor seguridad. Su principal desventaja es que es más lento que los algoritmos de clave simétrica.
- Su seguridad se basa en la dificultad para calcular la factorización de números primos grandes.
- ElGamal
- El algoritmo de ElGamal puede ser utilizado tanto para generar firmas digitales como para cifrar o descifrar.
- La seguridad del algoritmo se basa en la suposición que la función utilizada es de un solo sentido debido a la dificultad de calcular un logaritmo discreto.
- 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.
- ECC
- Criptografía de curva elíptica (ECC) utiliza las propiedades matemáticas de las curvas elípticas para producir sistemas criptográficos de clave pública. En el caso de ECC, la dificultad reside en la inviabilidad de calcular el logaritmo discreto de un elemento de curva elíptica aleatoria con respecto a un punto base conocido públicamente, o el "problema de logaritmo discreto de curva elíptica" (ECDLP).
- ECDSA.
- Elliptic Curve Digital Signature Algorithm es una modificación del algoritmo DSA que emplea operaciones sobre puntos de curvas elípticas en lugar de las exponenciaciones que usa DSA (problema del logaritmo discreto). Es el estándar de curva elíptica secp256k1 usado para el Bitcoin.
Lumen dice Para aclararnos un poco
Si te lias un poco con esto de las claves pública y privadas, te pondré un ejemplo para que lo veas claro:
Imagina la dirección de tu casa. Toda persona que desee enviarte una carta la debe conocer, es tu clave pública.
Pero sólo tu tienes la llave del buzón para recoger las cartas, esa llave es tu clave privada.
Para recoger tu correo necesitas las dos: tu dirección y la llave de tu buzón.
Si nadie tiene tu dirección nadie te podrá enviar correos y si pierdes tu llave, te llegarán las cartas pero no podrás leerlas.
¿A que no es tan complicado?
Kardia dice Si te interesa puedes ver estos vídeos
Existe un ataque de fuerza bruta que busca coincidencias, llamadas colisiones, probando todas las combinaciones posibles de 2 textos.
Se basa en la paradoja del cumpleaños, que se puede resumir diciendo que la probabilidad de que dos o más personas en un grupo de individuos hayan nacido el mismo día, es superior al 50% cuando el número de personas es igual o mayor que 23 sujetos.
¿Por qué pueden utilizarse las curvas elípticas para cifrar?