Está en la página 1de 3

USO DE ÁLGEBRAS MODERNAS PARA SEGURIDAD Y CRIPTOGRAFÍA

TAREA IV

Resuelve los siguientes problemas. La tarea deberá ser entregada en hojas blancas (digitalizadas en un solo
archivo pdf). No se aceptarán tareas en hojas de libreta o de algún otro tipo de cuaderno. Trabajen con
limpieza y hagan procedimientos legibles y claros, argumentando cada paso en su solución.
En los puntos en los que aparece el sı́mbolo de un teclado (Ï) puedes utilizar un computador. Si este
es el caso, incluye en tus entregables un cuaderno de Jupyter en el que aparezca el código que utilizaste y
celdas de texto en las que se explique cómo resolviste cada punto. No olvides comentar tu código. El código
es válido solamente si corre sin errores. Por cierto, el único lenguaje de programación aceptado es Python.
No entreguen la tarea con portada, pero especifiquen bien sus nombres, matrı́cula, número de equipo, y
el número de la tarea que están entregando; escriban estos datos en la parte superior de la primera hoja. Si
desean entregar un documento en formato pdf generado con Latex, esto también está permitido.

FECHA DE ENTREGA: martes 23 de mayo de 2023.


1. (Ï) Alicia y beto quieren intercambiar una clave secreta ya para este fin utilizarán el protocolo Diffie-
Hellman. Alicia elige el número primo p = 467 y Beto elige el número g = 2 ya que U (467) = ⟨2⟩.
Calcula la clave secreta que compartirı́an Beto y Alicia para los siguientes casos:
(a) a = 3, b = 5.
(b) a = 400, b = 134.
(c) a = 228, b = 57.
2. (Ï) Ahora Beto propone que trabajen con el elemento g = 4 ∈ U (467). ¿Cuáles serı́an las claves
secretas que comparten Alicia y Beto en los siguientes casos?
(a) a = 400, b = 134.
(b) a = 167, b = 134.
¿Por qué las claves son idénticas?
3. En el protocolo Diffie-Hellman las claves privadas son siempre elementos del conjunto {2, 3, . . . , p−2} ⊂
U (p), donde p es un número primo. Por qué los valores 1 y p − 1 son excluidos?
4. (Ï) Beto y Alicia deciden utilizar el protocolo Diffie-Hellman para intercambio de claves y el protocolo
ElGamal para encriptación. Deciden trabajar con el número primo p = 47 y el generador g = 5:
⟨g⟩ = U (p).
(a) ¿A qué es igual el orden de g?
(b) Sean a = 16 y b = 9 las claves secretas de Alicia y Beto, respectivamente. ¿Cuáles son sus llaves
públicas? ¿Cuál serı́a la clave compartida?
(c) Beto desea encriptar el mensaje m = 33. ¿Qué le debe enviar a Alicia para que ella pueda
decodificar el mensaje?
5. Alicia y Beto deciden utilizar el siguiente protocolo de criptografı́a pública:
• Alicia escoge a, b ∈ Z y calcula s = ab − 1.
• Ahora Alicia escoge â, b̂ ∈ Z y calcula e = âs + a y d = b̂s + b.
• Acto seguido, Alicia calcula n = ed−1s .
• Alicia hace público el par (n, e). La clave privada es d.
• Si Beto quiere enviarle un mensaje a Alicia m ∈ {0, 1, 2, . . . , n − 1}, él envı́a c ≡ em mod n.
• Alicia decodifica el mensaje con el mapa de decoficación cd mod n.
(a) Demuestra que este es un sistema criptográfico válido, es decir, Alicia logra decodificar el mensaje
que le envı́a Beto.
(b) Quiebra el sistema criptográfico.
6. (Ï) Sea (n, e) = (2047, 179) una llave pública tipo RSA. El conjunto que contiene las unidades de texto
plano está dado por P = {A, B, C, . . . , Z, ∪}, donde el sı́mbolo ∪ representa un espacio entre palabras.
Estas unidades se codifican de la siguiente manera:

A → 00
B → 01
C → 02
..
.
Z → 25
∪ → 26.

El mensaje de texto plano se divide en bloques de dos unidades incluyendo espacios. Si el número
de unidades codificadas no es par, se agrega el sı́mbolo ∪ para completar las parejas de dos unidades.
Siguiendo la codificación ya mostrada, cada bloque se representa como un número de cuatro cifras que
se considera un elemento de Z2047 . Por ejemplo,

TEC → TE-C∪ → 1904, 0226.

Considera el siguiente texto cifrado:

1054, 92, 1141, 1571, 92, 832.


(a) Quiebra la encriptación factorizando 2047 y obtén el texto plano.
(b) ¿Por qué el número 2047, a parte de no ser muy grande, no es un módulo RSA apropiado? ¿Es
posible quebrar la encriptación sin tener que factorizar 2047?
(c) ¿Se podrı́a encriptar la palabra VIDA? Si sı́ es posible, ¿cómo la codificarı́as?
7. En la etapa de verificación del algoritmo DSA una firma digital (r, s) es aceptada si se cumple que

r ≡ (g u1 y u2 mod p) mod q,

donde t es un entero tal que st ≡ 1 mod (p − 1) y

u1 ≡ th(m) mod q,
u2 ≡ tr mod q.

Demuestra que la firma digital es aceptada siempre y cuando los enteros u1 , u2 y t se calculen de la
manera indicada.
8. (Ï) Alicia le ha enviado un mensaje m a Beto, el cual él ya ha decodificado. Sin embargo, Alicia
quiere asegurarle a Beto que este mensaje fue enviado por ella utilizando una firma digital. Sean
(na , da , ea ) y (nb , db , eb ) los parámetros RSA de Alicia y Beto, respectivamente, y sea h : Zna → Zna
una función hash que solo conocen Beto y Alicia. Dicho lo anterior, Alicia y Beto llevan a cabo la
siguiente secuencia de pasos:

• Alicia calcula la siguiente cantidad usando su mapa de decodificación: x = ga (h(m)) ≡ h(m)da


mod na .
• Alicia encripta x utilizando el mapa de encriptación de Beto: fb (x) ≡ xeb mod nb .
• Beto decodifica x usando el mapa de encriptación de Alicia: (fa ◦ fb )(x) = xea mod na .
• Beto valida que el mensaje m fue enviado por Alicia si (fa ◦ fb )(x) = h(m).

El procedimiento anterior se le conoce como firma digital RSA.


(a) Muestra que si Alicia y Beto siguen el anterior algoritmo, Beto sı́ puede validar que el mensaje m
fue enviado por Alicia,
(b) Sean (nb , eb ) = (2047, 179) y (na , ea ) = (9797, 131) las claves públicas de Beto y Alicia. ¿Cuáles
serı́an sus claves privadas?
(c) Sea m = 4793 y h(m) = m2 mod na . ¿A qué es igual el valor hash h(m)?
(d) Ejecuta el algoritmo de firma digital RSA y calcula x, fb (x) y (fa ◦ fb )(x). ¿Valida Beto que el
mensaje m fue enviado por Alicia?
9. (Ï) Alicia y Beto interceptan el siguiente texto cifrado:

euuqm uan rdej etbere neenrid yu oh aanatcib npóiipaorraap doep sec ribrirvoen ;s
alset yc o,ov eom ,dsi asjer enivleosle rna rgbolrp admeal edraevar edutranzeala eld
umj ay rev ealdaedrn aararlut adzeal eevlonh e.alatf oada idm re bel ledra genua
anocc isóulcae n adcrset ed osauce soints ;lsem usaersejl ay voen s ialne ugnedise
n,o oql a eur eı́mcetpsp r,aelmbos isaers nevrloams .raap mopc asrne npu oeco
aftsat,layo v rta a rdatoms eraortócm seh ogealla odat seniipos onó elrbahb acaitiy
nód ileor.enyo v xep are nov unertaseersp icaneatn ,mopc at elilb yemnerc oetp uom,a
des ualisóeced nsnaepnetimq usoem eveall naortsae edai uqi .s iázeusm oarteds lod un
sialsa,edso l jeurpoiscieu q e sesdneocrta nset sfai acaimr ,enónotcnériaruqe sglua
stonenneiglua r eanicóalocn nsa l ejrumy seorstono c n oalal.ev etd so doodsomuca ,
oudnetm nes asetrpumc aa ohtnrocresvo- yaiaulc eiruqeusc nó italter aaviso l oxses
sde set eitp eu n-oon odeeuppsee rdarri cev ealda.drlóos eudp xep eacrilmóoc elgl ap
óefsort ara oc l loauinóip .n

Gracias a su labor de inteligencia, Alicia y Beto logran determinar que el mensaje original fue encriptado
utilizando cifrado de permutación.
(a) Ayuda a Beto y a Alicia a decodificar el mensaje. ¿Qué dice el texto original?
(b) ¿Cuál fue el mapa de encriptación que se utilizó?
(c) BONO (+3 puntos): ¿Quién escribió el mensaje?

También podría gustarte