Para encriptar los datos necesitamos un algoritmo de encriptación y una llave. Los datos que se intercambian se encriptan para preservar su confidencialidad.
El algoritmo más utilizado es DES (Data Encryptation Standard) que se ha mostrado vulnerable. Una variante de este algoritmo es 3DES que utiliza los mismos principios de encriptación pero con 3 llaves. Es decir, es más seguro. Estos 2 métodos de encriptación se ven cada vez más sustituido por otro llamado AES, más seguro aún.
La desventaja de ese método es que intercambiamos una llave entre emisor y receptor que podría ser interceptada.
Se utiliza principalmente por su rapidez de ejecución (por ejemplo cuando montamos un túnel VPN-IP). Se llama método simétrico.
Para evitar el intercambio de claves entre emisor y receptor podemos utilizar un metodo de encriptación basado en una clave pública y una clave privada. Funciona de la siguiente manera:
El receptor del mensaje descifra la información con su clave privada. La intercepción de su clave pública no permite deducir la clave privada. Se evita también el intercambio de claves entre emisor y receptor.
El protocolo que se utiliza en ese caso se llama RSA. Se trata del método asimétrico.
La gran ventaja de trabajar con este mecanismo es que podemos utilizarlo a la inversa:
El emisor envía su mensaje cifrado y el receptor (o cualquier otro) puede descifrarlo utilizando su clave pública. Además, el receptor deduce que el mensaje recibido solo podía venir del emisor (porque es capaz de descifrarlo).
Existen organismos que se encargan de crear y difundir claves públicas. Cuando se emite una clave pública se encriptan además unos datos propios del usuario para crear lo que llamamos un certificado (clave pública + datos de usuario). Los organismos que generan esa clave se llaman PKI (Public Key Infrastructure).