Primera Entrega Ema
Primera Entrega Ema
Primera Entrega Ema
MATEMÁTICAS Y APLICACIONES
23 de noviembre de 2023
Ejercicio: Encripta tu nombre de pila utilizando en método exponencial, con exponente k=17 y módulo
n=5963. Para ello debes agrupar los caracteres (letras o espacios) de dos en dos; si es un número impar
debes añadir un espacio en blanco al final. El resultado final tiene que ser una cantidad (mı́nimo 2) de
números menores que n. Hay que explicar los pasos que se dan y cómo se realizan las exponenciaciones.
¿Cómo lo desencriptarı́as?
Mi nombre es Tomás, por lo que agruparé mis letras en TO, MA y S . Convirtiendo a número quedarı́an:
29,24,22,10,28,36. De modo que se llega a los números 2924, 2210 y 2836 que codificaremos elevando
a 17 y módulo 5963. Para ello, tomemos 17 en base 2 como 24 + 20 y escribamos cada número (por
ejemplo, 2924) elevado a potencias de 2: 292416 ·29241 . Para calcular 292417 (mod 5963), hagamos: 29242 ≡
a(mod 5963), 29244 ≡ a2 (mod 5963) ≡ b(mod 5963) hasta 292416 ≡ r(mod 5963). Y finalmente se obtiene:
r · 2924 ≡ s(mod 5963), con s ∈ Z5963 .
1. Codificación
1
1.3. Codificación del 2836:
1.4. Resultado:
1.5. Desencriptación
Para desencriptar el resultado, debemos obtener el inverso de k=17 módulo 5963. Resolvamos la con-
gruencia siguiente:
17 · j ≡ 1(mod φ(5963))
En primer lugar calculemos φ(5963). Puesto que 5963=67·89, con 67 y 89 primos, φ(5963) = φ(67) ·
φ(89) = 66 · 88 = 5808. De modo que la congruencia queda 17 · j ≡ 1(mod 5808). Para resolverla
empleamos la identidad de Bézout con 17 y 5808. En primer lugar utilizamos el algoritmo de Euclides:
5808 = 17 · 341 + 11
17 = 11 + 6
11 = 6 + 5
6=5+1
1=6−5
= 6 − (11 − 6) = 2 · 6 − 11
= 2 · (17 − 11) − 11 = 2 · 17 − 3 · 11
= 2 · 17 − 3 · (5808 − 17 · 341)
= 1025 · 17 − 3 · 5808
2. Desencriptación
Para ello habrı́a que expresar cada número (llamémoslo a) como a1025 = a1024 · a y llevemos a cabo
el mismo procedimiento que en la encriptación, en este caso en diez pasos (1024=210 ). He hecho un
programa en Python que calcula estas congruencias con este método empleando un bucle:
2
Figura 1: Programa de desencriptación