Docsity
Docsity

Prepara tus exámenes
Prepara tus exámenes

Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity


Consigue puntos base para descargar
Consigue puntos base para descargar

Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium


Orientación Universidad
Orientación Universidad

Teoria de los Números - Apuntes - Seguridad Informática - Informática - Parte 1, Apuntes de Seguridad Informática

Apuntes del curso universitario de Informatica sobre la Teoría de los Numeros - En criptografía muchas veces nos interesará encontrar el máximo común denominador mcd entre dos números a y b.

Tipo: Apuntes

2012/2013

Subido el 08/05/2013

Mauro_88
Mauro_88 🇻🇪

4.5

(213)

624 documentos

1 / 35

Documentos relacionados


Vista previa parcial del texto

¡Descarga Teoria de los Números - Apuntes - Seguridad Informática - Informática - Parte 1 y más Apuntes en PDF de Seguridad Informática solo en Docsity! Capítulo 7 ¡ARAS NSIOS o Te A dls docsity.com  La congruencia es la base en la que se sustentan las operaciones de cifra en matemática discreta.  Concepto de congruencia: › Sean dos números enteros a y b: se dice que a es congruente con b en el módulo o cuerpo n (Zn) si y sólo si existe algún entero k que divide de forma exacta la diferencia (a - b) . › Esto podemos expresarlo así: a - b = k  n a  n b a  b mod n Desde esta página Web podrá realizar diversos cálculos en matemática discreta:  http://www.numbertheory.org/php/php.html docsity.com Propiedad Asociativa: a + (b + c) mod n  (a + b) + c mod n Propiedad Conmutativa: a + b mod n  b + a mod n a  b mod n  b  a mod n Propiedad Distributiva: a  (b+c) mod n  ((a  b) + (a  c)) mod n Normalmente usaremos el signo = en vez de  que denotaba congruencia. Esto es algo propio de los Campos de Galois que veremos más adelante. a  (b+c) mod n = ((a  b) + (a  c)) mod n docsity.com Existencia de Identidad: a + 0 mod n = 0 + a mod n = a mod n = a a  1 mod n = 1  a mod n = a mod n = a Existencia de Inversos: a + (-a) mod n = 0 a  (a-1) mod n = 1 (si a  0) Reducibilidad: (a + b) mod n = [(a mod n) + (b mod n)] mod n (a  b) mod n = [(a mod n)  (b mod n)] mod n   No siempre existe  Ambos serán muy importantes en criptografía docsity.com Para cualquier entero positivo n, el conjunto completo de restos será CCR = {0, 1, 2, ... n-1}, es decir:  a  Z  ! ri  CCR / a  ri mod n CCR (11) = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10} CCR (6) = {0, 1, 2, 3, 4, 5} = {12, 7, 20, 9, 16, 35} El segundo conjunto es equivalente: 12  0, 7  1... Normalmente se trabajará en la zona canónica: 0 – n-1 docsity.com En criptografía muchas veces nos interesará encontrar el máximo común denominador mcd entre dos números a y b. Para la existencia de inversos en un cuerpo n, la base a y el módulo n deberán ser primos entre sí.  mcd (a, n) = 1 Algoritmo de Euclides: › a) Si x divide a a y b  a = x  a’ y b = x  b’ › b) Por lo tanto: a - k  b = x  a’ - k  x  b’ a - k  b = x (a’ - k  b’) › c) Entonces se concluye que x divide a (a - k  b)  http://es.geocities.com/eucliteam/ docsity.com Como hemos llegado a que x divide a (a – k  b) esto nos permitirá encontrar el mcd (a, b): Si a > b entonces a = d1  b + r (con di un entero y r un resto) Luego mcd (a, b) = mcd (b ,r) (a > b > r  0) porque: Si b > r entonces b = d2  r + r’ (con r un entero y r’ un resto) docsity.com mcd (148, 40) 148 = 3  40 + 28 40 = 1  28 + 12 28 = 2  12 + 4 12 = 3  4 + 0 mcd (148, 40) = 4 mcd (385, 78) 385 = 4  78+ 73 78 = 1  73 + 5 73 = 14  5 + 3 5 = 1 3 + 2 3 = 1 2 + 1 2 = 2  1 + 0 mcd (385, 78) = 1 148 = 22  37 40 = 23  5 385 = 5  7  11 78 = 2  3  13 Factor común 22 = 4 No hay factor común Esta condición será importante en criptografía.  docsity.com  inverso a-1 en mod n ssi mcd (a, n) = 1 Si mcd (a,n) = 1, el resultado de ai mod n (para i todos los restos de n) serán valores distintos dentro del cuerpo n. mcd (a, n) = 1   x ! 0 < x < n / a  x mod n = 1 Sea: a = 4 y n = 9. Valores de i = {1, 2, 3, 4, 5, 6, 7, 8} 41 mod 9 = 4 42 mod 9 = 8 43 mod 9 = 3 44 mod 9 = 7 45 mod 9 = 2 46 mod 9 = 6 47 mod 9 = 1 48 mod 9 = 5 Si mcd (a,n)  1 S O L U C I Ó N Ú N I C A docsity.com Si mcd (a, n)  1 No existe ningún x que 0 < x < n / a  x mod n = 1 Sea: a = 3 y n = 6 Valores de i = {1, 2, 3, 4, 5} 31 mod 6 = 3 32 mod 6 = 0 33 mod 6 = 3 34 mod 6 = 0 35 mod 6 = 3 No existe el inverso para ningún resto del cuerpo. ¿Y si no hay primalidad entre a y n?  docsity.com (A+B) mod 5 (AB) mod 5 B + 0 1 2 3 4 B  0 1 2 3 4 A 0 0 1 2 3 4 A 0 0 0 0 0 0 1 1 2 3 4 0 1 0 1 2 3 4 2 2 3 4 0 1 2 0 2 4 1 3 3 3 4 0 1 2 3 0 3 1 4 2 4 4 0 1 2 3 4 0 4 3 2 1 o En la operación suma siempre existirá el inverso o valor identidad de la adición (0) para cualquier resto del cuerpo. Su valor es único. o En la operación producto, de existir un inverso o valor de identidad de la multiplicación (1) éste es único y la condición para ello es que el número y el módulo sean primos entre sí. Por ejemplo para n = 4, el resto 2 no tendrá inverso multiplicativo, en cambio el resto 3 sí. 0+0 = 0 11 = 1 Es trivial docsity.com ¿Qué utilidad tiene esto en criptografía? El conocimiento del CRR permitirá aplicar un algoritmo para el cálculo del inverso multiplicativo de un número x dentro de un cuerpo n a través de la función (n), denominada Función de Euler o Indicador de Euler. Será importante en todos los sistemas simétricos que trabajan en un módulo (con excepción del DES que es un caso muy especial de cifra no modular) y más aún en los sistemas asimétricos y en particular RSA ya que los cálculos de claves pública y privada se harán dentro del cuerpo (n). En ambos casos la cifra y las claves estarán relacionadas con el CRR.  http://es.wikipedia.org/wiki/Euler docsity.com  El Indicador o Función de Euler (n) nos entregará el número de elementos del CRR.  Podremos representar cualquier número n de estas cuatro formas: – a) n es un número primo. – b) n se representa como n = pk con p primo y k entero. – c) n es el producto n = pq con p y q primos. – d) n es un número cualquiera, forma genérica: t n = p1 e1  p2 e2  ...  pt et =  pi ei i=1  http://mathworld.wolfram.com/TotientFunction.html docsity.com Caso 1: n es un número primo Si n es primo, (n) será igual a CCR menos el 0. (n) = n - 1 Si n es primo, entonces CRR = CCR - 1 ya que todos los restos de n, excepto el cero, serán primos entre sí. CRR(7) = {1,2,3,4,5,6} seis elementos (7) = n - 1 = 7-1 = 6 (11) = 11-1 = 10; (23) = 23-1 = 22 Ejemplo Esta expresión se usará en los sistemas de cifra de ElGamal y DSS. docsity.com CRR(15) = {1,2,4,7,8,11,13,14} ocho elementos  (15) = (35) = (3-1)(5-1) = 24 = 8 (143) = (1113) = (11-1)(13-1) = 1012 = 120 Ejemplo Esta será una de las operaciones más utilizadas en criptografía. Es la base del sistema RSA que durante muchos años ha sido un estándar y, de hecho, continúa siéndolo en el año 2006, al menos a nivel de uso empresarial y comercial. Uno de sus usos más típicos podemos encontrarlo en las comunicaciones seguras del entorno Internet mediante SSL, tanto para el intercambio de claves como en los formatos de certificados digitales X.509 para firma digital. docsity.com Caso 4: n = p1 e1p2 e2 ... pt et (pi son primos) t (n) =  pi ei-1 (pi - 1) i=1 (Esta demostración no es inmediata) CRR(20) = {1, 3, 7, 9, 11, 13, 17, 19} ocho elementos  (20) = (22 5) = 22-1(2-1)51-1(5-1) = 21114 = 8 (360) = (23 325) = 23-1(2-1)32-1(3-1)51-1(5-1) = 96 Ejemplo docsity.com Dice que si mcd (a,n) = 1  a(n) mod n = 1 Ahora igualamos ax mod n = 1 y a(n) mod n = 1  a(n)  a-1 mod n = x mod n  x = a(n)-1 mod n El valor x será el inverso de a en el cuerpo n Nota: Observe que se ha dividido por a en el cálculo anterior. Esto se puede hacer porque mcd (a, n) = 1 y por lo tanto hay un único valor inverso en el cuerpo n que lo permite. docsity.com Sea n = pq = 711 = 77 (n) = (p - 1)(q - 1) = (7 - 1)(11 - 1) = 610 = 60 Si k = 1, 2, 3, ... Para a = k7 a(n) mod n = k760 mod 77 = 56 Para a = k11 a(n) mod n = k1160 mod 77 = 22 Para  a  k7, k11 a(n) mod n = a60 mod 77 = 1 Y se cumple también que: Para  a  k7, k11 a(n) mod p = a60 mod 7 = 1 a(n) mod q = a60 mod 11 = 1 En caso contrario: a(n) mod p = 0 a(n) mod q = 0 docsity.com Si el cuerpo de trabajo es un primo p: mcd (a, p) = 1  a(p) mod p = 1 Entonces a  x mod p = 1 y a(n) mod p = 1 Además, en este caso (p) = p-1 por lo que igualando las dos ecuaciones de arriba tenemos:  a(p)  a-1 mod p = x mod p  x = ap-2 mod p Luego x será e inverso de a en el primo p.  http://es.wikipedia.org/wiki/Peque%C3%B1o_teorema_de_Fermat docsity.com  Calcular ai mod n cuando los valores de i y a son grandes, se hace tedioso pues hay que utilizar la propiedad de la reducibilidad repetidas veces.  Si no conocemos (n) o no queremos usar los teoremas de Euler o Fermat, siempre podremos encontrar el inverso de a en el cuerpo n usando el Algoritmo Extendido de Euclides  http://en.wikipedia.org/wiki/Euclid Este es el método más rápido y práctico docsity.com
Docsity logo



Copyright © 2024 Ladybird Srl - Via Leonardo da Vinci 16, 10126, Torino, Italy - VAT 10816460017 - All rights reserved