criptograf´ıa asimetrica o de clave pub´...

73
Intro. DH RSA ElGamal ECC Criptograf´ ıa asim ´ etrica o de clave p´ ublica F. J. Mart´ ınez Zald´ ıvar Departamento de Comunicaciones ETSI Telecomunicaci´ on Universidad Polit´ ecnica de Valencia Comunicaci ´ on de Datos II

Upload: others

Post on 28-Oct-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Criptograf´ıa asimetrica o de clave pub´ lica´personales.upv.es/~fjmartin/cdii_web/traspas/Tema3_Clave...Intro. DH RSA ElGamal ECC Criptograf´ıa asimetrica o de clave pu´blica´

Intro. DH RSA ElGamal ECC

Criptografıa asim etrica o de clave publica

F. J. Martınez Zaldıvar

Departamento de ComunicacionesETSI Telecomunicacion

Universidad Politecnica de Valencia

Comunicacion de Datos II

Page 2: Criptograf´ıa asimetrica o de clave pub´ lica´personales.upv.es/~fjmartin/cdii_web/traspas/Tema3_Clave...Intro. DH RSA ElGamal ECC Criptograf´ıa asimetrica o de clave pu´blica´

Intro. DH RSA ElGamal ECC

Indice

1 Introducci onIntroduccion a la Teorıa de NumerosFunciones unidireccionales

2 Intercambio de claves Diffie y HellmanDescripcion DH

3 Algoritmo RSA (Rivest-Shamir-Adelman)Descripcion RSAFortaleza de RSAClaves multiples de descifradoMensajes no cifrablesAlternativas de descifrado RSARSA multiprimoRelleno (padding)

4 Metodo ElGamal5 Otros criptosistemas asim etricos: ECC

Page 3: Criptograf´ıa asimetrica o de clave pub´ lica´personales.upv.es/~fjmartin/cdii_web/traspas/Tema3_Clave...Intro. DH RSA ElGamal ECC Criptograf´ıa asimetrica o de clave pu´blica´

Intro. DH RSA ElGamal ECC

Criptografıa asim etrica o de clave publica

Objetivo: evitar el problema de la distribuci on de clavesnecesaria en un criptosistema simetrico (o de clavesecreta).

Primer documento: intercambio de claves de Diffie yHellman (1976).

Posteriormente otros criptosistemas asimetricos: RSA,ElGamal, curvas elıpticas, . . .

Asim etrica : distinta clave para cifrar que para descifrar.

Publica : de las claves es publica; la otra privada.

Conceptos previos necesarios: Teorıa de Numeros

Page 4: Criptograf´ıa asimetrica o de clave pub´ lica´personales.upv.es/~fjmartin/cdii_web/traspas/Tema3_Clave...Intro. DH RSA ElGamal ECC Criptograf´ıa asimetrica o de clave pu´blica´

Intro. DH RSA ElGamal ECC

Introduccion a la Teorıa de Numeros

Definici on: divisor

Si a, b ∈ Z, entonces a divide a b, o a es divisor de b si

∃n ∈ Z : b = an

a|b denota que a divide a b

Ejemplo

4|12, ya que 12 = 4 · 3

Corolario: divisores del ceroCualquier n ∈ Z, n 6= 0, divide a 0:

0 = n · 0 ⇒ n|0

Page 5: Criptograf´ıa asimetrica o de clave pub´ lica´personales.upv.es/~fjmartin/cdii_web/traspas/Tema3_Clave...Intro. DH RSA ElGamal ECC Criptograf´ıa asimetrica o de clave pu´blica´

Intro. DH RSA ElGamal ECC

Introduccion a la Teorıa de Numeros

Teorema: transitividad

Si a, b, c ∈ Z, con a|b y b|c, entonces a|c

EjemploSi 4|8 y 8|16, entonces 4|16

Page 6: Criptograf´ıa asimetrica o de clave pub´ lica´personales.upv.es/~fjmartin/cdii_web/traspas/Tema3_Clave...Intro. DH RSA ElGamal ECC Criptograf´ıa asimetrica o de clave pu´blica´

Intro. DH RSA ElGamal ECC

Introduccion a la Teorıa de Numeros

Teorema: divisor de combinacion lineal

Si a, b, m, n ∈ Z y c|a y c|b, entonces

c|(ma + nb)

Ejemplo3|6 y 3|9, entonces 3|(m · 6 + n · 9). Si, por ejemplo, m = 2 y n = −4,entonces

3|(2 · 6 + (−4) · 9) −→ 3|(12 + (−36)) −→ 3|(−24)

Page 7: Criptograf´ıa asimetrica o de clave pub´ lica´personales.upv.es/~fjmartin/cdii_web/traspas/Tema3_Clave...Intro. DH RSA ElGamal ECC Criptograf´ıa asimetrica o de clave pu´blica´

Intro. DH RSA ElGamal ECC

Introduccion a la Teorıa de Numeros

Teorema: algoritmo de la divisi on

Si a, b ∈ Z, b > 0, entonces

∃q, r ∈ Z unicos, : a = q · b + r , con 0 ≤ r < b

cona

q =⌊a

b

, y r = a − q · b

adonde ⌊ xy ⌋ con x , y ∈ Z es la operacion denominada “redondeo hacia

−∞”: entero mas proximo a xy del intervalo ] −∞,

xy ]

Page 8: Criptograf´ıa asimetrica o de clave pub´ lica´personales.upv.es/~fjmartin/cdii_web/traspas/Tema3_Clave...Intro. DH RSA ElGamal ECC Criptograf´ıa asimetrica o de clave pu´blica´

Intro. DH RSA ElGamal ECC

Introduccion a la Teorıa de Numeros

Teorema (cont.)

Ejemplo: a = 43, b = 5

q =

43

5

= ⌊8, 6⌋ = 8, y r = 43 − 8 · 5 = 3

por tanto: 43 = 8 · 5 + 3, con 0 ≤ r = 3 < b = 5

Ejemplo: a = −43, b = 5

q =

⌊−43

5

= ⌊−8, 6⌋ = −9, y r = −43 − (−9) · 5 = 2

por tanto: −43 = (−9) · 5 + 2, con 0 ≤ r = 2 < b = 5

Page 9: Criptograf´ıa asimetrica o de clave pub´ lica´personales.upv.es/~fjmartin/cdii_web/traspas/Tema3_Clave...Intro. DH RSA ElGamal ECC Criptograf´ıa asimetrica o de clave pu´blica´

Intro. DH RSA ElGamal ECC

Introduccion a la Teorıa de Numeros

Definici on: cociente y resto

Los valores q y r del Algoritmo de la Divisi on se denominancociente y resto respectivamente.

Definici on: numeros primos y compuestos

Un numero primo es un numero entero positivo mayor que 1que solo es divisible por 1 y por sı mismo. Un numerocompuesto es todo entero positivo mayor que uno que no esprimo.

Page 10: Criptograf´ıa asimetrica o de clave pub´ lica´personales.upv.es/~fjmartin/cdii_web/traspas/Tema3_Clave...Intro. DH RSA ElGamal ECC Criptograf´ıa asimetrica o de clave pu´blica´

Intro. DH RSA ElGamal ECC

Introduccion a la Teorıa de Numeros

Teorema: divisores primos

Todo entero positivo mayor que 1 tiene al menos un divisorprimo.

Definici on: m aximo comun divisor

Sean a, b ∈ Z, con a, b 6= 0, el maximo comun divisor de a y bdenotado como mcd(a, b) es el mayor entero que divide tanto aa como a b.

Definici on: numeros relativamente primos

Dos enteros a y b son relativamente primos si mcd(a, b)=1. Yaque los divisores de a lo son tambien de −a,mcd(a, b)=mcd(|a|, |b|)

Page 11: Criptograf´ıa asimetrica o de clave pub´ lica´personales.upv.es/~fjmartin/cdii_web/traspas/Tema3_Clave...Intro. DH RSA ElGamal ECC Criptograf´ıa asimetrica o de clave pu´blica´

Intro. DH RSA ElGamal ECC

Introduccion a la Teorıa de Numeros

Corolario: m aximo comun divisor con cero

mcd(n, 0) = n, ∀n ∈ Z, n 6= 0

Teorema: algoritmo de Euclides (c alculo del mcd)

Sean r0 y r1 dos enteros no negativos con r1 6= 0, la aplicacioniterativa del Algoritmo de la Divisi on de la forma

rj = qj+1rj+1 + rj+2, j ≥ 0

hace que

mcd(r0, r1) = rn, (el ultimo resto no nulo)

Page 12: Criptograf´ıa asimetrica o de clave pub´ lica´personales.upv.es/~fjmartin/cdii_web/traspas/Tema3_Clave...Intro. DH RSA ElGamal ECC Criptograf´ıa asimetrica o de clave pu´blica´

Intro. DH RSA ElGamal ECC

Introduccion a la Teorıa de Numeros

Teorema (cont.)

Page 13: Criptograf´ıa asimetrica o de clave pub´ lica´personales.upv.es/~fjmartin/cdii_web/traspas/Tema3_Clave...Intro. DH RSA ElGamal ECC Criptograf´ıa asimetrica o de clave pu´blica´

Intro. DH RSA ElGamal ECC

Introduccion a la Teorıa de Numeros

Teorema (cont.)

Ejemplo: r0 = 250 y r1 = 110

250 = 2 · 110 + 30

110 = 3 · 30 + 20

30 = 1 · 20 + 10

20 = 2 · 10 + 0

luego mcd(250,110)=10.

Page 14: Criptograf´ıa asimetrica o de clave pub´ lica´personales.upv.es/~fjmartin/cdii_web/traspas/Tema3_Clave...Intro. DH RSA ElGamal ECC Criptograf´ıa asimetrica o de clave pu´blica´

Intro. DH RSA ElGamal ECC

Introduccion a la Teorıa de Numeros

Corolario

Si a, b ∈ Z, y a = qb + r , entonces mcd(a, b)=mcd(b, r ).

Teorema: mcd y la menor combinaci on lineal positiva

Si a, b ∈ Z, con a, b 6= 0, entonces mcd(a, b) es el menor enteropositivo resultante de cualquier combinacion lineal de a y b.

Ejemplo: mcd(28,8)=4

28 · 1 − 8 · 3 = 28 − 24 = 4

Cualquier otra combinacion lineal es:

Bien mayor o igual que 4

Bien negativa

Teorema

Si a, b, c ∈ Z, a, b, c > 0, mcd(a, b) = 1 y a|bc, entonces a|c.

Page 15: Criptograf´ıa asimetrica o de clave pub´ lica´personales.upv.es/~fjmartin/cdii_web/traspas/Tema3_Clave...Intro. DH RSA ElGamal ECC Criptograf´ıa asimetrica o de clave pu´blica´

Intro. DH RSA ElGamal ECC

Introduccion a la Teorıa de Numeros

Definici on: congruencia

Si a, b, n ∈ Z y n 6= 0, entonces, si n|(a − b) se dice que a escongruente con b modulo n, y se denota como a ≡ b(mod n).

CorolarioSi a ≡ b (mod n), entonces a mod n = b mod n

Ejemplo: 18 ≡ 6 (mod 4)

Es decir, 4|(18 − 6), entonces 18 mod 4 = 2 = 6 mod 4

Page 16: Criptograf´ıa asimetrica o de clave pub´ lica´personales.upv.es/~fjmartin/cdii_web/traspas/Tema3_Clave...Intro. DH RSA ElGamal ECC Criptograf´ıa asimetrica o de clave pu´blica´

Intro. DH RSA ElGamal ECC

Introduccion a la Teorıa de Numeros

CorolarioCualquier entero es congruente modulo n con algun entero delconjunto {0, 1, . . . , n − 1}.

Ejemplo: n = 4

Page 17: Criptograf´ıa asimetrica o de clave pub´ lica´personales.upv.es/~fjmartin/cdii_web/traspas/Tema3_Clave...Intro. DH RSA ElGamal ECC Criptograf´ıa asimetrica o de clave pu´blica´

Intro. DH RSA ElGamal ECC

Introduccion a la Teorıa de Numeros

Corolario: propiedad reflexiva

a ≡ a (mod n)

Corolario: propiedad sim etrica

a ≡ b (mod n) ⇔ b ≡ a (mod n)

Ejemplo

3 ≡ 7 (mod 2) ⇒ 2|(3 − 7) ⇒ 2|(−4)

7 ≡ 3 (mod 2) ⇒ 2|(7 − 3) ⇒ 2|411 ≡ −3 (mod 7) ⇒ 7|(11 − (−3)) ⇒ 7|14

4 6≡ −4 (mod 7) ⇒ 7 6 | (4 − (−4)) ⇒ 7 6 | (−8)

Page 18: Criptograf´ıa asimetrica o de clave pub´ lica´personales.upv.es/~fjmartin/cdii_web/traspas/Tema3_Clave...Intro. DH RSA ElGamal ECC Criptograf´ıa asimetrica o de clave pu´blica´

Intro. DH RSA ElGamal ECC

Introduccion a la Teorıa de Numeros

Corolario: propiedad transitiva

a ≡ b (mod n), b ≡ c (mod n) ⇔ a ≡ c (mod n)

Ejemplosi 27 ≡ 3 (mod 6), y 3 ≡ 21 (mod 6), entonces

27 ≡ 21 (mod 6)

.

Page 19: Criptograf´ıa asimetrica o de clave pub´ lica´personales.upv.es/~fjmartin/cdii_web/traspas/Tema3_Clave...Intro. DH RSA ElGamal ECC Criptograf´ıa asimetrica o de clave pu´blica´

Intro. DH RSA ElGamal ECC

Introduccion a la Teorıa de Numeros

¡¡¡Confusi on!!!

Resto: a = b mod n(por el Algoritmo de la divisi on: b = qn + a)

Congruencia: a ≡ b (mod n)

Entonces

a = b mod n ⇒ a ≡ b (mod n)

a ≡ b (mod n) 6⇒ a = b mod n

Ejemplo: 21 ≡ 3 (mod 18)

. . . , pero 21 6= 3 mod 18

Por lo tanto, lo demostrable para el resto es aplicable para lacongruencia, pero no al reves.

Page 20: Criptograf´ıa asimetrica o de clave pub´ lica´personales.upv.es/~fjmartin/cdii_web/traspas/Tema3_Clave...Intro. DH RSA ElGamal ECC Criptograf´ıa asimetrica o de clave pu´blica´

Intro. DH RSA ElGamal ECC

Introduccion a la Teorıa de Numeros

Teorema

Sea a, b, n, i ∈ Z, con n, i > 0, entonces

(ani + b) mod n = b mod n

o bien

(ani + b) ≡ b (mod n)

Ejemplo: a = 3, n = 4, i = 2 y b = 7

(3 · 42 + 7) mod 4 = 55 mod 4 = 3 = 7 mod 4

Page 21: Criptograf´ıa asimetrica o de clave pub´ lica´personales.upv.es/~fjmartin/cdii_web/traspas/Tema3_Clave...Intro. DH RSA ElGamal ECC Criptograf´ıa asimetrica o de clave pu´blica´

Intro. DH RSA ElGamal ECC

Introduccion a la Teorıa de Numeros

Teorema

Si a, b, n ∈ Z, con n 6= 0 entonces:

(a + b) mod n = {(a mod n) + (b mod n)} mod n

(ab) mod n = {(a mod n)(b mod n)} mod n

Ejemplo

(8 + 9) mod 3 = 17 mod 3 = 2

8 mod 3 = 2

9 mod 3 = 0

((8 mod 3) + (9 mod 3)) mod 3 = (2 + 0) mod 3 = 2

Page 22: Criptograf´ıa asimetrica o de clave pub´ lica´personales.upv.es/~fjmartin/cdii_web/traspas/Tema3_Clave...Intro. DH RSA ElGamal ECC Criptograf´ıa asimetrica o de clave pu´blica´

Intro. DH RSA ElGamal ECC

Introduccion a la Teorıa de Numeros

Corolario

ab mod n = {(a mod n)b} mod n

Ejemplo: ¿ 4225 mod 500?Creacion de tabla:

41 mod 500 = 442 mod 500 = 1644 mod 500 = 25648 mod 500 = 36

416 mod 500 = 296432 mod 500 = 116464 mod 500 = 4564128 mod 500 = 436

Page 23: Criptograf´ıa asimetrica o de clave pub´ lica´personales.upv.es/~fjmartin/cdii_web/traspas/Tema3_Clave...Intro. DH RSA ElGamal ECC Criptograf´ıa asimetrica o de clave pu´blica´

Intro. DH RSA ElGamal ECC

Introduccion a la Teorıa de Numeros

Ejemplo (cont)

N = 4225 mod 500

= 4128+64+32+1 mod 500

= {(4128 mod 500)(464 mod 500)(432 mod 500) ·

·(41 mod 500)} mod 500

= {436 · 456 · 116 · 4} mod 500

= {(198 816 mod 500)(464 mod 500)} mod 500

= (316 · 464) mod 500

= 124

Page 24: Criptograf´ıa asimetrica o de clave pub´ lica´personales.upv.es/~fjmartin/cdii_web/traspas/Tema3_Clave...Intro. DH RSA ElGamal ECC Criptograf´ıa asimetrica o de clave pu´blica´

Intro. DH RSA ElGamal ECC

Introduccion a la Teorıa de Numeros

Definici onLa funcion de Euler, φ(n) (Euler totient function) es la cantidadde enteros positivos menores que n que son relativamenteprimos con n.

Ejemplo: n = 6

φ(6) = card{1, 5} = 2

Ejemplo: n primo → φ(n) = n − 1

φ(7) = card{1, 2, 3, 4, 5, 6} = 6

Teorema

Si p y q son primos y n = pq, entonces φ(n) = (p − 1)(q − 1).

Page 25: Criptograf´ıa asimetrica o de clave pub´ lica´personales.upv.es/~fjmartin/cdii_web/traspas/Tema3_Clave...Intro. DH RSA ElGamal ECC Criptograf´ıa asimetrica o de clave pu´blica´

Intro. DH RSA ElGamal ECC

Introduccion a la Teorıa de Numeros

Teorema

Sea{r1, r2, . . . , rφ(n)}

con 0 < ri < n y mcd(ri , n)=1, ∀1 ≤ i ≤ φ(n). Si a > 0 ymcd(a, n)=1, entonces

{ar1 mod n, ar2 mod n, . . . arφ(n) mod n}

es una permutacion de

{r1, r2, . . . , rφ(n)}

Ejemplo: φ(5) = card {1, 2, 3, 4} = 4, a = 7, mcd(7,5)=1

{7 · 1 mod 5, 7 · 2 mod 5, 7 · 3 mod 5, 7 · 4 mod 5} = {2, 4, 1, 3}

Page 26: Criptograf´ıa asimetrica o de clave pub´ lica´personales.upv.es/~fjmartin/cdii_web/traspas/Tema3_Clave...Intro. DH RSA ElGamal ECC Criptograf´ıa asimetrica o de clave pu´blica´

Intro. DH RSA ElGamal ECC

Introduccion a la Teorıa de Numeros

Lema

Si a, b, n ∈ Z, n > 0, mcd(b, n)=1 y ab ≡ b (mod n), entoncesa ≡ 1 (mod n).

Demostraci onYa que ab ≡ b (mod n), entonces

n|(ab − b) o n|b(a − 1)

Ya que mcd(b, n)=1, —y que si a, b, c ∈ Z, a, b, c > 0,mcd(a, b) = 1 y a|bc, entonces a|c—, entonces

n|(a − 1) → a ≡ 1 (mod n)

Page 27: Criptograf´ıa asimetrica o de clave pub´ lica´personales.upv.es/~fjmartin/cdii_web/traspas/Tema3_Clave...Intro. DH RSA ElGamal ECC Criptograf´ıa asimetrica o de clave pu´blica´

Intro. DH RSA ElGamal ECC

Introduccion a la Teorıa de Numeros

TeoremaTeorema de Euler: si a, n ∈ Z, n > 0 y mcd(a, n)=1, entonces:

aφ(n) ≡ 1 (mod n)

Demostraci onSea {r1, r2, . . . , rφ(n)} : 0 < ri < n, mcd(ri , n) = 1, 1 ≤ i ≤ φ(n). Segun elTeorema 22 :

φ(n)∏

i=1

ri

mod n =

φ(n)∏

i=1

(ari mod n)

mod n =

aφ(n)φ(n)∏

i=1

ri

mod n

por lo tanto

aφ(n)φ(n)∏

i=1

ri ≡φ(n)∏

i=1

ri (mod n)

Segun el lema anterior, aφ(n) ≡ 1 (mod n).

Page 28: Criptograf´ıa asimetrica o de clave pub´ lica´personales.upv.es/~fjmartin/cdii_web/traspas/Tema3_Clave...Intro. DH RSA ElGamal ECC Criptograf´ıa asimetrica o de clave pu´blica´

Intro. DH RSA ElGamal ECC

Introduccion a la Teorıa de Numeros

Corolario: Teorema de Euler para inversos modulares

aa−1 ≡ 1 (mod n)

con mcd(a, n)=1 (en caso contrario, dicho inverso no existe).Solucion:

a−1 ≡ aφ(n)−1 (mod n)

ya que

aa−1 ≡ aaφ(n)−1 (mod n)

≡ aφ(n) (mod n)

≡ 1 (mod n)

Page 29: Criptograf´ıa asimetrica o de clave pub´ lica´personales.upv.es/~fjmartin/cdii_web/traspas/Tema3_Clave...Intro. DH RSA ElGamal ECC Criptograf´ıa asimetrica o de clave pu´blica´

Intro. DH RSA ElGamal ECC

Introduccion a la Teorıa de Numeros

Corolario: Algoritmo de Euclides (extendido) —mcd— parainversos modularesSi a y n son relativamente primos:

1 = mcd(a, n)

= i · a + j · n

1 mod n = (i · a + j · n) mod n

1 mod n = i · a mod n

1 ≡ i · a (mod n)

i ≡ a−1 (mod n)

Necesitamos conocer la combinacion lineal

i · a + j · n

mediante el desarrollo del algoritmo de Euclides

Page 30: Criptograf´ıa asimetrica o de clave pub´ lica´personales.upv.es/~fjmartin/cdii_web/traspas/Tema3_Clave...Intro. DH RSA ElGamal ECC Criptograf´ıa asimetrica o de clave pu´blica´

Intro. DH RSA ElGamal ECC

Introduccion a la Teorıa de Numeros

Corolario (cont.)

Ejemplo: a = 32, n = 4927, con mcd( 32,4927)=1

4927 = 153 · 32 + 3132 = 1 · 31 + 131 = 31 · 1

1 = 32 − 1 · 31= 32 − 1 · (4927 − 153 · 32)= 154 · 32 − 1 · 4927= i · a + j · n

154 ≡ 32−1 (mod 4927)

(154 · 32 = 4928 = 1 · 4927 + 1)

pero tambien, −1 ≡ 4927−1 (mod 32), o equivalentemente:

−1 = −1 · 32 + 31

−1 ≡ 31 ≡ 4927−1 (mod 32)

(31 · 4927 = 152 737 = 4773 · 32 + 1)

Page 31: Criptograf´ıa asimetrica o de clave pub´ lica´personales.upv.es/~fjmartin/cdii_web/traspas/Tema3_Clave...Intro. DH RSA ElGamal ECC Criptograf´ıa asimetrica o de clave pu´blica´

Intro. DH RSA ElGamal ECC

Introduccion a la Teorıa de Numeros

Teorema: teorema de FermatSea p, a ∈ Z, con p primo, y mcd(a,p)=1, entonces

ap−1 ≡ 1 (mod p)

Demostraci onEs un caso particular del teorema de Euler, ya queφ(p) = p − 1, por ser p primo.

Page 32: Criptograf´ıa asimetrica o de clave pub´ lica´personales.upv.es/~fjmartin/cdii_web/traspas/Tema3_Clave...Intro. DH RSA ElGamal ECC Criptograf´ıa asimetrica o de clave pu´blica´

Intro. DH RSA ElGamal ECC

Introduccion a la Teorıa de Numeros

CorolarioSea p, a ∈ Z, con p primo, entonces

ap−1a ≡ a (mod p)

Demostraci on: dos posibilidades

Si mcd(p, a) = 1, entonces segun el teorema deFermat , ap−1 ≡ 1 (mod p), es decir,

p|(ap−1−1) ⇒ p|(ap−1−1)a ⇒ ap−1a ≡ a (mod p)

Si mcd(p, a) 6= 1, entonces a = kp (p es primo), esdecir

p|a ⇒ p|(ap−1 − 1)a ⇒ ap−1a ≡ a (mod p)

Page 33: Criptograf´ıa asimetrica o de clave pub´ lica´personales.upv.es/~fjmartin/cdii_web/traspas/Tema3_Clave...Intro. DH RSA ElGamal ECC Criptograf´ıa asimetrica o de clave pu´blica´

Intro. DH RSA ElGamal ECC

Introduccion a la Teorıa de Numeros

CorolarioSea p, a ∈ Z, con p primo, entonces

ak(p−1)a ≡ a (mod p)

El razonamiento es analogo al anterior.

Page 34: Criptograf´ıa asimetrica o de clave pub´ lica´personales.upv.es/~fjmartin/cdii_web/traspas/Tema3_Clave...Intro. DH RSA ElGamal ECC Criptograf´ıa asimetrica o de clave pu´blica´

Intro. DH RSA ElGamal ECC

Introduccion a la Teorıa de Numeros

CorolarioSea p, a, b ∈ Z, con p primo, entonces

ab ≡ ab mod (p−1) (mod p)

Demostraci onSea b = k(p − 1) + r , con r = b mod (p − 1) (algoritmode la division), entonces

ab ≡ ak(p−1)+r ≡ ak(p−1)ar ≡ ar ≡ ab mod (p−1) (mod p)

Page 35: Criptograf´ıa asimetrica o de clave pub´ lica´personales.upv.es/~fjmartin/cdii_web/traspas/Tema3_Clave...Intro. DH RSA ElGamal ECC Criptograf´ıa asimetrica o de clave pu´blica´

Intro. DH RSA ElGamal ECC

Introduccion a la Teorıa de Numeros

Teorema: teorema chino de los restos congruentes ( CRT—Chinese Remainder Theorem—)

Sean x1, x2, . . . xr ∈ Z y p1, p2, . . . pr ∈ Z con mcd(pi , pj )=1,∀i 6= j y N = p1p2 . . . pr . Sistema de ecuaciones decongruencias:

x ≡ x1 (mod p1)

x ≡ x2 (mod p2)

...

x ≡ xr (mod pr )

Solucion unica en [0, N − 1] (algoritmo de Gauss):

x ≡

(

r∑

i=1

(

Npi

)

[

(

Npi

)−1

(mod pi)

]

xi

)

(mod N)

Page 36: Criptograf´ıa asimetrica o de clave pub´ lica´personales.upv.es/~fjmartin/cdii_web/traspas/Tema3_Clave...Intro. DH RSA ElGamal ECC Criptograf´ıa asimetrica o de clave pu´blica´

Intro. DH RSA ElGamal ECC

Introduccion a la Teorıa de Numeros

Teorema (cont.)

Ejemplo: r = 2, x1 = 124, x2 = 8, p1 = 7, p2 = 13

x ≡ 124 (mod 7)

x ≡ 8 (mod 13)

con mcd(p1, p2) = mcd(7,13) = 1, y N = 13 · 7 = 91, entonces

x ≡(

91

7

[

(

91

7

)−1

(mod 7)

]

· 124 +91

13

[

(

91

13

)−1

(mod 13)

]

· 8

)

(mod 91)

≡(

13[

13−1 (mod 7)]

· 124 + 7[

7−1 (mod 13)]

· 8)

(mod 91)

≡ (13 · [6] · 124 + 7 · [2] · 8) (mod 91)

≡ (9672 + 112) (mod 91)

≡ 9784 (mod 91)

≡ 47 (mod 91)

Page 37: Criptograf´ıa asimetrica o de clave pub´ lica´personales.upv.es/~fjmartin/cdii_web/traspas/Tema3_Clave...Intro. DH RSA ElGamal ECC Criptograf´ıa asimetrica o de clave pu´blica´

Intro. DH RSA ElGamal ECC

Introduccion a la Teorıa de Numeros

Teorema (cont.)

Ejemplo (cont.)Por tanto, 47 es el unico numero en el intervalo [0, 7 · 13 − 1] = [0, 90] quecumple que

47 ≡ 124 (mod 7)

47 ≡ 8 (mod 13)

Efectivamente ya que:

124 = 17 · 7 + 5

47 = 6 · 7 + 5

8 = 0 · 13 + 8

47 = 3 · 13 + 8

Page 38: Criptograf´ıa asimetrica o de clave pub´ lica´personales.upv.es/~fjmartin/cdii_web/traspas/Tema3_Clave...Intro. DH RSA ElGamal ECC Criptograf´ıa asimetrica o de clave pu´blica´

Intro. DH RSA ElGamal ECC

Introduccion a la Teorıa de Numeros

CorolarioSi N = p1p2 · · ·pr , con mcd(pi , pj )=1 ∀i 6= j , entonces

x ≡ a (mod N) ⇔

x ≡ a (mod p1)x ≡ a (mod p2)

...x ≡ a (mod pr )

Si en un sistema de ecuaciones de congruencias, xi = a,∀1 ≤ i ≤ r , entonces la solucion es x ≡ a (mod N)

Page 39: Criptograf´ıa asimetrica o de clave pub´ lica´personales.upv.es/~fjmartin/cdii_web/traspas/Tema3_Clave...Intro. DH RSA ElGamal ECC Criptograf´ıa asimetrica o de clave pu´blica´

Intro. DH RSA ElGamal ECC

Introduccion a la Teorıa de Numeros

Corolario (cont.)

Ejemplo: a = 176, p1 = 7, p2 = 13, N = 7 · 13 = 91

x ≡ 176 (mod 91) ⇔{

x ≡ 176 (mod 7)x ≡ 176 (mod 13)

La solucion en el intervalo [0, 90] es

x ≡ 85 ≡ 176 (mod 91)

con 176 = 1 · 91 + 85 . Efectivamente:

176 = 25 · 7 + 1

85 = 12 · 7 + 1

176 = 13 · 13 + 7

85 = 6 · 13 + 7

Page 40: Criptograf´ıa asimetrica o de clave pub´ lica´personales.upv.es/~fjmartin/cdii_web/traspas/Tema3_Clave...Intro. DH RSA ElGamal ECC Criptograf´ıa asimetrica o de clave pu´blica´

Intro. DH RSA ElGamal ECC

Introduccion a la Teorıa de Numeros

Algoritmo: algoritmo de Garner

Resuelve sistemas de ecuaciones congruentes, evitandooperaciones (mod N), con un sustancioso ahorro en eltiempo de calculo.

Entrada: vectores pi y xi (i = 1 . . . r )Salida: xfor i = 2 : r

Ci = 1for j = 1 : i − 1

u = p−1j mod pi

Ci = uCi mod piend

endx = x1 mod p1for i = 2 : r

u = (xi − x)Ci mod pi

x = x + u∏ i−1

j=1 pj

endreturn x

Page 41: Criptograf´ıa asimetrica o de clave pub´ lica´personales.upv.es/~fjmartin/cdii_web/traspas/Tema3_Clave...Intro. DH RSA ElGamal ECC Criptograf´ıa asimetrica o de clave pu´blica´

Intro. DH RSA ElGamal ECC

Introduccion a la Teorıa de Numeros

Ejemplo: traza del algoritmo de Garner conr = 2, p1 = 7, p2 = 13, x1 = 124, x2 = 8

Entrada: vectores pi y xi (i = 1 . . . 2)Salida: xfor i = 2 : 2

Ci = 1, (⇒ C2 = 1)for j = 1 : 1

u = p−1j mod pi , (⇒ u = p−1

1 mod p2, ⇒ u = 7−1 mod 13 = 2)Ci = uCi mod pi , (⇒ C2 = uC2 mod p2, ⇒ C2 = 2 · 1 mod 13 = 2)

endendx = x1 mod p1, (⇒ x = 124 mod 7 = 5)for i = 2 : 2

u = (xi − x)Ci mod pi , (⇒ u = (x2 − x)C2 mod p2,⇒ u = (8 − 5)2 mod 13 = 6)

x = x + u∏ i−1

j=1 pj , (⇒ x = x + up1, ⇒ x = 5 + 6 · 7 = 47)endreturn x (⇒ x = 47)

x = x1 mod p1 +[

(x2 − x1 mod p1)p−11 mod p2

]

p1

Page 42: Criptograf´ıa asimetrica o de clave pub´ lica´personales.upv.es/~fjmartin/cdii_web/traspas/Tema3_Clave...Intro. DH RSA ElGamal ECC Criptograf´ıa asimetrica o de clave pu´blica´

Intro. DH RSA ElGamal ECC

Funciones unidireccionales

Definici on

y = f (x) facilmente calculable, pero x = f−1(y) es intratablecomputacionalmente

Ejemplo: y ≡ gx (mod p), con y , g, p ∈ Z, y p primograndeLa funcion inversa x ≡ logg y (mod p) —problema del logaritmo

discreto — requiere O(e√

log(p) log log(p)) operaciones de computo elementales.Si p tiene del orden de 512 dıgitos binarios, y los logaritmos son en base 2,entonces, son necesarias

e√

512·9 = e67,8 = 2, 8 · 1029 operaciones

Si nuestro sistema es capaz de realizar 64 Giga-operaciones/s, se tardarıa:

2, 8 · 1029

64 · 109= 4, 4 · 1018 s = 1, 4 · 1011 a

Page 43: Criptograf´ıa asimetrica o de clave pub´ lica´personales.upv.es/~fjmartin/cdii_web/traspas/Tema3_Clave...Intro. DH RSA ElGamal ECC Criptograf´ıa asimetrica o de clave pu´blica´

Intro. DH RSA ElGamal ECC

Descripcion DH

Parametros

Sea

p un numero primo grande

g un generador del grupo multiplicativo Zp: sus potenciasgeneran todos los elementos del grupo

Zp = {1, 2, . . . p − 1}

p y g son publicos

Page 44: Criptograf´ıa asimetrica o de clave pub´ lica´personales.upv.es/~fjmartin/cdii_web/traspas/Tema3_Clave...Intro. DH RSA ElGamal ECC Criptograf´ıa asimetrica o de clave pu´blica´

Intro. DH RSA ElGamal ECC

Descripcion DH

Modus operandi

A BAcuerdo

enp y g

1 < xa < p − 1: xa secreto 1 < xb < p − 1: xb secretoya ≡ gxa (mod p) yb ≡ gxb (mod p)

ya ⇐⇒ yb

zba ≡ yxab ≡ gxbxa (mod p) zab ≡ yxb

a ≡ gxaxb (mod p)

zab = zba: secreto compartido

Ruptura: problema del logaritmo discreto , inviablecomputacionalmente.

Unico problema: ataque en el medio (autenticacion porotros medios).

Page 45: Criptograf´ıa asimetrica o de clave pub´ lica´personales.upv.es/~fjmartin/cdii_web/traspas/Tema3_Clave...Intro. DH RSA ElGamal ECC Criptograf´ıa asimetrica o de clave pu´blica´

Intro. DH RSA ElGamal ECC

Descripcion RSA

Parametros

Sean p y q dos numeros primos grandes y N = pq,entonces:

φ(N) = (p − 1)(q − 1)

Sea e un entero aleatorio, 1 < e < N, con mcd(e, φ(N))=1

Sea d otro entero que verifica:

ed ≡ 1 (mod φ(N))

d ≡ e−1 (mod φ(n))

es decir,

ed = kφ(N) + 1

Page 46: Criptograf´ıa asimetrica o de clave pub´ lica´personales.upv.es/~fjmartin/cdii_web/traspas/Tema3_Clave...Intro. DH RSA ElGamal ECC Criptograf´ıa asimetrica o de clave pu´blica´

Intro. DH RSA ElGamal ECC

Descripcion RSA

Modus operandi

Mensaje M: entero 0 ≤ M < N

Cifrado C:

C ≡ Me (mod N)

Descifrado:

M ≡ Cd ≡ (Me)d ≡ Med (mod N)

Clave de cifrado —publica—: (N, e)

Clave de descifrado —privada—: (N, d)

Page 47: Criptograf´ıa asimetrica o de clave pub´ lica´personales.upv.es/~fjmartin/cdii_web/traspas/Tema3_Clave...Intro. DH RSA ElGamal ECC Criptograf´ıa asimetrica o de clave pu´blica´

Intro. DH RSA ElGamal ECC

Descripcion RSA

Ejemplo

p = 11

q = 7

N = pq

= 11 · 7

= 77

φ(N) = (p − 1)(q − 1)

= 10 · 6

= 60

e = 17

d ≡ e−1 (mod 60)

≡ 17−1 (mod 60)

≡ 53 (mod 60)

M = 23

C ≡ Me (mod N)

≡ 2317 (mod 77)

≡ 141050039560662968926103

(mod 77)

≡ 67 (mod 77) (Alg. de

exponenciacion eficiente)

M′ ≡ Cd (mod N)

≡ 6753 (mod 77)

≡ 60529145527220195918987

11030314941034235684285

86509554343742858342336

00865328511929839774350

55987 (mod 77)

≡ 23 (mod 77)

Page 48: Criptograf´ıa asimetrica o de clave pub´ lica´personales.upv.es/~fjmartin/cdii_web/traspas/Tema3_Clave...Intro. DH RSA ElGamal ECC Criptograf´ıa asimetrica o de clave pu´blica´

Intro. DH RSA ElGamal ECC

Descripcion RSA

Comprobaci on: M ≡ Med (mod N)

Si N = pq, con p y q primos, por el Teorema chino de losrestos congruentes :

X ≡ Med (mod N) y{

X ≡ Med (mod p)

X ≡ Med (mod q)

Podremos calcular X . Recordemos que

ed = kφ(N) + 1

luego

X ≡ Mkφ(N)+1 (mod p)

X ≡ Mkφ(N)+1 (mod q)

Page 49: Criptograf´ıa asimetrica o de clave pub´ lica´personales.upv.es/~fjmartin/cdii_web/traspas/Tema3_Clave...Intro. DH RSA ElGamal ECC Criptograf´ıa asimetrica o de clave pu´blica´

Intro. DH RSA ElGamal ECC

Descripcion RSA

Comprobaci on: M ≡ Med (mod N)

X ≡ Mk(p−1)(q−1)+1 ≡ Mk(p−1)(q−1)M ≡ Mk1(p−1)M (mod p)

X ≡ Mk(p−1)(q−1)+1 ≡ Mk(p−1)(q−1)M ≡ Mk2(q−1)M (mod q)

con k1 = k(q − 1) y k2 = k(p − 1). Como p como q son primos:

X ≡ M ≡ Mk1(p−1)M (mod p)X ≡ M ≡ Mk2(q−1)M (mod q)

}

⇐⇒ X ≡ M ≡ Med (mod N)

Page 50: Criptograf´ıa asimetrica o de clave pub´ lica´personales.upv.es/~fjmartin/cdii_web/traspas/Tema3_Clave...Intro. DH RSA ElGamal ECC Criptograf´ıa asimetrica o de clave pu´blica´

Intro. DH RSA ElGamal ECC

Fortaleza de RSA

Fundamentos

A partir de la clave publica no puede deducirse nadarespecto a la clave privada

Problema del logaritmo discreto : inversion de c ≡ me

(mod N)

Problema de la factorizacion de N = pq

Problema del calculo de la funcion de Euler φ(N)

. . . de un numero —N— de valor extremadamente grande

Page 51: Criptograf´ıa asimetrica o de clave pub´ lica´personales.upv.es/~fjmartin/cdii_web/traspas/Tema3_Clave...Intro. DH RSA ElGamal ECC Criptograf´ıa asimetrica o de clave pu´blica´

Intro. DH RSA ElGamal ECC

Claves multiples de descifrado

¿Cuantas?

Sean

λ = mcm(p − 1, q − 1)

dλ ≡ e−1 (mod λ)

entonces,

di = dλ + iλ, i = 0, . . .

N − dλ

λ

− 1

son las⌈

N−dλ

λ

claves de descifrado RSA validas.

Page 52: Criptograf´ıa asimetrica o de clave pub´ lica´personales.upv.es/~fjmartin/cdii_web/traspas/Tema3_Clave...Intro. DH RSA ElGamal ECC Criptograf´ıa asimetrica o de clave pu´blica´

Intro. DH RSA ElGamal ECC

Claves multiples de descifrado

Ejemplo: p = 43, q = 71

N = pq = 43 · 71 = 3053

λ = mcm(p − 1, q − 1) = mcm(42, 70) = 210

Elegimos aleatoriamente e = 157, con tal de que mcd(e, λ)=1. Calculamos

dλ ≡ e−1 ≡ 157−1 ≡ 103 (mod 210)

Page 53: Criptograf´ıa asimetrica o de clave pub´ lica´personales.upv.es/~fjmartin/cdii_web/traspas/Tema3_Clave...Intro. DH RSA ElGamal ECC Criptograf´ıa asimetrica o de clave pu´blica´

Intro. DH RSA ElGamal ECC

Claves multiples de descifrado

Ejemplo (cont.)Las posibles claves de descifrado di parejas de e = 157 son:

di = dλ + iλ = 103 + i · 210

con

0 ≤ i ≤⌈

N − dλ

λ

− 1 ≤⌈

3053 − 103

210

− 1 ≤ ⌈14, 04⌉ − 1 ≤ 15 − 1

0 ≤ i ≤ 14

Por lo tanto:

di = {103, 313, 523, 733, 943, 1153, 1363,

1573, 1783, 1993, 2203, 2413, 2623, 2833, 3043}

Page 54: Criptograf´ıa asimetrica o de clave pub´ lica´personales.upv.es/~fjmartin/cdii_web/traspas/Tema3_Clave...Intro. DH RSA ElGamal ECC Criptograf´ıa asimetrica o de clave pu´blica´

Intro. DH RSA ElGamal ECC

Claves multiples de descifrado

Numero mınimo posible de claves validas: 2. Paraconseguirlas:

p y q son numeros primos fuertes:

p = 2p′ + 1

q = 2q′ + 1

siendo p′ y q′ dos numeros primos

Se escoge una clave de cifrado aleatoria e, tal que, siendodλ ≡ e−1 (mod λ), se cumpla que

dλ > N − 2λ

Page 55: Criptograf´ıa asimetrica o de clave pub´ lica´personales.upv.es/~fjmartin/cdii_web/traspas/Tema3_Clave...Intro. DH RSA ElGamal ECC Criptograf´ıa asimetrica o de clave pu´blica´

Intro. DH RSA ElGamal ECC

Claves multiples de descifrado

Ejemplo: p = 11 = 2p′ + 1, p′ = 5; q = 23 = 2q′ + 1,q′ = 11

N = pq = 11 · 23 = 253

λ = mcm(p − 1, q − 1) = mcm(10, 22) = 110

Se elije e aleatoriamente para que mcd(e, λ)=1, e = 31, siendo

dλ ≡ 31−1 ≡ 71 (mod 110)

siendo dλ = 71 > N − 2λ = 253 − 2 · 110 = 33. En este caso, las claves diparejas de e = 31 son:

di = 71 + i · 110,

0 ≤ i ≤⌈

N − dλ

λ

− 1 =

253 − 71

110

− 1 = ⌈1, 65⌉ − 1 = 2 − 1 = 1

= {71, 181}

Page 56: Criptograf´ıa asimetrica o de clave pub´ lica´personales.upv.es/~fjmartin/cdii_web/traspas/Tema3_Clave...Intro. DH RSA ElGamal ECC Criptograf´ıa asimetrica o de clave pu´blica´

Intro. DH RSA ElGamal ECC

Mensajes no cifrables

Definici on: mensaje no cifrable

Me ≡ M (mod N)

La cantidad de mensajes no cifrables σN es

σN = (1 + mcd(e − 1, p − 1))(1 + mcd(e − 1, q − 1)) (1)

Page 57: Criptograf´ıa asimetrica o de clave pub´ lica´personales.upv.es/~fjmartin/cdii_web/traspas/Tema3_Clave...Intro. DH RSA ElGamal ECC Criptograf´ıa asimetrica o de clave pu´blica´

Intro. DH RSA ElGamal ECC

Mensajes no cifrables

Mınima cantidad

Teorema: mınimo numero de mensajes no cifrables

p primo ⇒ p impar ⇒ p − 1 par

q primo ⇒ q impar ⇒ q − 1 par

φ(N) = (p − 1)(q − 1) par

mcd(e, φ(N))=1 ⇒ e impar (luego 2 < e < N)⇒ e − 1 par

El valor mınimo de la ecuacion (1) se obtiene cuando

mcd(e − 1, p − 1) = 2

mcd(e − 1, q − 1) = 2

En cuyo caso σN = (1 + 2)(1 + 2) = 9 mensajes no cifrables.

Page 58: Criptograf´ıa asimetrica o de clave pub´ lica´personales.upv.es/~fjmartin/cdii_web/traspas/Tema3_Clave...Intro. DH RSA ElGamal ECC Criptograf´ıa asimetrica o de clave pu´blica´

Intro. DH RSA ElGamal ECC

Mensajes no cifrables

Corolario: obtenci on del mınimo de mensajes no cifrables

Si p y q son numeros primos fuertes{

p = 2p′ + 1q = 2q′ + 1

mcd(e − 1, p − 1) = mcd(e − 1, 2p′) = 2 o 2p′

mcd(e − 1, q − 1) = mcd(e − 1, 2q′) = 2 o 2q′

Simcd(e − 1, p′) = mcd(e − 1, q′) = 1

entonces como e − 1 es par:

mcd(e − 1, 2p′) = mcd(e − 1, 2q′) = 2

consiguiendo el mınimo de 9 mensajes no cifrables .

Page 59: Criptograf´ıa asimetrica o de clave pub´ lica´personales.upv.es/~fjmartin/cdii_web/traspas/Tema3_Clave...Intro. DH RSA ElGamal ECC Criptograf´ıa asimetrica o de clave pu´blica´

Intro. DH RSA ElGamal ECC

Mensajes no cifrables

Ejemplo: N del orden de 1024 bitsEn una situacion practica, si por ejemplo, N se codifica con 1024 bits, laprobabilidad de que un mensaje sea no cifrable es:

Casos favorables

Casos posibles=

9

21024≈ 5 · 10−308

Page 60: Criptograf´ıa asimetrica o de clave pub´ lica´personales.upv.es/~fjmartin/cdii_web/traspas/Tema3_Clave...Intro. DH RSA ElGamal ECC Criptograf´ıa asimetrica o de clave pu´blica´

Intro. DH RSA ElGamal ECC

Alternativas de descifrado RSA

Concepciones convencionales

m ≡ cd (mod N)

Resolver el sistema

x ≡ cd (mod p)

x ≡ cd (mod q)

con N = pq, siendo la solucion m ≡ x (mod N)

Page 61: Criptograf´ıa asimetrica o de clave pub´ lica´personales.upv.es/~fjmartin/cdii_web/traspas/Tema3_Clave...Intro. DH RSA ElGamal ECC Criptograf´ıa asimetrica o de clave pu´blica´

Intro. DH RSA ElGamal ECC

Alternativas de descifrado RSA

Concepci on alternativa

x ≡ cd (mod p)

x ≡ cd (mod q)

}

{

x ≡ cdP (mod p)

x ≡ cdQ (mod q)

siendo

dP ≡ e−1 (mod p − 1) ⇒ dPe ≡ 1 (mod p − 1) ⇒ dPe = kp(p − 1) + 1

dQ ≡ e−1 (mod q − 1) ⇒ dQe ≡ 1 (mod q − 1) ⇒ dQe = kq(q − 1) + 1

entonces

x ≡ cdP ≡ medP ≡ mkp(p−1)+1 ≡ m (mod p)

x ≡ cdQ ≡ medQ ≡ mkq(q−1)+1 ≡ m (mod q)

}

⇒ x ≡ m (mod N)

Page 62: Criptograf´ıa asimetrica o de clave pub´ lica´personales.upv.es/~fjmartin/cdii_web/traspas/Tema3_Clave...Intro. DH RSA ElGamal ECC Criptograf´ıa asimetrica o de clave pu´blica´

Intro. DH RSA ElGamal ECC

Alternativas de descifrado RSA

Para resolver cualquiera de los sistemas planteados puedeemplearse el algoritmo de Gauss para el CRT

x ≡i=k∑

i=1

(

Nri

)

[

(

Nri

)−1

(mod ri)

]

ai (mod N)

≡ q(q−1 (mod p))cd + p(p−1 (mod q))cd (mod N)

≡ qp−1cd + pq−1cd (mod N)

≡ q(q−1 (mod p))cdP + p(p−1 (mod q))cdQ (mod N)

≡ qp−1cdP + pq−1cdQ (mod N)

Page 63: Criptograf´ıa asimetrica o de clave pub´ lica´personales.upv.es/~fjmartin/cdii_web/traspas/Tema3_Clave...Intro. DH RSA ElGamal ECC Criptograf´ıa asimetrica o de clave pu´blica´

Intro. DH RSA ElGamal ECC

Alternativas de descifrado RSA

O bien el algoritmo de Garner, que particularizado al problemaRSA (k = 2, a1 = cdP , a2 = cdQ , r1 = p, r2 = q)

x = cdP mod p1 + [(cdQ − cdP mod p1)p−1 (mod q)]p

En PKCS#1 se intercambian los papeles de a1 y a2, y de r1 y r2

Page 64: Criptograf´ıa asimetrica o de clave pub´ lica´personales.upv.es/~fjmartin/cdii_web/traspas/Tema3_Clave...Intro. DH RSA ElGamal ECC Criptograf´ıa asimetrica o de clave pu´blica´

Intro. DH RSA ElGamal ECC

RSA multiprimo

Sistema RSA en el que N = r1r2 · · · ru, con u > 2, entonces

λ = mcm(r1 − 1, r2 − 1, . . . , ru − 1)

Se elige 2 < e < N aleatorio, tal que mcd(e, λ)=1

Para cifrar:c ≡ me (mod N)

Page 65: Criptograf´ıa asimetrica o de clave pub´ lica´personales.upv.es/~fjmartin/cdii_web/traspas/Tema3_Clave...Intro. DH RSA ElGamal ECC Criptograf´ıa asimetrica o de clave pu´blica´

Intro. DH RSA ElGamal ECC

RSA multiprimo

Para descifrar, alternativas:m ≡ cd (mod N), donde

d ≡ e−1 (mod λ)

Se plantea el siguiente sistemas de ecuacionescongruenciales:

m ≡ cd1 (mod r1)

m ≡ cd2 (mod r2)

...

m ≡ cdu (mod ru)

dondedi ≡ e−1 (mod ri − 1), i = 1, . . . u

resolviendolo tıpicamente con el algoritmo de Garner.

Numeros primos implicados son mas pequenos (menoscostosos computacionalmente de tratar y conseguir).Desventaja: sistema menos robusto.

Page 66: Criptograf´ıa asimetrica o de clave pub´ lica´personales.upv.es/~fjmartin/cdii_web/traspas/Tema3_Clave...Intro. DH RSA ElGamal ECC Criptograf´ıa asimetrica o de clave pu´blica´

Intro. DH RSA ElGamal ECC

Relleno (padding)

Documento PKCS#1

PKCS#1-v1 5: si k es la longitud en octetos del modulo N,y l la del mensaje solo se pueden cifrar mensajes delongitud l ≤ k − 11Se cifra m′ = 00||02||PS||00||mdonde PS es una secuencia aleatoria de k − l − 3 octetos,sin ningun octeto a cero.

OAEP: Optimal Asymmetric Encryption Padding.

Page 67: Criptograf´ıa asimetrica o de clave pub´ lica´personales.upv.es/~fjmartin/cdii_web/traspas/Tema3_Clave...Intro. DH RSA ElGamal ECC Criptograf´ıa asimetrica o de clave pu´blica´

Intro. DH RSA ElGamal ECC

Sean

p: numero primo grande (varios centenares de dıgitosdecimales)

g: generador del grupo Zp (sus potencias generan todoslos elementos del grupo {1, . . . p − 1}).

x : numero entero aleatorio secreto

y ≡ gx (mod p)

Clave secreta: (p, g, x)

Clave publica: (p, g, y)

Page 68: Criptograf´ıa asimetrica o de clave pub´ lica´personales.upv.es/~fjmartin/cdii_web/traspas/Tema3_Clave...Intro. DH RSA ElGamal ECC Criptograf´ıa asimetrica o de clave pu´blica´

Intro. DH RSA ElGamal ECC

Cifrado:

Acceso a clave publica (p, g, y)

Generacion de numero aleatorio secreto k , con1 < k < p − 1 y mcd(k , p − 1)=1.

Un mensaje M, con 1 < M < p se cifra como

C = (r , s)

r ≡ gk (mod p)

s ≡ Myk (mod p)

Page 69: Criptograf´ıa asimetrica o de clave pub´ lica´personales.upv.es/~fjmartin/cdii_web/traspas/Tema3_Clave...Intro. DH RSA ElGamal ECC Criptograf´ıa asimetrica o de clave pu´blica´

Intro. DH RSA ElGamal ECC

Descifrado:

Acceso a su clave privada (p, g, x)

Mensaje M recuperado a partir de C = (r , s):

M ≡ s (r x)−1

(mod p)

Comprobacion:

s (r x)−1

≡ Myk((

gk)x)−1

(mod p)

≡ Myk(

(gx)k)−1

(mod p)

≡ Myk(

yk)−1

(mod p)

≡ M (mod p)

Page 70: Criptograf´ıa asimetrica o de clave pub´ lica´personales.upv.es/~fjmartin/cdii_web/traspas/Tema3_Clave...Intro. DH RSA ElGamal ECC Criptograf´ıa asimetrica o de clave pu´blica´

Intro. DH RSA ElGamal ECC

Ventajas: el mismo mensaje no tiene porque tener elmismo texto cifrado, debido a k

Inconvenientes: el cifrado es expansivo (longitud del texocifrado es el doble que el texto llano)

Fortaleza: logaritmo discreto

Page 71: Criptograf´ıa asimetrica o de clave pub´ lica´personales.upv.es/~fjmartin/cdii_web/traspas/Tema3_Clave...Intro. DH RSA ElGamal ECC Criptograf´ıa asimetrica o de clave pu´blica´

Intro. DH RSA ElGamal ECC

Ejemplo: (p, g, x) = (107, 32, 74)

siendo la clave publica ElGamal (p, g, y), con

y ≡ 3274 ≡ 53 (mod 107)

por tanto (p, g, y) = (107, 32, 53)Si alguien desea enviar un mensaje cifrado al propietario de esta clave debe:

Conseguir la clave publica (p, g, y) = (107, 32, 53)

Generar un numero aleatorio k , con mcd(k , p − 1)=1, por ejemplo 49

Cifrar el mensaje M con 1 < M < p, por ejemplo M = 82:

r ≡ gk (mod p) ≡ 3249 (mod 107) ≡ 58 (mod 107)

s ≡ Myk (mod p) ≡ 82 · 5349 (mod 107) ≡ 28 (mod 107)

C = (r , s) = (58, 28)

Page 72: Criptograf´ıa asimetrica o de clave pub´ lica´personales.upv.es/~fjmartin/cdii_web/traspas/Tema3_Clave...Intro. DH RSA ElGamal ECC Criptograf´ıa asimetrica o de clave pu´blica´

Intro. DH RSA ElGamal ECC

Ejemplo (cont.)El propietario de la clave podra descifrar el mensaje haciendo:

M ≡ s(

r x)−1(mod p)

≡ 28(

5874)−1

(mod 107)

≡ 28 · 16−1 (mod 107)

≡ 82 (mod 107)

Page 73: Criptograf´ıa asimetrica o de clave pub´ lica´personales.upv.es/~fjmartin/cdii_web/traspas/Tema3_Clave...Intro. DH RSA ElGamal ECC Criptograf´ıa asimetrica o de clave pu´blica´

Intro. DH RSA ElGamal ECC

ECC: Elliptic Curve Cryptography (criptografıa de curvaselıpticas)