Nota de actualización (2022): la RAE ya acepta el verbo encriptar, pero se mantiene el texto original del artículo, como histórico.


De acuerdo a la Real Academia Española, la palabra encriptar no existe. Desafortunadamente, esta palabra es utilizada como un anglicismo de la palabra “encryption” y en el mundo de la seguridad de la información muchos profesionales la emplean como si fuera un término correcto. Pensando en ello, decidí hacer un pequeño artículo que introduzca algunas definiciones y usos básicos de la criptografía en el campo de la seguridad de la información.

El Diccionario de la Real Academia Española define criptografía como el arte de escribir con clave secreta o de un modo enigmático. Entonces la criptografía se vuelve un medio para mantener un nivel adecuado de confidencialidad e integridad de la información, a través del uso de las herramientas matemáticas aplicadas en programas de cómputo que cifran lo que quiere protegerse.

.

Conceptos clave: códigos, cifras, algoritmos y llaves

La criptografía utiliza la codificación como un método de escritura que consiste en sustituir las palabras por otras, cambiando un mensaje en texto plano a un formato diferente. Cuando se utiliza la codificación para transmitir un mensaje, regularmente el objetivo es asegurar la confidencialidad en la transmisión.

El cifrado es cuando se sustituyen las letras o los caracteres del mensaje original para crear uno que no cualquiera pueda leer. Existen dos métodos, por permutación y por sustitución. Por permutación es cuando se reorganiza la posición de los caracteres de un texto de acuerdo a un algoritmo, y la sustitución es cuando se cambia una letra o byte por otro mediante una serie de reglas predefinidas.

Un algoritmo es el método matemático que se emplea en el proceso de cifrar o descifrar la información, y uno de los conceptos principales de los algoritmos modernos es el de “llave”. La llave es utilizada por el sistema de cifrado como un parámetro de entrada para realizar el proceso de cifrado/descifrado. Es justamente la llave la que controla el comportamiento del algoritmo y brinda confiabilidad en el cifrado del mensaje.

Existen métodos simétricos y asimétricos de cifrado: en el primer caso, la llave con la que se cifra el mensaje es la misma que se debe utilizar para descifrarlo. En los métodos asimétricos las claves para cifrar y descifrar son diferentes y normalmente reciben el nombre de llave pública y llave privada, porque la primera es distribuida libremente mientras que la segunda se queda en posesión exclusiva del dueño de las llaves (algo cifrado con una llave privada sólo puede ser descifrado con su  correspondiente llave pública, y viceversa).

Con el uso de la criptografía ayudamos a mantener la confidencialidad de la información haciendo que los mensajes cifrados solo puedan ser descifrados por aquéllos que conocen la clave de cifrado, y también permite validar la integridad de la información detectando si el mensaje fue alterado.

¿Y cuántas llaves se necesitan para mantener la confidencialidad? Esto depende del tipo de método utilizado. Por ejemplo, para que dos entidades se comuniquen en un sistema simétrico se requiere solamente una, para el caso de tres entidades se necesitan tres llaves y para el caso de cuatro entidades se requieren seis, lo que quiere decir que para n cantidad de usuarios se necesitarán tantas llaves como combinaciones de n usuarios escogidos en pares se tengan, lo cual se puede resolver con la siguiente fórmula:

Donde:

n = cantidad de entidades o usuarios del sistema

x = número de llaves que serán necesarias

Por su parte, un sistema con cifrado asimétrico utiliza un menor número de llaves. La fórmula para determinar cuántas se necesitan es:

Ahora bien, aunque los algoritmos asimétricos son más complejos en su programación y requieren mayor poder de cómputo, son los preferidos porque al usar de maneras diferentes las llaves se pueden asegurar características distintas: confidencialidad, integridad o no repudiación. Lo anterior se debe al hecho de que en un sistema de llaves privadas y públicas aseguramos que cuando se cifra con una llave privada, el mensaje puede ser descifrado solo con la llave pública, la cual puede ser utilizada por cualquier persona, y cuando se cifra un mensaje con esa la clave pública solo puede ser descifrado con la clave privada con que se generó la pública.

Así pues, por ejemplo:

  • Si Julio cifra un mensaje con la llave pública de Héctor, sólo él podrá descifrar el mensaje con su llave privada, lo cual asegura la confidencialidad.
  • Cuando Julio cifra un mensaje con su llave privada, cualquiera que tenga la llave pública de Julio puede abrir el mensaje y estar seguro de que fue precisamente éste último quien envió el mensaje, lo cual asegura la autenticidad y no repudiación del mensaje.

Para los lectores que son nuevos en el campo de la seguridad y quieren aprender más sobre este tema, les recomiendo el libro “Matemáticos, espías y piratas informáticos” de Joan Gómez, que resulta muy interesante por la historia que cuenta, y aborda el tema de las matemáticas implicadas en los algoritmos de cifrado de manera muy didáctica, sin embargo comete el error de usar la palabra “encriptar”, lo que me llevó a recordar lo importante de los conceptos básicos y de mantener un lenguaje correcto que brinde validez a nuestro desempeño dentro del campo de la seguridad de la información.

[email protected]