Seguridad informática

Cifrado asimétrico

Consiste en usar un algoritmo de cifrado que tiene un par de claves distintas, una para cifrar y otra para descifrar y son intercambiables entre sí.

A modo de ejemplo sencillo, establecemos la multiplicación como la función de cifrado y descifrado.

Buscamos un par de números que sean inversos multiplicativos entre ellos, y los escogemos como claves:

Si ciframos el número 66 (corresponde a la letra B en ASCII) multiplicándolo por la clave privada 3, nos dará el número 198.

La persona que quiera descifrar el número 198, sólo debe usar la otra clave (clave pública 1/3) y multiplicarla por el número 198, que nos vuelve a dar el mensaje original 66 (letra B).

Por ser los números inversos multiplicativos, las claves son intercambiables. Es decir, podemos igualmente cifrar con la clave pública y descifrar con la clave privada.

Para los cifrados reales, se usan otras funciones matemáticas, llamadas Funciones trampa.

Estas tienen la característica de ser prácticamente imposible (por ahora) encontrar el inverso de la clave que se usa como pública.

Las funciones trampa, también usan la misma operación para cifrar y descifrar, y las claves siguen siendo intercambiables.

Las claves reales usadas son mucho más largas, del orden de unos 256 o más dígitos.

También, se generan claves de distinto tamaño según sean para firma electrónica o para cifrar, por cuestiones de eficiencia computacional.

Red de cifra entre usuarios

Aunque las claves son intercambiables, para cifrar o descifrar, una de ellas la mantenemos en secreto (clave privada) y la otra se expone en en un listado accesible públicamente (clave pública).

Cuando el señor Amarillo quiere enviar un mensaje cifrado al señor Verde, busca en el directorio público la clave pública del señor señor Verde o le pide que se la envíe. Con esa clave cifra el mensaje y lo envía.

El señor Verde para descifrar, realiza la misma función, pero con su clave privada, que solo él conoce.

Para generar una red de cifra, debemos repartir una clave privada a cada usuario y generar un directorio público de claves públicas.

Cabe la posibilidad de que cada usuario genere su propio par de claves y exponga en un directorio público su clave pública. De esta forma ni el administrador del sistema puede conocer las claves privadas de los usuarios y por tanto la privacidad es absoluta.

Claves para grupos

Existen también claves de grupo. Según el tipo de números primos que se utilizan para generar claves, se pueden crear claves públicas que tengan varias claves privadas. De forma que un mensaje quede restringido solo al grupo que tiene esas claves privadas. Esto permite que distintos usuarios puedan descifrar un mensaje sin necesidad de compartir claves.

También permite dejar constancia de qué usuario ha leído el mensaje (no repudio), ya que todos tienen firma digital distinta, pues esta depende de la clave privada.


Artículos relacionados:

Volver al índice

Seguridad informática por juan@segura.pro está bajo licencia CC BY-NC-SA 4.0
Propiedad intelectual registrada