1 / 28

Seguridad informática

Seguridad informática. Matemática I. Alejandro Silvestri 2008. Presentación basada en el libro de W. Stallings, Cryptography and Network Security, 4º ed. Grupos y campos. Grupo.

nathan
Download Presentation

Seguridad informática

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Seguridad informática Matemática I Alejandro Silvestri 2008 Presentación basada en el libro de W. Stallings, Cryptography and Network Security, 4º ed.

  2. Grupos y campos

  3. Grupo • Es un conjunto discreto y finito de valores, sobre los que se define la adición con las siguientes características • Cerramiento • El resultado de una adición se encuentra dentro del grupo • Asociatividad • Elemento de identidad • 0+a = a+0 = a • Inversa • a+a’ = a’+a = 0 • Grupo Abeliano • Conmutatividad de la adición

  4. Anillos • Es un grupo abeliano en el que se define el producto, con las siguientes características • Cerramiento • Asociatividad • Leyes distributivas con la adición • Anillo conmutativo • Conmutatividad del producto

  5. Campos • Dominio integral es un anillo conmutativo con: • Elemento de identidad del producto • 1.a = a.1 = a • Divisores no cero • a.b = 0 => a=0 v b=0 • Campo • Inversa del producto • Para todos los elementos excepto el cero • b=a-1 => a.b = 1

  6. Grupos, anillos y campos

  7. Aritmética modular

  8. Artimética módulo n • La aritmética modular es una forma particular de campo o de dominio integral • sobre n enteros entre 0 y n-1 • La operación amod b calcula el resto de a/b • Operaciones módulo n se indican con un (mod n) a la derecha

  9. Adición y producto • La adición se define a partir de la suma aritmética • c=a+b (mod n) : c=(a+b) mod n • El producto se define a partir de la multiplicación aritmética • c=a.b (mod n) : c=(a.b) mod n • a3 mod n = {[(a.a) mod n] . a} mod n • Resta • c=a–b (mod n) : c=(a-b) mod n

  10. División • c=a/b (mod n) ≠>c=(a/b) mod n • c = a.d (mod n) • d = b-1 (mod n) • En álgebra modular no todos los elementos de un dominio tienen inversa • Los valores sin inversas son los que tienen denominadores comunes con n • Si todos los elementos tienen inversa, se trata de un campo • Esto ocurre con n primo • La inversa no se determina a través de un cálculo directo, pero sí iterando con el algoritmo de Euclides extendido

  11. Adición, producto e inversas

  12. Logaritmo discreto • dloga,n(x)=k => ak=x (mod n) • Sólo existe si a es una raíz primitiva de n • No todos los enteros n tienen raíces primitivas • Los únicos son • 2 • 4 • pb • 2.pb • p es primo >2 y b es entero positivo • No es posible calcular en forma directa el logaritmo discreto • Se deben recorrer los valores buscando el resultado

  13. Raíces primitivas

  14. Tablas de logaritmos

  15. Teoremas y técnicas

  16. Algoritmo de Euclides • Para encontrar el máximo divisor común (gcd) de dos valores • Es un algoritmo recursivo de recursividad finita, basado en la siguiente propiedad • gcd(a,b) = gcd(b, a mod b) • para a>b • De esta manera se reducen sucesivamente las magnitudes de a y b • Cuando la iteración devuelve cero, el valor obtenido en la iteración anterior es el gcd.

  17. Código del algoritmo de Euclides EUCLID(a, b) • A = a; B = b • if B = 0 return A = gcd(a, b) • R = A mod B • A = B • B = R • goto 2

  18. Algoritmo de Euclides extendido • Una versión extendida del algoritmo de Euclides permite determinar la inversa módulo n de un número, a través de una serie de aproximaciones sucesivas

  19. Código de Euclides extendido EXTENDED EUCLID[m(x), b(x)] • [A1(x), A2(x), A3(x)] = [1, 0, m(x)]; • [B1(x), B2(x), B3(x)] = [0, 1, b(x)]; • if B3(x) = 0 return A3(x) = gcd[m(x), b(x)]; no • inverse • if B3(x) = 1 return B3(x) = gcd[m(x), b(x)]; • B2(x) = b(x)1 mod m(x) • Q(x) = quotient of A3(x)/B3(x) • [T1(x), T2(x), T3(x)] = [A1(x) Q(x)B1(x), A2(x)Q(x)B2(x), A3(x) QB3(x)] • [A1(x), A2(x), A3(x)] = [B1(x), B2(x), B3(x)] • [B1(x), B2(x), B3(x)] = [T1(x), T2(x), T3(x)] • goto 3

  20. Fast Modular Exponentiation Algorithm • Calcula ab mod n Resultado delFast ModularExponentiationAlgorithm para ab mod n donde a = 7, b = 560 = 1000110000, n = 561

  21. Totiente de Euler • Φ(n) • Es la cantidad de valores entre 1 y n-1 relativamente primos con n (es decir gcd(n, k)=1 • El valor k=1 se considera relativamente primo • Se define Φ(1) = 1 • Propiedad • Sean p y q primos, p≠q • Φ(p) = p-1 • Φ(p.q) = (p-1)(q-1)

  22. Teorema de Euler • Para a y n relativamente primos, y a<n • aΦ(n) = 1 (mod n) • Si p es primo: • a(p-1) = 1 (mod p) • Pequeño teorema de Fermat • an = a (mod n) • Si p es primo: • a(p-1) = 1 (mod p)

  23. Teorema chino del resto (CRT) • Sean • n y k enteros positivos • N el vector de divisores primos de n • K el vector de restos de k mod N • Se verifica que K y k mantienen una relación biyectiva • K contiene la información necesaria para reconstruir k

  24. RSA • Med mod n = M • n = p.q p, q primos • e.d = Φ(n) = (p-1)(q-1) • => e.d mod Φ(n) = 1 • => Mk.Φ(n)+1 mod n = M • => Mk.(p-1)(q-1)+1 mod n = M • Esto requiere que se cumplan • Mk.(p-1)(q-1)+1 mod p = M • Mk.(p-1)(q-1)+1 mod q = M • Por el teorema del resto chino: • X mod p ^ X moq q => X mod (p.q)

  25. RSA • Mk.(p-1)(q-1)+1 mod p = = M.MΦ(p).k(q-1) mod p = = M mod p [MΦ(p) mod p]k(q-1) • Teorema de Euler MΦ(p) mod p = 1 = M mod p [1]k(q-1) = M mod p

  26. Números primos

  27. Test de primalidad • Test iterativo probabilístico • Miller Rabin (1975) • Determina la primalidad relativa de un dato n a las potencias de un dato a • Probabilidad de primalidad: 75% • Si el algoritmo señala que el dato no es primo, es conclusivo • Si señala que el dato puede ser primo, tiene un 75% de probabilidad de acertar • Test determinístico • Agrawal, Kayal y Saxena (2002)

  28. Distribución de primos • La densidad de números primos entre los números enteros disminuye a medida que aumentan los enteros • Para un entero n, la separación promedio de números primos es ln(n)

More Related