Inicio » Contenidos » Aplicaciones del álgebra a la criptografía: el criptosistema RSA (parte 4)

Mi email: framonde@mat.upv.es

septiembre 2024
L M X J V S D
 1
2345678
9101112131415
16171819202122
23242526272829
30  

Comentarios recientes

No hay comentarios que mostrar.
Videos interesantes

Introducción a la Teoría de Grupos: https://www.youtube.com/watch?v=RnqwFpyqJFw

Concepto de grupo: https://www.youtube.com/watch?v=g7L_r6zw4-c

Concepto de subgrupo y sistema generador: https://www.youtube.com/watch?v=3ydwbo2OrnA

Clases módulo un subgrupo (o clases laterales): https://www.youtube.com/watch?v=cIVUs2z0-lg

Sobre la clasificación de los grupos simples finitos: https://youtu.be/bKi1i_49yrw?si=ZJVOGfVU-LyEvNAW

Aplicaciones del álgebra a la criptografía: el criptosistema RSA (parte 4)

Vamos a diseñar ahora una «función de cifrado», es decir, una función $$C:\mathbb{Z}_n\rightarrow \mathbb{Z}_n$$ tal que, si $\overline{m}$ es el mensaje que Alice quiere cifrar (recordad que Alice ha «preparado» el mensaje para transformarlo en una clase de congruencia módulo $n$), el resultado del cifrado será la imagen de $\overline{m}$ por esta función, es decir, $C(\overline{m})$. Este será el valor que Alice enviará a Bob.

La función de cifrado se define de la siguiente manera: $$C(\overline{x}):=\overline{x}^e$$ para todo $\overline{x}\in \mathbb{Z}_n$ (¡OJO! Aquí la «barrita» superior significa «clase módulo $n$»). Dicho de otro modo, para cifrar el mensaje $\overline{m}$, Alice calculará la clase de $\mathbb{Z}_n$ consistente en multiplicar la clase $\overline{m}$ consigo misma $e$ veces (con el producto en $\mathbb{Z}_n$, claro está).

Por ejemplo, consideremos las claves del anterior ejemplo e imaginemos que el mensaje que quiere cifrar Alice es $\overline{m}=\overline{12423}\in \mathbb{Z}_{25877}$. Entonces se tiene que $$C(\overline{m})=\overline{12423}^{e}=\overline{12423}^{1321}=\overline{14946}\in \mathbb{Z}_{25877}.$$ Este es el mensaje que Alice envía a Bob.

Vamos a diseñar ahora una «función de descifrado», es decir, una función $$D:\mathbb{Z}_n\rightarrow \mathbb{Z}_n$$ tal que, si Bob aplica esta función al mensaje $C(\overline{m})$ que le ha enviado Alice, obtiene el mensaje original $\overline{m}$. Dicho de otro modo, tal que $D(C(\overline{m}))=\overline{m}$. Un poco de reflexión nos hará concluir que, lo que queremos es que $C$ sea una función biyectiva y $D$ sea su inversa.

Esta función de descifrado $D$ se define de la siguiente manera: $$D(\overline{x}):=\overline{x}^d$$ para todo $\overline{x}\in \mathbb{Z}_n$.

En el caso de nuestro ejemplo, si aplicáis esta función de descifrado $D$ a $C(\overline{m})=\overline{14946}$ obtendréis $$D(C(\overline{m}))=D(\overline{14946})=\overline{14946}^{d}=\overline{14946}^{17881}=\overline{m}.$$

¿Por qué esto funciona? ¿Cómo se justifica? Lo veremos en el siguiente post.