¿Cómo Proteger la Confidencialidad de un Mensaje?

 

La criptografía protege la confidencialidad de los mensajes

En el artículo explicamos lo fácil que es cifrar datos con la función exponencial y lo difícil que es descifrar con la función logarítmica. La criptografía busca:

  • Que sea fácil para nosotros ambas cosas cifrar y descifrar.

  • Y para nuestros atacantes que sea difícil.

 

Aritmética modular

La mejor manera de introducir la aritmética modular es pensar en un reloj. Los números van del 1 al 12, pero cuando llega a "13 en punto", es la 1 en punto:

Si el espacio del 1 al 12 lo llamamos Módulo con longitud n = 12, podemos escribir:

13 ≡1 module 12

  • “las 13 horas son equivalentes con la 1 modulo 12”

25 ≡1 module 12

  • “las 25 horas son equivalentes con la 1 modulo 12”

14≡ 2 module 12

  • “las 14 horas son equivalentes con las 2 modulo 12”

Definición del formato modular: D ≡ R modulo n;        donde:

  • D, R, n pertenecen a los números enteros.

  • R (Residuo), es menor que n, y resulta de dividir D/n.

Ejemplo1: determinar el valor de R en:

40 ≡ R module 17

 Paso 1: dividir 40/17

Paso 2: Seleccionar el residuo R = 6

Paso 3: Escribir en formato modular: 40 ≡ 6 mod 17

Paso 4: El resultado se lee “40 equivale a 6 en el módulo 17”

 

Ejemplo 2: determinar el valor de R en:

83 ≡ R module 51

 Paso 1: dividir 83/51

Paso 2: Seleccionar el residuo R = 32

Paso 3: escribir en formato modular: 83 ≡ 32 mod 51

Paso 4: El resultado se lee “83 equivale a 32 en el módulo 51”

 

Operación exponencial en formato modular

Definición de la función exponencial Y = bX, donde b= base y X= exponente. En formato modular seria:

Y = bX modulo n.

Si Y = C, b=m, X=e tendremos el formato modular:

C= me mod n, Donde:

C debe ser menor que n, y C = es el residuo de dividir   me/ n

  • Ejemplo 1: determinar el valor de C en:

C ≡ 53 mod 13

Paso 1:           53= (5)(5)(5) = 125

Paso 2:          dividir 125/13

Paso 3: Seleccionar el residuo C = 8

Paso 4: escribir en formato modular:          8 ≡ 53 mod 13

Paso 5: El resultado se lee “8 equivale a 53 en el módulo 13”

  • Ejemplo 2: determinar el valor de C en:

C ≡ 1005 module 211

Paso 1:           1005= 10,000,000,000 (diez mil millones)

Paso 2:          dividir 10,000,000,000/211

Paso 3: Seleccionar el residuo C = 196

Paso 4: Escribir en formato modular: 196 ≡ 1005 mod 211

Paso 5: El resultado se lee “196 equivale a 1005 en el módulo 211”

Observación: en el módulo 211, en lugar de utilizar el número diez mil millones, puedo utilizar 196, lo cual me simplifica las operaciones matemáticas (pero no así a un atacante).

 

La criptografía protege la confidencialidad con la matemática modular

Ahora aplicaremos la matemática modular para enviar un mensaje cifrado. Utilizaremos dos funciones exponenciales en formato modular:

función para cifrar:              C = me module n

función para descifrar:  m = Cd modulo n, donde:

  • “m” es el mensaje para enviar, también llamado texto plano.

  • “C” es el mensaje cifrado, llamado texto cifrado.

  • “e” exponente, debe ser un numero primo y puede ser conocido por todos (que llamaremos la llave publica)

  • “d” exponente, es el inverso multiplicativo de “e”, debe ser número secreto (llamaremos la llave privada), obtener con el algoritmo euclidiano extendido (método matemático avanzado).

  • “n” es un número que selecciona el que codifica y debe cumplir ciertos requisitos.

Ejemplo de un protocolo de confidencialidad

 Paso 1: Roberto desea enviar un mensaje (m) a su amiga Antonella, pero que nadie más conozca que la hora de la reunión será a las 4 de la tarde (16 horas).

Paso 2: Con ella previamente a acordado en utilizar las funciones:

  • Para encriptar o cifrar con la función C = me module n

  • Para descifrar el mensaje con la función m = Cd modulo n

Paso 3: Roberto recibe de Antonella, la clave publica e = 17 y el módulo n= 589. La clave privada “d” la tiene Antonella.

Paso 4: Generar simultáneamente la clave publica “e” y la privada “d” por métodos avanzados y muy seguros, pero en nuestro ejemplo lo obtenemos del sitio online:  Generador de claves

El módulo 540 resulta de aplicar la función totient de Euler a n=589 (la explicación en artículos posteriores).

Resultado = 413, es el inverso multiplicative de e = 17

Paso 5: Cifrado del mensaje m= 16 horas con la clave publica 17

C = me modulo n

C = 1617 modulo 589

Introduciendo los datos en el sitio online: exponenciación modular

Resulta C = 101.

Paso 6: Así Roberto envía a Antonella el texto cifrado C = 101. 

Paso 7: Descifrado del texto C con la llave privada d= 413, Antonella recibe C = 101 y calcula m:

m = Cd mod n

m = 101413 mod 589

Paso 8: En el sitio web introducimos los datos:

Resulta el mensaje m = 16, Antonella conoce que la reunión será a las 4 de la tarde.

 

Conclusiones:

  1. Para transmitir datos entre los componentes de la infraestructura de un sistema de informática, como una red local (LAN) o externa (Internet) como servidores, clientes, routers etc. el cifrado es la garantía, de que terceras personas, aunque tengan acceso no conocerán el mensaje.

  2. El estudio de la criptografía te ayudara a conocer cuan seguro es tu Sistema de información. Este es un ejemplo simplificado con fines educativos, en la practica la criptografía tiene algoritmos poderosos.

  3. En el siguiente articulo estudiaremos como la criptografía enfrenta la autenticación de un mensaje, es decir si el que lo envía es quien debe ser.

 
Carlos Sampson