Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Primera Entrega Ema

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 3

PRIMERA ENTREGA ELEMENTOS DE LAS

MATEMÁTICAS Y APLICACIONES

Tomás Soriano Matey

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. Codificación del 2924:

292417 = 292416 · 2924


29242 ≡ 4797(mod 5963)
29244 ≡ 47972 (mod 5963) ≡ 5955(mod 5963)
29248 ≡ 59552 (mod 5963) ≡ 64(mod 5963)
292416 ≡ 642 (mod 5963) ≡ 4096(mod 5963)
292417 = 292416 · 2924 ≡ 4096 · 2924(mod 5963) ≡ 3000(mod 5963)

1.2. Codificación del 2210:

221017 = 221016 · 2210


22102 ≡ 403(mod 5963)
22104 ≡ 4032 (mod 5963) ≡ 1408(mod 5963)
22108 ≡ 14082 (mod 5963) ≡ 2748(mod 5963)
221016 ≡ 27482 (mod 5963) ≡ 2346(mod 5963)
221017 = 221016 · 2210 ≡ 2346 · 2210(mod 5963) ≡ 2813(mod 5963)

1
1.3. Codificación del 2836:

283617 = 283616 · 2836


28362 ≡ 4772(mod 5963)
28364 ≡ 47722 (mod 5963) ≡ 5250(mod 5963)
28368 ≡ 52502 (mod 5963) ≡ 1514(mod 5963)
283616 ≡ 15142 (mod 5963) ≡ 2404(mod 5963)
283617 = 283616 · 2836 ≡ 2404 · 2836(mod 5963) ≡ 2035(mod 5963)

1.4. Resultado:

El resultado obtenido es: 3000 2813 2035

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

Obtenemos la Identidad de Bézout:

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

De este modo, j=1025.

2. Desencriptación

La desencriptación consistirı́a en obtener:

30001025 (mod 5963), 28131025 (mod 5963), 20351025 (mod 5963)

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

En efecto, se llega a 2924, 2210 y 2035 como se buscaba obtener.

También podría gustarte