Académique Documents
Professionnel Documents
Culture Documents
.
Congruencias y teoremas de Gau.
Algoritmo de Euclides.
Teorema chino del residuo.
Primos grandes y RSA.
En esta primera versin sigo de cerca el estilo de presentacin de Niels Lau-
ritzen (Concrete Abstract Algebra [] - un libro para cursos de lgebra Abstracta
que arranca con un captulo de teora de nmeros bsica como motivacin para la
Teora de Grupos). Sin embargo, estas notas seguirn evolucionando ms all de
la conexin con Lauritzen.
1. Ls nsis
.. Construccin. Z (N N)/ donde (a, b) (c, d) si y solo si a + d =
b + c. La relacin binaria es de equivalencia, y es compatible con + y en N.
Ver detalles en [, Cap. ].
Teorema .. Sea d Z con d > 0. Dado x Z existe un nico resto r N tal
que
x = qd + r
con q Z y 0 r < d.
.. Congruencias. Gau, Disquisitiones Arithmeticae.
Defnicin .. a b mod c si y solo si c | b a.
Dado c, la relacin la relacin binaria a y b son congruentes mdulo c es de
equivalencia.
Proposicin .. Dado c Z, c > 0,
() a [a]
c
mod c,
() a b mod c si y solo si [a]
c
= [b]
c
respectivamente, encryption y decryption en ingls - en espaol es frecuente el par de anglicismos (incorrectos) en-
criptacin y decriptacin
regresar de f(X) a X.
Ejemplo .. Fije un natural N y sea f : Z/N Z/N dada por (X) = [X
3
], donde
[Y] denota el resto de la divisin por N.
X 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14
f(X) 0 1 8 12 4 5 6 13 2 9 10 11 3 7 14
Si Nfuera ahora un nmero enorme, calcular X a partir de f(X) se vuelve suma-
mente difcil.
En el caso anterior la informacin clave es que f(f(X)) = X.
la medida exacta de esta complejidad es un rea importante de la teora de la recursin en lgica matemtica y de la
teora de la computacin
NOTAS SOBRE ARITMTICA MODULAR BSICA
... Detalles. R debe calcular dos primos gigantescos p y q y formar N = pq. La
idea es que R consigue (usando los primos que conoce p y q) un par de nmeros
e y d (encrypter, decrypter). Slo da a conocer al pblico los nmeros N y e. Si
alguien quiere enviarle un mensaje secreto puede usar la funcin f(X) = [X
e
] (Y
denota aqu el resto de divisin por N). Cuando llega un mensaje f(X), Rlo descifra
(obtiene X) usando su funcin secreta g(X) = [X
d
]... pues estas fueron armadas de
manera tal que g(f(X)) = X. En el ejemplo anterior p = 3, q = 5, N = 15, e =
3, d = 3. Lo clave es lograr (dados N = pq) un par de nmeros e y d tales que
[[X
e
]
d
] = X
y obviamente lograr esto de tal manera que conociendo Ny e solamente sea suma-
mente difcil encontrar d.
. Euciiuis, Bzou1
Proposicin .. Dados m, n Z, se tiene
() mcd(m, 0) = m,
() mcd(m, n) = mcd(m qn, n).
Ver ejemplo en []. Desenredndolo obtenemos el siguiente hecho suprema-
mente til.
Teorema . (Identidad de Bzout). Dados m, n Z, existen , Z tales que
m + n = mcd(m, n).
En particular, si a, b Z son relativamente primos (es decir, si mcd(a, b) = 1),
se tiene que existen , tales que a + b = 1.
Dios1vcioN ver [].
Corolario .. Sean a, b, c Z. Entonces
() Si a | bc y adems a y b son relativamente primos, entonces a | c.
() Si a y b son rel. primos, a | c y b | c, entonces ab | c.
() Si a y b son rel. primos y adems a y c son rel. primos, entonces a y bc
son rel. primos.
La demostracin usa que a y b son relativamente primos si y solo existen y
tales que a + b = 1. As, multiplicando por c obtenemos
ac + bc = c.
Pero a | bc; por lo tanto a divide el lado izquierdo y as, tambin a | c. Las otras
dos se demuestran de manera similar.
ANDRS VILLAVECES - BASADO PARCIALMENTE EN LAURITZEN
. Ei 1iovi cuiNo uii visiuuo
El acertijo del (que vemos en clase) tiene como eje el teorema chino del
residuo, o (equivalentemente, pero escrito de manera ms compacta) el isomor-
fsmo (de anillos) del residuo
r : Z/30 Z/2 Z/3 Z/5
dado por
r([X]
30
) = ([X]
2
, [X]
3
, [X]
5
)
De manera ms general, si n
1
, n
2
, ..., n
k
son relativamente primos, y N = n
1
n
2
n
k
entonces
r : Z/N Z/n
1
Z/n
k
dado por
r([X]
N
) = ([X]
n
1
, , [X]
n
k
)
es un isomorfsmo.
Dios1vcioN Es un ejercicio ver que r es un homomorfsmo de grupos. Cal-
culamos ker(r). Si X ker(r) entonces r(X) = ([0]
n
1
, , [0]
n
k
), es decir n
1
|
X, , n
k
| X. Por . (iterado k veces) tenemos que N = n
1
n
2
n
k
| X, es
decir [X]
N
= [0]
N
. Con esto, concluimos que r es un homomorfsmo inyectivo.
Ahora, como el dominio y el recorrido son fnitos y del mismo cardinal (N), r debe
ser una funcin biyectiva tambin, y concluimos que r es un isomorfsmo.
Como r es un isomorfsmo, al tener la informacin ([X]
2
, [X]
3
, [X]
5
) se tiene que
existe un nico elemento de Z/30 cuyos residuos al dividir por 2, por 3 y por 5
sean los dados.
Una manera ms clsica de expresar lo anterior es la siguiente
El estudiante debe revisar que el isomorfsmo anterior y el Teorema Chino son equivalentes. Hay sin embargo una
sutileza que emerge en la demostracin del TChR: en la prueba del isomorfsmo usamos un argumento general de cardi-
nalidad para demostrar la sobreyectividad de r - en la prueba del TChR exhibimos explcitamente la solucin X - lo cual
corresponde a calcular explcitamente r
1
(X) - algo que la demostracin anterior no nos da!
NOTAS SOBRE ARITMTICA MODULAR BSICA
Dios1vcioN Primero probamos (): si X, Y son soluciones del sistema, X
a
j
mod n
j
y Y a
j
mod n
j
, para j = 1, ..., k. Entonces X Y mod n
j
. Esto es,
n
j
| XY; como los n
j
son dos a dos relativamente primos, por el lema . tenemos
que N | X Y, es decir X Y mod N. Por otro lado, si X Y mod N entonces
claramente X Y mod n
j
para j = 1, ..., k, es decir Y tambin es solucin.
Demostramos ahora ():
() Los nmeros n
j
y N/n
j
son relativamente primos, para j = 1, ..., k.
() Por lo tanto, por la identidad de Bzout, existen
j
,
j
Z tales que
1
n
1
+
1
N/n
1
= 1,
2
n
2
+
2
N/n
2
= 1,
.
.
.
k
n
k
+
k
N/n
k
= 1.
() Con esto, si A
j
=
j
(N/n
j
) para j = 1, ..., k entonces se tiene que
A
j
1 mod n
j
0 mod n
i
si i = j.
Pero con esto, es fcil verifcar que
X = a
1
A
1
+ + a
k
A
k
es solucin al sistema.
. Ei 1iovi ui Euiiv
.. La funcin de Euler. Sean
(Z/N)
|.
La funcin cuenta el nmero de naturales primos relativos con N menores
que N. Se llama la funcin de Euler. Aunque uno puede fcilmente dar algunos
valores de , en general es un problema muy difcil calcularla
.
Sin embargo, algunos casos sencillos se tienen.
Proposicin .. Sean m y n nmeros naturales relativamente primos. Entonces
(mn) = (m)(n).
Dios1vcioN
() Sea N = mn. Por TChR, como m y n relativamente primos, sabemos que
r : Z/N Z/mZ/n es una biyeccin.
Ms an: si usted pudiera encontrar una manera efectiva de calcular la funcin de Euler, usted volvera obsoleto el
sistema de cifrado RSA!
ANDRS VILLAVECES - BASADO PARCIALMENTE EN LAURITZEN
() Basta ver que
r((Z/N)
) = (Z/m)
(Z/n)
.
[Por qu?] Es decir, hay que ver que mcd(X, N) = 1 si y solo si mcd([X]
m
, m) =
1 = mcd([X]
n
, n).
() Por Euclides, mcd(a, c) = mcd(c, [a]
c
), para a, c Z con c > 0. En-
tonces mcd([X]
m
, m) = 1 = mcd([X]
n
, n) si y solo si mcd(X, m) = 1 =
mcd(X, n). Pero esto sucede si y solo si mcd(X, mn) = 1.
Teorema . (Euler). Dados a, n enteros relativamente primos, n N, se tiene
a
(n)
1 mod n.
Dios1vcioN Ms adelante en Teora de Grupos, una de las aplicaciones que
usted estudiar al inicio del curso es justamente una demostracin de este teo-
rema de Euler (usando conteo de clases laterales). Sin embargo, podemos dar una
demostracin distinta de esa.
Sea a
1
< a
2
< < a
(n)
la lista de todos los elementos de (Z/n)
(o sea, la
lista de los elementos entre 0 y n 1 que son primos relativos con n).
Afrmacin .. Los conjuntos {a
1
, ..., a
(n)
} y {[aa
1
], ..., [aa
(n)
]} son iguales.
Dios1vcioN de la Afrmacin . - En efecto, basta ver que si a
i
= a
j
en-
tonces [aa
i
] = [aa
j
], y que todo [aa
i
] es relativamente primo con n. Esto es suf-
ciente, pues lo primero muestra que no hay repeticiones en la lista {[aa
1
], ..., [aa
(n)
]}
y lo segundo muestra que todo [aa
i
] est en la lista {a
1
, ..., a
(n)
}.
Si [aa
i
] = [aa
j
] entonces aa
i
aa
j
mod n; por lo tanto, n | aa
i
aa
j
=
a(a
i
a
j
). Pero como mcd(n, a) = 1, podemos concluir que n | a
i
a
j
. Como
estos nmeros son positivos y menores que n, la nica posibilidad es a
i
= a
j
.
Ahora verifcamos que todo [aa
i
] es relativamente primo con n. Como mcd(a, n) =
1 y mcd(a
i
, n) = 1, por la identidad de Bzout existen enteros
1
,
2
,
1
,
2
tales
que
1
a +
1
n = 1
y
2
a
i
+
2
n = 1.
Multiplicando a ambos lados, obtenemos
2
aa
i
+ (
2
a
i
1
+
1
a
2
+
1
2
n)n = 1.
Pero esto implica (ejercicio) que mcd(aa
i
, n) = 1.
Af. .
Ahora podemos terminar la demostracin de Euler: como los dos conjuntos
{a
1
, ..., a
(n)
} y {[aa
1
], ..., [aa
(n)
]} son iguales, sus productorias lo son, con lo
cual (tomando residuos mdulo n),
NOTAS SOBRE ARITMTICA MODULAR BSICA
[a
1
a
(n)
] = [[aa
1
] [aa
(n)
]] = [aa
1
aa
(n)
] = [a
(n)
a
1
a
(n)
] =
[a
(n)
][a
1
a
(n)
]. Pero entonces,
[a
(n)
] = 1,
es decir, a
(n)
1 mod n.
Teorema .
.. Ms propiedades de los primos.
Lema .. Todo nmero natural n es producto de nmeros primos.
Dios1vcioN Por induccin, vista en clase.
El siguiente teorema de Euclides es muy bsico en toda la matemtica, y a la vez
la demostracin es impresionante
.
Teorema . (Euclides). Existen infnitos nmeros primos.
Dios1vcioN Suponga que existe una lista fnita de todos los nmeros primos
p
1
, p
2
, . . . , p
n
.
Ahora arme el nmero natural N = p
1
p
n
+1. Por el lema, existe un nmero
primo p que divide a N; sin embargo, p no puede estar en la lista anterior (pues al
dividir N por cualquiera de los primos de la lista el residuo es 1). As, la lista no
era exhaustiva. Contradiccin.
.. Factorizacin nica. Aparentemente, la unicidad de factorizaciones de nat-
urales (es decir, si p
1
p
2
p
r
, q
1
q
2
q
s
son primos y
p
1
p
2
p
r
= q
1
q
2
q
s
entonces las dos sucesiones de primos son iguales) fue
usada sin demostracin durante siglos, pero Gau en Disquisitiones Arithmeticae
hizo la pregunta explcita.
Lema .. Si p es primo y p | ab entonces p | a o p | b.
Dios1vcioN Si p a entonces mcd(p, a) = 1 y por lo tanto p | b. Similar si
p b.
Teorema .. Todo natural distinto de 0 y 1 se puede factorizar de manera nica
como producto de primos (mdulo el orden de los factores):
n = p
1
p
s
.
Dios1vcioN Suponga que n = p
1
p
2
p
r
= q
1
q
2
q
s
.
() Sin prdida de generalidad, podemos suponer que no aparece ningn p
j
al
lado derecho (si esto no es as, dividimos a ambos lados).
() Podemos suponer que r 1 y s > 1.
() Como p
1
| n, por el lema (aplicado s1 veces) tenemos que p
1
| q
1
o p
1
| q
2
o ... o p
1
| q
s
. Si p
1
| q
j
es porque son iguales (al ser primos). Contradiccin.
Existen muchas demostraciones diferentes de la original de Euclides, todas muy distintas entre s. Por ejemplo, uno
puede demostrar que
1
2
+
1
3
+
1
5
+
1
7
+
1
11
+ es infnita, lo cual implica que existen infnitos primos.
ANDRS VILLAVECES - BASADO PARCIALMENTE EN LAURITZEN
. Di vuii1 RSA
.. Entender RSAahora s. Ahora podemos entender mejor RSA. Quien quiere
recibir un mensaje cifrado debe hacer pblicos dos nmeros N y e. El nmero N
(la clave pblica) es el producto de dos primos distintos p y q. Si alguien quiere
enviar el nmero X (0 X < N), lo enva cifrado como [X
e
]. El receptor puede
descifrar el mensaje pues conoce el nmero secreto d con el cual [[X
e
]
d
] = X
(residuos mdulo N).
Cmo construir e y d?
() Note que [[X
e
]
d
] = [X
ed
] = X si y solo si X X
ed
mod N.
() Sabemos que (N) = (p)(q) = (p 1)(q 1).
() La clave de todo est aqu:
Proposicin .. Sean X un entero y k un natural. Entonces
X
k(p1)(q1)+1
X mod N.
[Dios1vcioN Basta ver que X
k(p1)(q1)+1
X mod py X
k(p1)(q1)+1
1
4
m
.
De hecho esa probabilidad suele ser mucho menor. Si un nmero p tiene
alrededor de 600 bits (180 dgitos), y se sabe que p es pseudoprimo con
respecto a una base, entonces la probabilidad de que p sea compuesto es
menor que (
1
2
)
76
.
Dice Lauritzen, citando a Knuth, que ya para m 30 la estimacin burda
(
1
4
)
m
es comparable con la probabilidad de que un rayo csmico genere un
error de hardware en su computador. As que un nmero que sea pseudo-
primo fuerte con respecto a ms de 30 bases aleatorias lo podemos tomar
como primo para efectos prcticos (con nuestro computador no podremos
determinar que no lo es).
.. La distribucin de los primos. La historia del estudio de la distribucin de
los nmeros primos es antigua. En estos ltimos das (noviembre de ) han
pasado cosas interesantes. Resumo los enunciados, pero doy los enlaces por si
quieren revisar ms.
Teorema . (Maynard). (Anunciado el de noviembre de .)
H
1
600.
H
m
Cm
3
e
4m
, para cualquier m 1 y para una constante absoluta C.
Adicionalmente, suponiendo otras conjeturas, Maynard reduce las cotas H
m
de
manera dramtica.
Qu quiere decir sto?
Primero que todo, la defnicin: H
m
es la mnima cantidad tal que existe una
cantidad infnita de intervalos de longitud H
m
que contienen al menos m + 1
primos. Formalmente,
H
m
:= liminf
n
p
n+m
p
n
donde p
n
denota el n-simo primo.
Este es otro problema difcil. Aparentemente, el ruido atmosfrico de ondas de radio es una buena fuente de aleato-
riedad. http://www.random.org tiene mucho ms sobre este problema.
ANDRS VILLAVECES - BASADO PARCIALMENTE EN LAURITZEN
Dicho de manera cruda, si usted escoge un nmero m, habr infnitos clusters
acotados con m + 1 primos.
La famosa conjetura antigua de los primos gemelos tiene que ver con H
1
: por el
teorema de Maynard, hay infnitos intervalos de longitud 600 dentro de los cuales
hay al menos dos primos. El salto de longitud 600, aunque puede parecer alto
comparado con el nmero 2, es bajsimo si se piensa que clusters de longitud 600
con al menos 2 primos ocurren infnitas veces.
El esfuerzo ha sido colaborativo - adems de James Maynard, los nombres de
Yitang Zhang y el famoso medallista Fields Terence Tao juegan un papel crucial
en la bsqueda de prime gaps.
Ver ms detalles (y una descripcin por Tao de la prueba de Maynard) en estos
dos enlaces:
https://www.simonsfoundation.org/quanta/-together-and-alone-closing-
the-prime-gap/
http://terrytao.wordpress.com////polymathb-bounded-intervals-with-
many-primes-after-maynard/
8. Fc1ovizv, ui Nuivo
Romper el cifrado RSA se puede si uno tiene algoritmos efectivos para factor-
izacin en primos. En el nmero RSA- (
) fue factorizado.
Los autores de esta factorizacin cuentan en su artculo de pginas cmo lo-
graron factorizarlo, qu algoritmos usaron, etc. (http://eprint.iacr.org//.pdf)
Los nmeros ms difciles de factorizar son los de la forma N = pq, producto de
dos primos. Si N es un nmero grande, los primos p y q pueden ser muy grandes
tambin, y los algoritmos publicados hasta ahora funcionan hasta poco ms de
dgitos - aparentemente, lo mejor hasta la fecha (publicado) es el algoritmo
GNFS (great number feld sieve - o gran criba del campo de nmeros), de tiempo
de ejecucin O(e
(
64
9
b)
1
3 (log b)
2
3
).
La bsqueda, si el nmero es impar, recorre en principio hasta
N nmeros
(criba). Es increblemente lento el procedimiento: si N tiene dgitos y es pro-
ducto de dos nmeros de dgitos, hay que hacer aproximadamente 10
50
pasos
para la criba antes de encontrar la factorizacin. Si cada paso toma 10
10
segun-
dos, hay que esperar 10
40
segundos (o sea, aproximadamente 10
32
aos) antes de
encontrar el factor primo.
.. Cumpleaos, y de Pollard. Recuerde el famoso problema del cumpleaos:
si hay por los menos personas en un saln, la probabilidad de que dos de esas
personas cumplan el mismo da es 50%. Veamos por qu.
NOTAS SOBRE ARITMTICA MODULAR BSICA
Piense en el problema inverso: dadas Npersonas, calcule la probabilidad P(N)
de que ningn par de ellas cumplan el mismo da. As, por ejemplo, P(1) = 1,
P(2) =
364
365
(pues dado el cumpleaos del primero, quedan 364 fechas para el
segundo si queremos que tenga cumpleaos distinto), P(3) =
364
365
363
365
, etc. En
general,
P(N) =
365 364 (365 N+ 1)
365
N
.
Claramente, esto es decreciente. Si N = 23, la probabilidad P(N) ya es menor que
0, 5. Por lo tanto, si hay personas en un saln, la probabilidad de que dos de
ellas compartan cumpleaos es ya ms que 50%. Si hay personas, dos comparten
cumpleaos con probabilidad 97%.
Abstrayendo, la idea es hacer muestreo con reemplazo de un espacio muestral
de Nobjetos. El nmero promedio de muestras antes de que ocurra una repeticin
se puede calcular como el valor medio de una variable estocstica. Cuando N es
grande, ese valor es cercano a
N
2
.
... El algoritmo de Pollard. Pollard mejora la velocidad, con su algoritmo
(llamado as por la forma de la repeticin de nmeros que aparecen).
Suponga que p es un primo que divide a Ny nos dan dos nmeros 0 a, b < N
con a b mod p. Entonces 1 < mcd(a b, N) N y si a = b, mcd(a b, N)
es un factor no trivial de N.
Suponga que generamos enteros aleatorios X
1
, X
2
, con 0 X
i
< N. Por
ideas anlogas al problema del cumpleaos, vemos en promedio
N
2
nmeros
aleatorios antes de que se repita alguno. Para efectos de factorizacin, es sufciente
con tener una repeticin mdulo p, donde p es el mnimo primo que divide a N:
si X
i
X
j
mod p, entonces 1 < mcd(X
i
X
j
, N) N. El conteo se reduce
entonces a enteros aleatorios X
1
, X
2
, mdulo p. Vemos entonces en promedio
p
2
nmeros aleatorios antes de que se repita alguno.
La funcin siguiente aproxima ms o menos decentemente el problema de generar
nmeros verdaderamente aleatorios.
f : Z/N Z/N : X [X
2
+ 1]
N
.
Arranque con X
0
:= 0 y defna X
i+1
:= f(X
i
).
Lema .. Si f : MMes una funcin con Mfnito, sea x
0
My genera la suce-
sin x
0
, x
1
, x
2
, con x
i+1
= f(x
i
) para i 0. Entonces existen i, j Ntales que
i = j y x
i
= x
j
. Adems, existe n > 0 tal que x
n
= x
2n
. La sucesin y
0
, y
1
, y
2
,
dada por y
0
= x
0
y y
i+1
= f(f(y
i
)) es igual a la sucesin x
0
, x
2
, x
4
, .
ddiv(n)
d
respectivamente el nmero de divisores de n y la suma de los divisores de
d.
(a) Demuestre que d(n) = (e
1
+ 1) (e
m
+ 1).
(b) Demuestre que
(n) =
p
e
1
+1
1
1
p
1
1
p
em+1
m
1
p
m
1
.
() Un nmero n es perfecto si (n) = 2n... es decir, si es igual a la suma de
sus divisores menos l mismo. Demuestre que si 2
n+1
1 es primo, entonces
2
n
(2
n+1
1) es perfecto.
() Use GIMPS (http://mersenne.org/) y su computador para encontrar un nmero
perfecto con ms de un milln de dgitos.
() Demuestre que el quinto nmero de Fermat F
5
= 2
32
+ 1 es compuesto
(Euler, ) usando las siguientes pistas:
5
4
+ 2
4
= 1 + 2
7
5
F
5
= (5
4
+ 2
4
)(2
7
)
4
5
4
(2
7
)
4
+ 1.
() Suponga que N = pq es producto de dos primos distintos p y q. Demuestre
que p y q son soluciones de la ecuacin
X
2
+ ((N) N 1)X + N = 0.
Concluya que (dado N = pq), factorizar N es exactamente igual de difcil
a encontrar (N).
NOTAS SOBRE ARITMTICA MODULAR BSICA
() Este ejercicio (difcil) muestra por qu hay que cambiar N en RSA con
mucha frecuencia.
Suponga que le dan e, d, Nen el contexto de RSA. Vamos a deducir de estos
tres datos la factorizacin prima de N = pq.
(a) Demuestre que la congruencia x
2
1 mod N tiene cuatro soluciones
mdulo N (o sea, hay dos fuera de las triviales x = 1).
(b) Demuestre que una de estas soluciones satisface x 1 mod p y
x 1 mod p. Cmo se puede usar sto para encontrar p de man-
era efectiva?
(c) Usando que (N) es par, deduzca un algoritmo probabilstico efectivo
para encontrar p y q dados e, d, N (usted ya sabe que (N) | ed 1 y
que a
(N)
1 mod N si (a, N) = 1).
(d) Concluya que no es seguro usar el mismo N para gente distinta en el
sistema RSA.
() Demuestre que 899 es compuesto usando exclusivamente el pequeo teo-
rema de Fermat.
() Demuestre que 15 no es pseudoprimo fuerte con respecto a 11.
() Demuestre que 25 es pseudoprimo fuerte con respecto a 7.
() Sea n = p
1
p
r
producto de primos distintos. Suponga que p
i
| n 1,
para i = 1, , r.
(a) Demuestre que a
n1
1 mod n si (a, n) = 1.
(b) Demuestre que 561 es un nmero de Carmichael.
() Use el algoritmo de Pollard para factorizar N = 143. Use el algoritmo
de Pollard para factorizar N = 10403.
RiiiviNcis
. Niels Lauritzen - Concrete Abstract Algebra. From Numbers to Grbner Bases. Cambridge University Press. .
. Fernando Zalamea - Fundamentos de Matemticas - Universidad Nacional. .