Ejercicios L7 Criptosistemas Asimetricos Soluciones

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

Ana I.

González-Tablas Ferreres
José María de Fuentes García-Romero de Tejada
Lorena González Manzano
CURSO CRIPTOGRAFÍA Y SEGURIDAD INFORMÁTICA Pablo Martín González
UC3M | GRUPO COMPUTER SECURITY LAB (COSEC)

“Criptosistemas asimétricos”
Ejercicios propuestos

Ejercicio 1:
Dados los siguientes criptosistemas RSA, calcule lo que se le indique en cada apartado, teniendo en
cuenta que los datos de la clave que se dan pertenecen al receptor.
a) p = 5, q = 7, y d = 11. Cifre el mensaje M = 2 y descifre el resultado.
b) p = 3, q = 11, y e = 7. Cifre el mensaje M = 5 y descifre el resultado.
c) n = 55, y e = 7. Cifre el mensaje M = 10 y descifre el criptograma C = 35.
d) n = 91, y d = 11. Cifre el mensaje M = 3 y descifrar el criptograma C = 41.

Solución:

a)
N = p • q => N = 5 • 7 = 35
 (35) =  (5) •  (7) = 4 x 6 = 24
d • e mód  (35) = 1 => 11 • e mód 24 =1 => e = 11
C = 211 mód 35; C = 18
M = 1811 mód 35; M = 2
b)
N = p • q =>N=3 • 11=33
 (33) =  (3) •  (11) = 2 • 10= 20
d • e mód  (33) = 1 => 7 • d mód 20 = 1 => d = 3
C = 57 mód 33; C = 14
M = 143 mód 33; M = 5
c)
N = 55 => p = 5, q = 11
 (55) =  (5) •  (11) = 4 • 10 = 40
d • e mód  (55) = 1 => 7, d mód 40 = 1 => d = -17 = 23
C = 107 mód 55; C = 10
M = 3523 mód 55; M = 30
d)
N = 91 => p = 7, q = 13
 (91) =  (7) •  (13) = 6 • 12 = 72
d • e mód  (91) = 1 => 11 • e mód 72 = 1 => e = -13 = 59
C = 359 mód 91; C = 61
M = 4111 mód 91; M = 20
Ejercicio 2:
a) ¿En qué consiste la fortaleza del criptosistema RSA? ¿Qué longitudes deben tener las claves
utilizadas en RSA? ¿En qué consiste la “trampa” para generar las claves RSA?
b) Martín quiere enviar un mensaje cifrado a Laura utilizando el criptosistema RSA con los valores
pertenecientes a Laura p=5, q=11 y d=7. Si el mensaje en claro que quiere enviar Martín es M=10
¿qué valor recibirá Laura? ¿Es buena la elección que han hecho de p, q y d? ¿Por qué?

Solución:

a.1) la fortaleza del criptosistema RSA consiste en la dificultad de factorizar números grandes.
a.2) Las claves utilizadas deben tener una longitud de entre 1024 y 2048 bits.
a.3) Los números primos p y q, secretos, constituyen la trampa del sistema. Conocidos p y q es fácil
calcular d a partir de e, mientras que la complejidad de factorizar N es del orden de
e((ln(N)lnln(N))1/2 .

b) Para cifrar se necesita la clave pública de Laura que es el exponente de cifrado e.


Tenemos que d = 7 y sabemos que e·d = 1 mód Ф(N).
Como Ф (55) = Ф (5) · Ф (11) =4 · 10 =40 tenemos que 7·e = 1 mód 40 como m.c.d(7,40)=1 podemos
aplicar tª de Euler o método de Euclides modificado.
Tª de Euler: a-1 = a Ф ( n ) - 1 mód. n => Ф ( n ) = Ф (40)= Ф ( 23 ) · Ф (5 ) = (23 – 22)·4 = 16
e = d-1 = d Ф (40 ) – 1 = 715 (mód 40) = (72)7 · 7 (mód 40) = 97 · 7 = (92)3 · 9 · 7 = 813 · 63 (mód 40) = 63 (mód
40) = 23 Así e = 23
Cifrar M=10 C = Me (mód N) = 1023 mód 55
Sabemos que 102 (mód 55) = -10 y 103 (mód 55) = -10 · 10 = -100 (mód 55)= 10
Así 1023 = (103)7 · 102 (mód 55) = 107 · (102) = 109 mód 55 = (103)3 mód 55 = 10
p, q y d deberían ser primos grandes y además se observa que el mensaje que ha mandado Martín
es invariante después de cifrarlo (M = C) lo que indica que la elección de p, q y d no es buena.

Ejercicio 3:
Alicia y Benito están practicando un juego popular a través de correo electrónico. El juego requiere
mantener en secreto los mensajes intercambiados simultáneamente por ambos jugadores en cada
partida. Para ello cifran sus mensajes y los envían codificados con 27 elementos de forma que A=0,
B=1,..., Z=26. Hacen uso del algoritmo RSA para cifrar sus comunicaciones. Alicia hace público su
módulo NA= 33 y su exponente eA=7. Por su parte, Benito también publica su módulo N B= 39 y su
exponente eB=5.

Alicia recibe el mensaje: 26, 2 , 15 , 16 , 6 , 0 , 13 Benito recibe: 22 , 8 , 10 , 9 , 18 , 0.

Calcule en claro los tres primeros valores enviados y los tres primeros recibidos por Alicia.

Solución:

Alicia hace uso de su clave privada para descifrar el mensaje recibido.


Primero se calcula la privada de Alicia, como sigue:
Ф(NA) =2·10=20
eA·dA=1(mód. Ф(NA)); dA ·7=1(mód. 20) _ dA =3

Criptografía y seguridad informática | 2


Alicia va descifrando letra a letra el mensaje recibido:
263 (mód. 33) = 20 - > T
23 (mód. 33) = 8 - > I
153 (mód. 33) = 9 - > J

Cálculo de la clave privada de Benito:


Ф (NB) =2·12=24
eB·dB=1(mód. Ф (NB)); dB ·5=1(mód. 24) _ dB =5

Por su parte Benito también descifra con su privada letra a letra el mensaje enviado por Alicia:
225 (mód. 39) = 16 - > P
85 (mód. 39) = 8 - > I
105 (mód. 39) = 4 - > E

Ejercicio 4:
Alicia y Benito hacen uso del algoritmo RSA para cifrar sus comunicaciones con las siguientes claves
públicas:
(nA; eA) = (55; 9) y (nB; eB) = (39; 5)
a) Determine el criptograma CB que Benito debe enviar a Alicia si el mensaje en claro es
MANDA DINERO
y determine también el envío que corresponde a la respuesta de Alicia
NO TENGO.
Las letras A – Z del alfabeto internacional (sin la Ñ) se codifican de 0 – 25, el punto es el 26 y el espacio
en blanco es el 27.
b) Descifre el criptograma que recibe Benito, CA

Solución:

a)
ABCDEFGHIJKLMNOPQRSTUVWXYZ
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25

Benito debe enviar a Alicia el mensaje MANDA DINERO codificado de forma siguiente:
M -> 12 A ->0 N->13 D->3 ‘ ‘ ->27 I->8 E->4 R->17 O->14

Benito deberá usar la clave pública de Alicia, (nA; eA) = (55; 9), para que sólo ella pueda abrir el
criptograma CB.

Utilizará CB = MeA mód nA.

CB -> C{M}= 129 mód 55 =12


C{A}= 09 mód 55 = 0
C{N}= 139 mód 55 = 28
C{D}= 39 mód 55 = 48

Criptografía y seguridad informática | 3


C{ }= 279 mód 55 = 42
C{I}= 89 mód 55 = 18
C{E}= 49 mód 55 = 14
C{R}= 179 mód 55 = 2
C{O}= 149 mód 55 = 4
Entonces CB = [12,0,28,48,0,42,48,18,28,14,2,4] (mód 55)

La respuesta de Alicia, NO TENGO., va cifrada. El mensaje codificado toma los valores: N->13 O->14 ‘
‘ ->27 T->19 E->4 G->6 .->26

Alicia deberá usar la clave pública de Benito, (nB; eB) = (39; 5), para cifrar.

Utilizará CA = MeB mód nB.

CA -> C{N}= 135 mód 39 = 13


C{O}= 145 mód 39 = 14
C{ }= 275 mód 39 = 27
C{T}= 195 mód 39 = 28
C{E}= 45 mód 39 = 10
C{G}= 65 mód 39 = 15
C{.}= 265 mód 39 = 26
Entonces, CA = [13,14,27,28,10,13,15,14,26] (mód 39)

b) Benito, en recepción, usará su privada para descifrar CA = [13,14,27,28,10,13,15,14,26] (mód 39).

Usará MA=CAdB(mód NB)

Calculo de dB :
nB= 3 ·13 =39
Ф(nB)=2·12=24
eB·dB=1(mód Ф(nB))=; dB·5=1(mód 24) dB=5

MA -> M{13}= 135 mód 39= 13 -> N


M{14}= 145 mód 39= 14 -> O
M{27}= 275 mód 39= 27 -> ‘ ‘
M{28}= 285 mód 39= 19 -> T
M{10}= 105 mód 39= 4 -> E
M{13}= 135 mód 39= 13 -> N
M{15}= 155 mód 39= 6 -> G
M{14}= 145 mód 39= 6 -> O
M{26}= 265 mód 39= 26 -> .
MA = NO TENGO.

Criptografía y seguridad informática | 4

También podría gustarte