Euler, Fermat y mas

March 23, 2018 | Author: Ferney Vanegas Hernandez | Category: Cryptography, Prime Number, Key (Cryptography), Encryption, Division (Mathematics)


Comments



Description

TEMA 1.- ARITMÉTICA 1.1.- ARITMÉTICA ENTERA Principio del buen orden: Todo subconjunto no vacío de N tiene un primer elemento Propiedades de la suma y el producto en Z      Son operaciones internas en Z Son asociativas y conmutativas Ambas tienen neutro, el de la suma es 0 y el de la multiplicación es 1. El producto es distributivo respecto a la suma: a·(b+c) = (a·b) + (a·c) Todo elemento tiene opuesto respecto a la suma Si a·b = 0 ⇒ a = 0 o b = 0  Suelen resumirse las propiedades anteriores diciendo que (Z,+,·) es un dominio con 1, y que (Z,+) es un grupo conmutativo o abeliano. Definición Siendo a, b ∈ Z, diremos que b es mayor que a, si existe un natural n tal que b=a+n. Lo denotaremos por b > a. Siendo b, c ∈ Z, diremos que b divide a c, si existe un entero q tal que c = q·b. Lo denotaremos b|c. Propiedades de Z respecto a la división y el producto 1. a·0 = 0 2. a(–b) = –ab 3. 4. 5. 6. 7. 8. 9. Si a ≠ 0, ab = ac ⇒ b = c Si a ≠ 0 y a|b ⇒ a|bk, ∀ k∈Z Si a ≠ 0, b≠ 0 a|b y b|c ⇒ a|c Sea a ≠ 0 si a|b, a|c ⇒ a|(xb+yc) para cualquier par de enteros x e y a,b > 0, a|b ⇒ a ≤ b a ≠ 0, b ≠ 0, a|b, b|a ⇒ a = b ó a = –b Si a ≤ b, m > 0 ⇒ am ≤ bm Si a ≤ b, m < 0 ⇒ am ≥ bm Demostración (usando las propiedades de la suma y el producto): 1. a·0 = a·(0+0) → a·0 + a·0 = a·0. Sumando su opuesto –a·0 nos queda 0 + a·0 = 0. Pero, como 0 es el neutro de la suma, nos queda a·0 = 0 2. Veamos que a(–b) = –ab. Como el opuesto es único, basta ver que ab + a(–b) = 0. Esto es así porque ab + a(–b) = a(b–b) = a·0 = 0 3. Sea a ≠ 0 y ab = ac. Luego ab + (–ac) = ac + (–ac), y ab–ac = 0 y a(b–c) = 0. Como a ≠ 0 tendrá que ser b–c = 0 ⇒ b = c. 4. a|b ⇒ b = aq, luego bk = aqk. Sea q’ = qk, entonces bk = aq’ y por tanto a|bk. 5. Se cumple porque c = bk, y a|b ⇒ a|bk 6. a|b, a|c ⇒ b = aq1, c = aq2. bx + cy = aq1x + aq2y = a(q1x + q2y) = aq ⇒ a|bx + cy 7. a|b ⇒ b = aq. Como a, b son positivos, q es positivo. Por tanto, podemos escribir b = a + ... + a = a + (a + q veces q −1 veces ... + a) = a + s Como q es positivo y entero, q–1≥ 0, por tanto s≥ 0. De b = a + s se deduce que a ≤ b. Se presentan 2 subcasos: 3. Ahora. b por una sucesión finita a1. b·q ≤ a} que es un conjunto acotado superiormente. r∈Z tales que a = q·b + r. definido por |m|=max{m. q y r se les llama dividendo. es obvio que |r1–r2| < b. b∈Z. b.. a < –b con lo que a + b < 0.b). Viendo que r1 = r2 ⇒ q1 = q2. y r2.. b. divisor. por lo que es un error suponer r1 ≠ r2. d∈Z+. a | b ⇒ b = aq1   a = (aq1)q2 ⇒ q1·q2 = 1 ⇒ q1 = q2 = 1 ó q1 = q2 = –1. Lo denotaremos por mcd(a. Sea bq el mayor múltiplo de b que es menor o igual que a. Existen unos únicos q.Como 0 ≤ r1< b y 0 ≤ r2< b. se dice que d es divisor común de a.8. b si d|a y d|b. a. 0 ≤ r < b A los números a. r ∈ Z tales que a = q·b + r. |a + b| ≤ |a| + |b| 4. = am + nm y.Demostremos la unicidad de q y r. entonces b(q2–q1) = r1–r2 y. Máximo Común Divisor Sean a. luego a + b < 0. Esto nos lleva a una contradicción entre |r1–r2| < |b| y |r1–r2| ≥ |b|.an. b < 0. q2 con a = bq1+r1 = bq2+r2 . b<0..Demostramos que existen q. cociente y resto. Por tanto |r1–r2| ≥ |b|. . . Si existiesen r1. Pero. a ≥ 0. se cumple que b·q ≤ a < b·(q+1) Restando bq en la desigualdad anterior tenemos que 0 ≤ a–bq < b(q+1) – bq = b ⇒ si tomamos r = a–bq tendremos 0 ≤ r < b 2. Demostración 1.Si b|x ⇒ |x| ≥ |b|. Si a ≤ b. 0 ≤ r < b: Consideremos el conjunto {b·q / q∈Z . Esta contradicción no existiría si r1–r2 = 0. tenemos que am ≤ bm. b| (r1–r2).-m} Propiedades del valor absoluto en Z 1. tenemos bm = Llamaremos valor absoluto a la aplicación f : Z→Z que a cada m ∈Z le asocia |m|. q1. b ∈ N.2. |a·b| = |a| · |b| 3. dado que nm es un número natural porque m > 0. por lo que a = b ó a = – b | a ⇒ a = bq 2  b. debe existir un natural n con b = a + n..1. |a| = 0 ⇔ a = 0 2. el divisor común d será un máximo común divisor de a.. tendremos |a + b| = – (a + b) = –a – b= –|a| + |b| ≤ |a| + | b| Teorema de la división Para a ∈ Z. k > 0 y |a| ≤ k ⇔ –k ≤ a ≤ k Demostración: Vamos a demostrar solamente que |a + b| ≤ |a| + |b|: Se presentan tres casos: 1. a.a2. a ≥ –b. si fuese r1–r2 ≠ 0 . La otra afirmación se demuestra de forma semejante. por tanto. Valor absoluto 9. Además. entonces a + b ≥ 0 y |a + b| = a + b = |a| – |b| ≤ |a| + |b| 3. Todo lo anterior también es válido sustituyendo a. Por tanto |a + b| = a + b = |a| + |b| 2. b ≥ 0. en este caso a + b ≥ 0. b si es divisible por cualquier otro divisor de a. Tendremos |a + b| = – (a + b) = (–a) + (–b) = |a| + |b| 3. al multiplicar por m. Algoritmo de Euclides Como mcd(a. Por tanto. con 0 ≤ r1< b Si r1 = 0. si a = bq + r. y |a|>0. por tanto. Teorema de Bezout Para a. enteros distintos de 0 y d = mcd(a. Proposición Sean a ≤ b con b ≠ 0. r = cq2 y tendremos a = cq1q + cq2 ⇒ a = c(q1q+q2) ⇒ c|a. Esto implica d´|(ax + by).b) = mcd(b. c|r. único). Para enunciar este algoritmo nos serviremos de una proposición y un teorema previos. b = cq2. d’|b. La contradicción se resolvería si r = 0.b). b. Dividimos a por b. por el algoritmo de la división tendremos que a = bq + r. entonces a = cq1. Llegados a este punto tenemos que:  d es divisor común de a y b: Si d no dividiese al número a.r1) = r1 y por el teorema anterior mcd(b. con 0 ≤ r2 < b Si r2 = 0. Por tanto r = a–dq = a – (ax1 + by1)·q = a·(1 – x1·q) + b(–y1·q). existen x1.2. q. b.r1) = r1 = mcd(a. Entonces se cumple: 1) Los divisores comunes de a y b también son divisores de r 2) Los divisores comunes de b y r también son divisores de a Demostración: (1) Sea c tal que c|a. dividendo y divisor tienen los mismos divisores que divisor y resto. dividimos b por r1. tendremos que |a| está en M y este conjunto es no vacío. con lo que vemos que r∈M. .7. Por tanto b = cq1. pero como d = ax + by entonces d´|d.  d es el máximo común divisor: Sea d’ tal que d’|a. Sin embargo no es posible que r∈M y r < d porque definimos d como el primer elemento de M. es obvio que b = mcd(a. podemos probar que d|b.14. c|b. Demostración: Como vimos antes.|b|).b) = mcd(|a|. por definición de mcd cumplirían d1|d2 y d2|d1. Teorema En una división el máximo común divisor del dividendo y el divisor es igual al máximo común divisor del divisor y el resto. Si r1 ≠ 0. ambos tendrán el mismo máximo común divisor. Por el principio de la buena ordenación M tiene un primer elemento que llamaremos d. Como ambos son positivos.Ejemplo: Los divisores comunes de 42 y 70 son 1.b). d es el entero positivo más pequeño que puede expresarse de la forma ax + by. Demostración: Sea M ={m = ax + by / ax + by > 0 con x. Como d∈M. r∈Z. ya que a ≤ b. b = r1q2 + r2 . podemos suponer sin perdida de generalidad que a ≥ b > 0. El mcd(42. entonces mcd(b.  d es único: Si existieran d1. Algoritmo de Euclides básico y extendido Algoritmo de Euclides Sirve para calcular el máximo común divisor de dos números a y b. y1∈Z tal que d = ax1+ by1.b). tendremos que d2=d1. d2 = mcd(a. se cumple mcd(a.70) es 14. se cumpliría a = dq + r con 0 < r < d (algoritmo de la división). con a.b) y hemos terminado. (2) Supongamos ahora c tal que c|b. análogamente.r). con x. y∈Z (d es. Como |a| = a (± 1) + 0b. por tanto d|a y. b ≠ 0. y∈Z}. a = bq1 + r1 . es decir. Luego cq2q + r = cq1 ⇒ r = c(q1 – q2·q) ⇒ c|r. 120) = mcd(270.b) = 1.El número de pasos necesarios es como máximo 5 veces el número de dígitos del número más pequeño de entre los a. xk+2.Algoritmo de Euclides: 3120 = 11·270 + 150 270 = 1·150 + 120 150 = 1·120 + 30 120 = 4·30 + 0 30 = mcd(120. Entonces: rn–1 = mcd(rn–2. Iremos sustituyendo valores con el objeto de llegar a los números de los que se hallo el máximo común denominador. a. por tanto. 1. mcd(3120. p > 1. a | cby  ⇒ a|(cax + cby) = c.. c∈Z. b. y así sucesivamente De este modo obtenemos un conjunto de números r1 > r2 >.Algoritmo extendido de Euclides: Realizamos el camino inverso al algoritmo de Euclides empezando por la expresión donde el máximo común divisor es igual al resto. y = –23.270) 30 = mcd(3120. b por los que comenzamos a calcular el máximo común denominador Algoritmo extendido de Euclides Sirve para hallar los términos de la combinación lineal que da origen al máximo común divisor. x = 2. xk+1. Entonces p primo ⇔ si p|ab entonces p|a o p|b. rn–1) =.270) y los números x. debe cumplirse que a|c. Números primos Decimos que p∈Z con p>1. Vamos a verlo con un ejemplo: Ejemplo: Calcular mcd(3120. Demostración: d = mcd(a. y tales que mcd(3120. . xk+(x–1) Lema de Euclides Sean a...b) = 1 Observación: Todo entero puede expresarse como xk.. Para ello se realiza el proceso inverso al seguido en el algoritmo de Euclides.Si r2 ≠ 0 continuamos dividiendo r1 por r2. de modo que llegaremos a un rn = 0.30) = mcd(150. Luego.. Y así.. luego a|c a | cax  Corolario: SeaN p. c∈Z con mcd(a.. 150–1·120 = 30 150–1·(270–1·150) = 30 → 150–270+150 = 30 → 2·150–270 = 30 2·(3120–11·270)–270 = 30 → 2·3120–22·270–270 = 30 → 2·3120–23·270–270 = 30 Así pues. b. Entonces si a|bc.b) Nota. 270) = 30 = 2·3120+(–23)·270. En caso contrario decimos que es compuesto y puede expresarse como p = a·b con 1 < a < py1<b<p Decimos que dos números son primos entre sí. a|cby. Es obvio que a|cax. cuando mcd(a.r1) = mcd(a.270) = 3120x + 270y. .150) = mcd(3120...270) 2.= mcd(b. xk+(x–2)... y∈Z c·ax + c·by = c·1 Por hipótesis a|bc.b) = 1 ⇒ d = ax + by para algun x. es primo si sus únicos divisores positivos son 1 y p. En otro caso.. Dado que ambos conjuntos están ordenados de forma creciente... Como N está acotado inferiormente por 1. Esto quiere decir...·qm. Como m no es divisible por ningún pi. es decir. si n = q1·q2·. p|ab. entonces existen números primos p1. b∈Z tal que p = ab con 1 < a < p. es el conjunto finito de números primos y hallemos la contradicción buscando un número primo que no se halle en ese conjunto Sea m = (p1·p2·...·pk con p1 ≤ p2 ≤ . obtenemos que cada pi es igual a un qj distinto (y recíprocamente). obtenemos que n puede ponerse como producto de números cada vez menores.pt} Teorema Sea a∈Z.... podemos factorizarlo m = q1·. Al ser m entero mayor que 1. En ese momento. Si n = p1·p2·.. Por tanto.pk } y {q1.·qm.·pk = q1·q2·.... Con lo que p|ab pero no dividiría a ninguno de los dos... tal que no es divisible por algún primo ≤ a .·qm con q1 ≤ q2 ≤ . Si para todo primo p ≤ a no se cumple p|a.≤ pk Esta factorización es única. es decir.p)+1.. existirían a... la consecuencia es obvia. Reiterando el proceso.Demostración: “⇒” Sea p primo.·qm con q1 ≤ q2 ≤ . de números primos...≤ qm entonces k = m y qi = pi para i=1. cuyos exponentes son ≥ 1. por lo que p1| q1·q2·.≤ pk y n = q1·q2·... Pero esto es una contradicción porque: . y por tanto d|p.. este proceso ha de pararse alguna vez.pt}. en particular tampoco lo será q1.pk tales que n = p1·p2·... demostrar que existe un j con que p 2= qj. obtenemos p1·p2·. Por tanto q1 es un primo que no está en P={p1.2. y así sucesivamente... 1 < c < a.qs siendo los qi números primos. Si p es primo con a. b2 ≤ b·c y b ≤ a .... entonces p|ai para algun i.. Como b ≤ c. n estará puesto como producto de números que no pueden factorizarse más. Corolario: Sea p primo.. Así pues. que p1= qi. razonando análogamente. d|p ⇒ d = p y por tanto p|a. Ejemplos –48 = –(24·2) = –(12·2·2) = –(3·2·2·2·2) = –(3·24) 363 = 121·3 = 112·3 Teorema El número de primos es infinito Demostración: Supongamos que P = {p1.. b < n.·pk con p1 ≤ p2 ≤ .q2..·ar). entonces a es primo Demostración: Sea un número a compuesto: a = b·c con 1 < b <a..Si b es primo llegamos a una contradicción por suponer que a no es divisible por ..... k = m y los conjuntos {p1. a > 1. Como p es primo.2. Si p|(a1·a2·. d|a.. Si el número es primo.. Podemos pues simplificar la expresión anterior y.p2...a) = d ≠ 1. basta usar el Lema de Euclides. Esta expresión se llama la factorización canónica de n. entonces mcd(p. Repitiendo el procedimiento con a y b. Si no es primo con a...qm } son iguales..... Teorema fundamental de la aritmética Sea n>1. Entonces n tiene una factorización única de la forma n = ± α α p1 1 .. “⇐” En el caso de que p no fuese primo.k Demostración : Demostremos primero que todo número es factorizable.n∈Z.... 1 < b < p. Podemos suponer sin perdida de generalidad que b ≤ c. teniendo en cuenta que qi es primo. podrá ponerse de la forma n = ab con a. p1| qi para algún i..≤ qm. p t t formada de 1 o más primos distintos..k Corolario Sea n∈Z con |n| > 1. tendremos que qi = pi para cada i=1. Entonces a – b = (q1m + r) – (q2m + r) = (q1 – q2)m. b enteros. pues b compuesto podría expresarse como producto de primos. Contradicción en ambos casos. t) Demostración: α β α β Sea d= p1max( 1.. Por tanto. 1) . δ i ≥ máx(α i. donde algunos exponentes pueden ser α β α β 0. Teorema Para a. Entonces d = mcm(a.. Entonces δ c = p1 1 ⋅ . (p t)t sin más que añadir.b) = p1max( 1. que es un número congruente con 95 módulo 60.. al dividir por m dan .algún primo p≤ - a Si b es compuesto llegamos a una contradicción.. Entonces d = mcd(a. p|b ⇒ p|a. Ejemplo: El minutero del cronómetro se pone a 0 cada 60 minutos. siendo p<b≤ a. Teorema Sean a = ± (p 1)1 . que se deshace si el número a es primo.. p t max( t. a = b + (a .b es un múltiplo de m. se cumple que a ≡ b mod(m) ⇔ a y b tienen el mismo resto al dividirlos por m Demostración “⇐” Sean a = q1m + r. Por tanto. Teorema Sean a=± (p 1)1 .. p t min( t..β i) y c|d. 1) . Podemos pasar a una α α β β factorización “común” de a y b de la forma a = ± (p 1)1 . los factores primos que le falten a cada uno respecto al otro.2. (p t)t. 1) . con lo que m|(a – b) y.ARITMÉTICA MODULAR Definición Sea m > 0.c. b enteros. (p t)t donde algunos exponentes pueden α β α β ser 0. δ i ≤ β i. (p t)t... ⋅ p δ t t α α β β donde δ i ≤ α i. c|b. Por ejemplo. 1.. δ i ≤ min(α i. b = ± (p 1)1 . 1) ... t). t) Demostración: α β α β Sea d= p1min( 1.. t). Definición Sean a. Entonces d = mcm(a. b = q2m + r.b).. b=± (p 1)1 ...b∈Z. Cálculo del m. p t min( t. y siendo p uno de ellos: b|a.. Es claro que a|d y b|d. consideremos sus factorizaciones canónicas. p t max( t.. Supongamos que existe c tal que a|c.b) = b + km. ⋅ p δ t t α α β β donde δ i ≥ α i.b).d... Se denota 35 ≡ 95 (mod 60). por tanto. Supongamos que existe c tal que c|a. (p t)t . la factorización “común” de 350 (= 2·52·7) y 198 (= 2·32·11) serían 2·30·52·7·110 y 2·32·50·70·11.. Dados a. b|c. Si llevo cronometrados 95 minutos.. (p t)t. “⇒” Como a .. Es claro que d|a y d|b.b).b = ± (p 1)1 .. Simbólicamente esta relación se escribe a ≡ b (mod m). el cronometro marcará 35. δ i ≥ β i. con exponente 0. Llamamos mínimo común múltiplo de a y b al menor entero positivo que sea múltiplo de ambos.β i) yo d|c. Entonces δ c = p1 1 ⋅ . Por tanto. a partir de la factorización de a y b Siendo a. Lo designaremos mcm(a. Entonces d = mcd(a.b) = p1min( 1.. b ∈ Z se dice que a y b son congruentes módulo m si a–b es divisible por m. a ≡ b (mod m). c ≡ d (mod m).Identificaremos cada clase de equivalencia respecto a ≡ con su representante en Zn = {0. φ (pr) = pr-pr-1 Demostración. m ≠ 0.En Zn un elemento a se dice a) Un divisor de 0 si a ≠ 0 y existe b ≠ 0 con a·b = 0 b) Invertible si existe b con a·b = 1 Obsérvese que un elemento no puede ser a la vez invertible y divisor de 0 Teorema Sea 0 ≠ a ∈ Zn a) a es divisor de 0 ⇔ mcd(a. se cumple a+c ≡ b+d (mod m). b. primero se opera y luego se sustituye el resultado por su representante en Zn. Dado m > 1.En Z6.1. b = q 3 m + r  a + c = m(q1 + q 2 ) + ( r + r ′)  →  luego a + c ≡ c = q 2 m + r ′. Sean a. el de la suma es 0 y el de la multiplicación es 1.2.n) ≠ 1 b) a es invertible ⇔ mcd(a.. d.. ·) verifica  Son operaciones internas en Z     Son asociativas y conmutativas Ambas tienen neutro.. llamaremos φ (n) al número de elementos invertibles en Zn Proposición.n) = 1..n) = 1 a) “⇐“ sea d = mcd(a. Ahora a = da’ y n = dn’ con n’ < n. a es divisor de 0. Usando el Teorema de Bezout.n) = 1 Demostración: b) a es invertible ⇔ existe b con a·b = 1 en Zn ⇔ existe b con a·b ≡ 1 (mod n) ⇔ existe b con a·b – 1 = kn ⇔ existen b.. pero 2 · 3 = 6 = 0 Definición.c. Si a ≡ b (mod m)... por tanto. 3. con p primo.el mismo resto.a) Si n = p es primo. no sería divisor de 0. Obsérvese que [a] = [0] en Zn ⇔ a es múltiplo de n. El producto es distributivo respecto a la suma: a · (b + c) = (a · b) + (a · c) Todo elemento tiene opuesto respecto a la suma Pero no tiene por qué verificar Si a · b = 0 ⇒ a = 0 ó b = 0  Ejemplo.1..n) ≠ 1. En Zn podemos definir una suma y un producto dados por: [a]+[b]= [a+b] [a][b] = [ab] Es decir. Pero entonces an’ = a’dn’ = a’n = 0 en Zn. (Zn .- . Por tanto. para cada a existe un único b congruente con él en el conjunto {0. escribiremos [a] = a. m ∈ Z. Es fácil comprobar que. Propiedades 1. d = q 4 m + r ′ b + d = m(q 3 + q 4 ) + (r + r ′)  b + d (mod m) Para el producto el razonamiento es análogo. Demostración: a = q1 m + r.. y a·c ≡ b·d (mod m). “⇒” Si fuese mcd(a.n-1}. Definición.. a sería invertible y.n-1} Observación.+. φ (p) = p-1 b) Si n=pr. c.Dado n > 1. 2 ≠ 0 y 3 ≠ 0. Cometiendo un cierto abuso de notación.d. esto se da si y sólo si m.(a. ≡ m es una relación de equivalencia en Z 2. k con a·b –kn = 1. En particular n’ ≠ 0 en Zn. con estas operaciones... además. tendremos que el número de elementos invertibles módulo n coincidirá con el producto del número de elementos invertibles módulo los diferentes mi.aaφ (m) Basta simplificar ahora. si tomo un j ≠ i.. Si mcd(a. identificar un elemento x de Zn con sus restos módulo los correspondientes mi. α α todos son invertibles en Zp y φ (p) = p-1 .2.aaφ (m)}.2. verificará que ai·(qi·hi) = ai·1 = ai módulo mi..(pk k αk-1 pk ) Demostración: α α α α α Que φ (n) = φ (p1 1 . por tanto hay pr /p = pr-1... En particular... por a2. entonces ap–1 ≡ 1 (mod m).... con p primo.. con los pi primos distintos.1 Teorema (de Euler) φ Sean a y m dos números enteros con m ≥ 1. se tienen las siguientes propiedades: 1) La suma se hace componente a componente 2) El producto se realiza componente a componente 3) 1 = (1.k. debe de ser un múltiplo de su producto. p t t. tendremos que x . Por tanto. si aai = aaj. si n = m1m2..pr –1} los múltiplos de p van de p en p. El resultado anterior nos permite..... Proposición.φ (p t t) se sigue de la propiedad 4). Por tanto a (m) = 1 en Zm o.aφ (m) = aa1.. r Finalmente basta recordar que si n = p ..mk..aφ (m)} los elementos invertibles de Zm. p t t) = φ (p1 1)φ ( p2 2). Pequeño teorema de Fermat Si p es un número primo que no divide al número a.mk con los mi coprimos dos a dos.a = 1. es decir.. Demostración: Como los mi son coprimos dos a dos.aaφ (m)} son φ (n) elementos invertibles distintos de Zm...... escribiré x = (x1.Sea n = p1 1 ...1) 4) Un elemento x = (x1. equivalentemente a (m) ≡ 1 (mod m). λ ∈ Z. se dará: a1. por lo que deben de ser todos los elementos invertibles solamente que quizás en un orden distinto. tiene solución x0 que. Como el producto es conmutativo..2....a) Si n = p.pr . con p primo..... k con mcd(mi...1..xk) tiene inverso ⇔ cada xi lo tiene. b) Basta observar que los elementos no invertibles son aquellos que tienen un divisor común con pr..p2 2 . ya que dan los mismos restos al dividir por los m i. Por otro lado. Sea hi su inverso módulo mi.. Así pues φ (p) = nº elementos de Zn –nº elementos de Zn no invertibles = pr . Si cogemos ahora x0 = a1·q1·h1 + a2·q2·h2 +.m) = 1 se tiene que a (m) ≡ 1 (mod m)... En particular. deben de ser todos distintos ya que.p-1 son coprimos con p..+ ak·qk·hk tendremos una solución.pr-1 Teorema (Chino del resto) El sistema de congruencias x ≡ ai (mod mi). Multiplicamos todos ellos por a y obtenemos un nuevo conjunto {aa1.n) = 1... esto es.mj) = 1 si i ≠ j. basta dividir por a para obtener ai = aj.... todos los elementos 1.1 )..xk). los {aa1.. Por tanto.. donde cada xi es el resultado de dividir x entre el correspondiente mi.. Como los mi son coprimos entre sí. al hacer esto...)( p2 2 . por lo que los aai vuelven a ser invertibles... Esta última observación nos sirve para calcular de forma general la función φ de Euler.. . Observemos que. Por tanto. todas las demás soluciones son de la forma x = x0 + λ m1m2.. dividiendo sucesivamente por a1. los múltiplos de p.mk. Entonces: α α α α α α α α α α φ (n) = φ (p1 1 .... entonces φ (pr) = pr .... es única módulo m1m2. por lo que ai·qi·hi también lo será. por aφ (m) para obtener φ φ a..p1 1 . Por otro lado.. i=1.. Está claro que.φ (p t t) = (p1 1 .x0 debe ser un múltiplo de cada mi para i = 1. Si consideramos ahora ai·qi·hi...1 .. p t t) = φ (p1 1)φ ( p2 2).. como mcd(a... si defino qi = producto de todos los mj menos el mi. qi es un múltiplo de mj. debe de ser también coprimo con mi. Pero en {0.... a es invertible en Z m.1. ai·qi·hi es 0 módulo mj.. Demostración: Sean {a1.. Si x es otra solución. sistemas no decimales. Veamos ahora que la expresión es única. Supongamos que tenemos: akbk + ak–1bk–1 +. i =0 t Consideremos ahora los restos de la división de 10i por k para i = 0. 0 ≤ ci < b. 1.+ c1b + c0 verificando 0 ≤ ai < b.. a3 = c3..+ a1b = ctbt + ct–1bt–1 +. 0 ≤ a1... c0 < b.. Podemos ahora simplificar nuestra igualdad restando a0 en ambos términos y obtenemos: akbk + ak–1bk–1 +.... t y con a k ≠ 0 y ct ≠ 0 y vamos a ver que. r1.. k.... además. numeración diferentes al usado Teorema Sea b ≥ 2 un número natural llamado base. y unos ai entre 0 y b-1 y con ak ≠ 0 de forma que m = akbk + ak–1bk–1 +.+ c1b En esta igualdad podemos dividir por b. Distinguimos dos casos Caso 1.. tendremos que a1 = c1..+ c1b + c0 ≡ c0 Ahora. Criterios de divisibilidad Sea n un número natural.. es decir. puedo encontrar un número k ≥ 0. etcétera.. si a es invertible en Zn... k = t y que ai = ci para i = 0. Supongamos que estos restos son ro. que tiene la forma pedida sin más que recordar que 0 < r ≤ b. como a1 ≡ c1 y. n = at10t + at–110t–1 +. con 0 < r ≤ b..SISTEMAS DE NUMERACIÓN En esta sección se estudian sistemas de convencionalmente. En efecto.+ a1b + a0 .. 1...+ a1b + a0)b + r = akbk+1 + ak–1bk +...El resultado anterior sirve para calcular directamente el inverso de un φ número en Zn.. con 0 ≤ ai < b..+ a1b + a0 Ahora n = mb + r = (akbk + ak–1bk–1 +. Todo número n ∈ N tiene representación única en base b de la forma n = akbk + ak–1bk–1 +.+ c1 Tomando congruencias módulo b.. tendremos a0 ≡ akbk + ak–1bk–1 +.. 1.+ a1b2 + a0b + r. De forma análoga se va demostrando que a2 = c2..Demostración: Es un caso particular del resultado anterior sin más que tomar n = p. en este caso. rt.... obteniendo akbk-1 + ak–1bk–2 +.. i = 0.+ a1 = ctbt-1 + ct–1bt–2 +.n ≥ b Divido n entre b.. t.3... 1.. Como m < n. 101 ≡ r1 (modk)... ... . y con ak ≠ 0. Observación.k. i = 0.. que escribiremos n = ∑a i 10 i . c1 < b.. su inverso es a (n)-1.. 100 ≡ r0 (mod k).+ a110 + a0 . Supongamos que el resultado es cierto para números menores que n y vamos a probarlo para n. k.. tendremos que a0 = c0.. 0 ≤ a0. es decir. obteniendo n = mb + r. obtenemos: a1 ≡ akbk-1 + ak–1bk–2 +.n < b En este caso basta tomar k = 0 y a0 = n. como a0 ≡ c0 y. Para n = 1 el resultado es claro sin más que tomar k = 0 y a0 = 1.+ a1b + a0 = ctbt + ct–1bt–1 +....... tomando congruencias módulo b..+ a1b + a0 ≡ ctbt + ct–1bt–1 +. ya que φ (n)-1 φ (n) aa =a ≡ 1 (mod n) 1.. además. 10t ≡ rt (mod k).+ a1 ≡ ctbt-1 + ct–1bt–2 +... i = 0.. para algún k ≥ 0.. por la hipótesis de inducción. Lo vamos a ver por inducción en n. En efecto. Demostración: Veamos primero que cualquier número se puede escribir de esta forma.+ c1 ≡ c1 Ahora... Caso 2.. K. 6. y éste a su vez. C es un conjunto finito cuyos elementos se llaman “criptotextos”. Así. Criptosistemas Clásicos(Simétricos) Un criptosistema clásico está formado por un quinteto de conjuntos (P. n = ∑ai 10 i ≡ ∑ai ri (mod k ). 3. podemos sustituirlo por 1 + 2 + 3 + 6 + 7 + 8 + 9 que vale 36. 4.. La clave debe intercambiarse por un canal seguro y además el conjunto de las claves debe ser enorme. Otros números para los que hay criterios sencillos de divisibilidad son 2.. para ver si 1236789 es divisible por 9. 101 ≡ 1 (mod 9). cumpliendo que Dk(Ek(x)) = x ∀ x ∈ P. Como. C. Este criptosistema se llama simétrico ya que el conocimiento de la clave permite las operaciones de cifrar y descifrar. obviamente. K es un conjunto finito cuyos elementos se llaman “claves” (keys). La criptografía actúa mediante criptosistemas. sea capaz de descifrar la información. 1. ALGUNOS SISTEMAS CRIPTOGRÁFICOS CLÁSICOS . n = ∑ai 10 i ≡ ∑ai (mod 9). Ek → transformaciones criptográficas D = {Dk / k ∈ K} donde Dk: C → P. La criptografía es la ciencia de diseñar criptosistemas. 9 es múltiplo de 9. luego n es divisible por k si y solo si i =0 i =0 t t ∑a i ri i =0 t lo Ejemplo El método anterior funciona bien cuando los ri son bastante simples. si tomamos k = 9. E. donde: P es un conjunto finito cuyos elementos se llaman “textos claros” (plain text). obtenemos que también 1236789 lo es. Por ejemplo. tenemos 100 ≡ 1 (mod 9). por tanto. E = {Ek / k ∈ K} donde Ek: P → C. podemos cambiarlo por 3 + 6 = 9. esto sería lo que resulta una vez que la información se cifra. 102 ≡ 12 ≡ 1 (mod 9).. 5. estos serían los mensajes que se quieren enviar tal cual.. 11. un criptosistema o sistema cifrado es un sistema que permite cifrar los mensajes de tal forma que una persona no autorizada no pueda descifrar el mensaje. su objetivo es que dos partes puedan intercambiar información sin que una tercera parte no autorizada. La clave k da las transformaciones Ek y Dk. un número es divisible por 9 si y sólo si la i =0 i =0 t t suma de sus cifras lo es. Actualmente tiene el significado de ciencia de la comunicación segura.. a pesar de que capte los datos.4. 10t ≡ 1t ≡ 1 (mod 9) Por tanto.Por tanto es. Cualquier persona que conozca la clave k puede descifrar el mensaje.Criptografía y Criptoanálisis Criptología quiere decir “escritura secreta”. Se basa en que las 2 partes se ponen de acuerdo en la clave y en mantenerla secreta. El criptoanálisis trata de romper los criptosistemas para apoderarse de la información cifrada. Un criptoanalista intercepta c pero como no conoce la clave k no es capaz de recuperar p. D).  Este es un  subsistema del caso anterior. P = C = Z27 K = {(a.b) Ek(x) := ax+b (mod 27) ∀ x ∈ Z27 Dk(x) := a­1(x­b) (mod 27) ∀ x ∈ Z27 a se toma primo con 27 para que tenga inverso en Z27. En este caso |K| = 27 ∙ 29.­ Para  k = 3 E3(CESAR) = FHVDQ E3(ZAMORA) = CDORUD Este sistema se conoce como cifra de César. .27) = 1} Si k = (a.En general suelen identificarse las letras del alfabeto con números a → 0 b → 1 . 2) Criptosistema de sustitución P = C = Z27 K = S27 = {σ  : Z27 → Z27 / σ  es biyectiva (permutación)} Eσ (x) := σ (x)   ∀ x ∈ Z27 Dσ (x) := σ  ­1(x)   ∀ x ∈ Z27 K| = 27!  > 1028 El que |K| sea tan grande implica que este criptosistema no se pueda analizar a base de  probar todas las posibilidades 3) Criptosistema afín.b) ∈ Z27 x Z27 / mcd (a. . z → 26 Z27 → Alfabeto 1) P = C = K = Z27 Para cada k ∈ Z27 Ek(x) := x+k (mod 27)  ∀ x ∈ Z27 Dk(x) := x­k (mod 27)   ∀ x ∈ Z27 Ejemplo. Como sólo hay 27 posibles claves se prueban todas las posibles claves hasta que se encuentra  la correcta.  Esto permite usar un criptosistema en el cual Ek  fuese pública pero no fuese factible calcula Dk.  ésta   se   establece   cuando   un   criptosistema   es   seguro   con   independencia   de   los   medios  disponibles (infinita potencia de cálculo). Si un criptosistema es incondicionalmente seguro  no se puede romper.   Los   criptosistemas   más  modernos se basan en la seguridad computacional. Diffie y M. ­ ­ Criptografía de Clave Pública En un criptosistema clásico hay un espacio de claves y para cada clave k hay una función E k  de encriptación y otra Dk  de desencriptación.p. El mensaje podría ser  alterado y no se podría saber si esta situación se ha producido. Los criptosistemas clásicos son de clave  secreta. La idea apareció por primera vez en un artículo de W. Ek y Dk deben ser inversas pero si uno conoce Ek no  se debe poder obtener Dk. Ek y Dk deben ser secretas.v   práctico   no   tienen   utilidad. Se demostró la existencia de criptosistemas de seguridad incondicional  (cifrar   de   Vernann)   aunque   d. Estos criptosistemas  son vulnerables aunque no se sepa como criptoanalizarlos si se intercepta la clave secreta. La idea es considerar un criptosistema  computacionalmente seguro cuando aunque haya un algoritmo que rompa el sistema éste  requiera un tiempo de computación tan grande que sea inviable llevarlo a la práctica. El problema del manejo y distribución de claves. Una función de dirección  X f → Y es una función tal que es “fácil” calcular f(x) ∀ x ∈ X pero que por el contrario es “difícil” para la  mayoría de los y ∈ Y encontrar un x ∈ X tal que f(x) = y (suponiendo que exista). única: Estos criptosistemas se basan en la función de dirección única.   Shanonn   dio   una  definición de lo que es la seguridad de un criptosistema. En 1976 se trató de buscar un criptosistema en el cual el conocimiento de cómo encriptar no  implicase el conocimiento de cómo desencriptar. así k. El   problema   de   la   autentificación. Cualquier persona que conozca k conoce Ek  y Dk.Problemas fundamentales de los criptosistemas clásicos: ­ El   problema   de   la   seguridad   (Shanonn   1949. .   Bell   System   Journal).  Hellman (New direction cryptography). Criptosistemas de Clave Pública (CCP) o Criptosistemas asimétricos: Cada usuario del criptosistema se construye una función de encriptación Eu y una función de  desencriptación Du que cumplen las siguientes propiedades: CP1­ Du(Eu(x)) = x para todo mensaje x y todo usuario u.   Los   criptosistemas   convencionales   no   proporcionan  ningún método para que el receptor del mensaje pueda tener la seguridad de que quien envió  el mensaje es quien debería haberlo enviado y no una tercera parte.  además si se conoce Ek se conoce Dk y viceversa. definió la seguridad incondicional. cualquiera que conozca la clave puede descifrar la información. CP2­ Existen algoritmos eficientes para calcular Eu(x) y Du(x) para todo x. que si se conoce entonces  es fácil volver hacia atrás. D) donde: P = C = Zn. con n = pq. El algoritmo que permite calcular Du es mantenido en secreto por u. Dados m y n nadie conoce un algoritmo eficiente para la extracción de raíces módulo n pero  no se ha demostrado que este algoritmo no exista. e. d)/ ed ≡  1 (mod φ (n))} Para cada k = (n.n := xm (mod n) Se piensa que esta es una función de dirección única con trampa. d) Ek(x) : = xe (mod n) ∀ x ∈ Zn Dk(x) : = xd (mod n) ∀ x ∈ Zn En el caso del sistema RSA: . Si A quiere enviar un mensaje m a B. m. A busca EB en el directorio y calcula EB(m). CP5­ No es factible encontrar a partir de Eu una función D *  tal que Eu(D * (x)) = x u u El Criptosistema RSA Riverest­Shamir­Adleman: Criptosistema RSA (A method for obtaining digital signatures  and public key cryptosystems­ Comunications of the ACM 1978) Se piensa que el criptosistema RSA es tan seguro como lo era en 1978. n ∈ Z+ hallar (en caso de que exista) un x tal  que xm ≡  y (mod n) Es   fácil   calcular   las   imágenes   pero   la   extracción   de   raíces   módulo   n   no   es   factible  computacionalmente a menos que se conozca una información adicional. A envía c  = EB(m) y B calcula DB(EB(m)). CP4­ Eu(Du(x)) = x ∀ x y todo usuario u. CP3­  Existe una clave secreta (conocida sólo por u) que permite obtener rápidamente D u a  partir de Eu pero el conocimiento de Eu no hace factible hallar un algoritmo D *  que ratifica D * u u (Eu(x)) = x para todo x. “Extracción de raíces módulo n”: Dados y. RSA = (P. Cada usuario u hace público el algoritmo para calcular Eu. Un criptoanalista conoce c = EB(m). “Exponenciación modular con exponente y módulos fijos” gm. e.  p y q primos  K = {(n.n: Zm → Zn gm. C. los Eu se ponen en un directorio  que es público. E. esto se logra conociendo la factorización de m en números primos ya que  es fácil obtener las raíces m­ésimas. K.  u elige un entero eu tal que 1 < eu < φ (nu) y  mcd(eu. para esto debe conocer φ (nB)  y para ello debe conocer qB y dB.­  p = 47 q = 59 . Se presentan dos problemas: ­ ­ Reconocimiento de primos (primality test) Factorización de enteros.φ (nu)) = 1. p y q se mantienen en secreto. nadie conoce un método eficiente para factorizar enteros generales. Ejemplo. debe hallar la raíz eB de x. Un criptoanalista tiene x eB  (mod nB).   esto   lleva   al   problema   de   la  factorización de enteros.e) constituye la clave pública mientras que d.  Se calcula φ (nu) = (pu  – 1)(qu – 1) = |Z nu |. se calcula el  entero du tal que 1 < du < φ (nu) y eudu ≡  1 (mod φ (nu)) eu → exponente de encriptación du → exponente de desencriptación Clave pública : (nu.φ (n) = φ (pq) = φ (p)φ (q) = (p­1)(q­1) | Z * | = p­1 si p es primo n ∀ x ∈ Zn  Dk(Ek(x)) = x x ∈  Z n Ek(x) ≡  xe (mod n) Dk(Ek(x)) ≡   ( x e ) d  (mod n) ≡  xed (mod n) ≡  xt (mod n).eu) Eu(x) : = x eu  (mod nu)  Du(x) : = x d u  (mod nu)  u mantiene secreto pu. es decir. cualquier persona que conozca la  descomposición   de   un   en   factores   primos   puede   desencriptar. A continuación se calcula el inverso de e u  en Z φ( nu ) . * * φ (n)+1 *  (mod n) ≡   ( x φ( n ) ) t x @  (mod n)  ≡   x  = 1 Al usar el RSA queremos que otra parte no rompa el sistema.  ya que ed ≡  1 (mod φ (n)) ⇔ ed = tφ (n) +1  El par (n. qu y du Los números más difíciles de factorizar son los que se factorizan como 2 primos que tienen  el mismo número de dígitos. Cada usuario u elige dos primos distintos grandes (512 bits ≅  154 dígitos decimales) pu y qu  y calcula nu = puqu (n recibe el nombre de módulo).  Existe la conjetura de que criptoanalizar RSA es equivalente a poder  factorizar n. Los  mejores algoritmos de factorización que se conocen son subexponenciales pero aún así el  tiempo   de   computación   es   grande.   Existe   una   creencia   de   que   el   RSA   requiere   la  factorización de n y esto es difícil. Vamos a ver que se cumplen las condiciones CP1. CP3 permite asegurar que el RSA es seguro. CP2 se cumple..   Problemas: .2668) = 1 1 = 257∙1225 – 118∙2668 257∙1225 ≡  1 (mod 2668) d = 257 Clave pública (2773. D y E se calculan mediante algoritmos factibles ya que el algoritmo de exponenciación  binaria es eficiente..n = pq = 47∙59 = 2773 φ (n) = φ (p)∙φ (q) = 46∙58 = 2668 e = 1225 2668 21 2 1225 135 5 218 83 1 135 52 1 83 31 1 52 21 1 31 10 1 21 1 1 10 mcd(1225. Lo máximo que se ha llegado a factorizar son números de 130 dígitos.CP5 ­ ­ ­ CP1 se cumple.   hacemos   esto   con   sólo   14  multiplicaciones.1225) Clave privada (2773.257) x1225 (mod 2773) Exponenciación binaria: 1225 = (10011001001)2 = 210 + 27 + 26 + 23 + 20 x1225 =  x ( 2 10 +27 +26 +23 +2 0 ) = x2 x2 x2 x2 x 10 7 5 3 1 ↔ cx 0 ↔ c c = elevado al cuadrado x = multiplicar cxcccxcxcccxccx (((((((((x2)2)2∙x)2∙x)2)2)2∙x)2)2)2)∙x  (mod 2773) Haciendo   esto   calculamos   directamente   x1225  (mod   2773). Eu es fácil de calcular pero obtener Du a partir  de Eu  no es factible. ­ Manejo   y   distribución   de   claves. Suponiendo que el RSA sea seguro (CP1 .v. Un  usuario elige los primos y el exponente de Exponenciación y hace pública una clave pero la  clave privada no se intercambia con nadie. Los criptosistemas clásicos no permiten saber que el mensaje proviene de  quien realmente dice. Se ha demostrado que factorizar el criptosistema de Rabin. CP5) se resuelve este  problema. Este problema está encerrado en la condición CP3. El que RSA sea seguro se basa en 2 premisas: a) Se cree que romper RSA es equivalente a saber factorizar n. existen una serie de hechos matemáticos que hacen pensar que el RSA es  seguro. Esta sin demostrar que  no puede existir otra forma de romper RSA que no pase por factorizar n.  computacional. No está  demostrado que romper RSA sea equivalente a factorizar n.. No está demostrado que el  RSA es seguro.. b)  Si aceptamos la premisa anterior de que romper RSA pasa por factorizar n tenemos  que la factorización de n para tamaños grandes de n es un problema intratable d. ­ ­ . Identificación. es  equivalente a factorizar el módulo.   Este   sistema   de   clave   pública   resuelve   este   problema  inmediatamente ya que   2 partes no tienen necesidad de intercambiarse clave alguna.p. La factorización de enteros equivale a estudiar RSA. La seguridad del RSA se basa en la creencia de que la función de encriptación es  una función de dirección única con trampa. que es parecido al RSA.  Seguridad.
Copyright © 2024 DOKUMEN.SITE Inc.