Vous êtes sur la page 1sur 15

NOTAS SOBRE ARITMTICA MODULAR BSICA

ANDRS VILLAVECES - BASADO PARCIALMENTE EN LAURITZEN


Las siguientes notas (esquelticas, por ahora) ilustran conexiones (profundas)
entre los siguientes temas:
Nmeros naturales
Nmeros enteros.
Cifrado y descifrado

.
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

ANDRS VILLAVECES - BASADO PARCIALMENTE EN LAURITZEN


Proposicin .. Si x y mod d y z z mod d entonces x +z y +w mod d y
xz yw mod d.
Corolario .. Dados x, y Z, [xy] = [[x][y]].
Ejemplo inmediato: el resto de dividir 13
2010
por 4 es 1.
.. Cuadrados repetidos. Un ejemplo de lo anterior: 12
11
mod 21.
Escriba 11 en base 2 11 = 2
3
+ 2
1
+ 2
0
.
Use el corolario . para lograr [12
11
] = [12
2
3
+2
1
+2
0
] = [12
2
3
12
2
12] =
[[12
2
3
][12
2
][12]].
Note que [12
1
] = 12,
[12
2
] = 18,
[12
2
2
] = [(12
2
)
2
] = [[12
2
][12
2
]] = [18 18] = [3 3] = 9,
[12
2
3
] = [(12
2
2
)
2
] = [[12
2
2
][12
2
2
]] = [9 9] = 18.
Concluya: [12
11
] = [[12
2
3
][12
2
][12]] = [[18 18] 12] = [9 12] = 3.
El punto clave siempre es
[a
2
n
] = [(a
2
n1
)
2
] = [[a
2
n1
][a
2
n1
]].
:. RSA (1)
Al enviar mensajes por internet uno mantener la privacidad. Como cualquier
mensaje debe pasar por servidores intermedios, los mensajes deben ir cifrados...
pero deben ser descifrados a la llegada. Es posible que si E enva y R recibe el men-
saje (cifrado), E pueda darle una clave, tambin por internet, a R para descifrar
el mensaje?
Obviamente, no tiene sentido que E enve directamente la clave - sta podra
ser interceptada y se perdera completamente el secreto del mensaje. Sin embargo,
curiosamente, una idea matemtica permite lo anterior: existen funciones de sen-
tido nico f(X).
De X a f(X) es fcil ir de f(X) es MUY difcil

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

Teorema . (Teorema chino del residuo - TChR). Suponga que N = n


1
n
2
n
k
,
donde n
1
, , n
k
Z \ {0} son relativamente primos dos a dos. Considere el
sistema de congruencias
X a
1
mod n
1
X a
2
mod n
2
.
.
.
X a
k
mod n
k
para a
1
, ..., a
k
Z. Entonces
() El sistema tiene alguna solucin X Z.
() Si X, Y Z son soluciones del sistema entonces X Y mod N. Si X es
solucin del sistema y Y X entonces Y tambin es solucin.

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)

:= {X Z/N | mcd(X, N) = 1}.


y
: N N : (N) = |(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

X mod q, pues N = pq y p = q. Probamos la primera. Si p | X entonces


se tiene claramente la afrmacin. Si p X entonces mcd(p, X) = 1. Por lo
tanto, por el teorema de Euler, X
(p)
= X
p1
1 mod p. Usando congru-
encias,
X
k(p1)(q1)
(X
p1
)
k(q1)
1 mod p.
Multiplicando por X a ambos lados obtenemos X
k(p1)(q1)+1
X mod p.
]
() Escogemos e (el exponente de cifrado) como algn natural relativamente
primo con (N) = (p 1)(q 1). Despus de escoger e calculamos d.
() Como e y (p 1)(q 1) son rel. primos, existen y enteros tales que
(p 1)(q 1) + e = 1.
Podemos tomar spdg 0 < < (p1)(q1) [Por qu?]. Entonces < 0.
Escogemos d = y k = .
() La escogencia anterior sirve: se tiene que k(p 1)(q1) +1 = de. Por lo
tanto,
[[X
e
]
d
] = [X
ed
] = [X
k(p1)(q1)+1
] = X.
El gran secreto est oculto en (N) = (p 1)(q 1): si uno puede calcular
(N) y le dan una clave de cifrado e, puede calcular una clave de descifrado d
usando el algoritmo de Euclides. Sin embargo, calcular (N) es al menos tan
difcil como factorizar N.
Queda pendiente una cuestin prctica: la clave pblica N debe ser el producto
de dos primos enormes p y q para que sea realmente difcil de descifrar (deben
tener por lo menos 100 dgitos cada uno). Cmo encuentra uno primos as de
grandes?
NOTAS SOBRE ARITMTICA MODULAR BSICA
,. Pvios cvNuis
.. El pequeo teorema de Fermat, pseudoprimos.
Tout nombre premier mesure infailliblement une des puissances
moins un de quelque progression que ce soit, et lexposant de la
dite puissance est sous-multiple du nombre premier donn moins
un ... Et cette proposition est le plus souvent vraie en toutes pro-
gressions et en tous nombres premiers; de quoi je vous envoierois
la dmonstration, si je napprhendois dtre trop long
Carta de Pierre de Fermat a Frnicle de Bessy, .
En ese fragmento leemos por primera vez el resultado que ya conocemos (en su
forma ms general de Euler):
Teorema . (Pequeo teorema de Fermat). Sean p primo y a entero, tales que
(a, p) = 1. Entonces
a
p1
1 mod p.
Generar primos grandes es un problema natural en cifrado RSA (y en muchos
otros temas).
Compare las dos situaciones siguientes:
5
5
5 = 1 mod 6. (Por qu? Use congruencias arrancando de 5
1 mod 6.)
8
8
(1)
8
= 1 mod 9.
En ambos casos el formato es similar al del pequeo teorema de Fermat (PTF:
a
r1
1 mod r)... excepto que en este caso r no es primo. En el primer caso
podemos concluir inmediatamente que 6 no es primo (pues falla la consecuencia
del PTF), pero en el segundo caso, aunque sabemos que 9 no es primo, an se tiene
la consecuencia del PTF. En cierto sentido que 6 es no-primo de manera ms fcil
de ver que en el caso de 9. Obviamente, para nmeros tan bajos como 6 o 9 la
primalidad o no-primalidad no requiere estas cuentas, pero imagnese la situacin
si le dan un nmero M grande y le piden averiguar si es primo o no. Si no pasa el
test del PTF, es fcil ver que no es primo.
Defnicin .. Sean N un nmero natural compuesto y a un entero. Se dice que
N es un pseudoprimo con respecto a la base a si a
N1
1 mod N.
Note que para que N pueda ser pseudoprimo con respecto a la base a, a de
entrada tiene que ser primo relativo con N.
Defnicin . (Nmeros de Carmichael). Un nmero de Carmichael Nes un nmero
que es pseudoprimo con respecto a toda base relativamente prima.
Por ejemplo, N = 561 = 3 11 17 es un nmero de Carmichael. En se
demostr que existen infnitos nmeros de Carmichael.
Los pseudoprimos son entonces nmeros que no son primos, pero que pasan el
test del pequeo teorema de Fermat (con respecto a la base de pseudoprimalidad).
ANDRS VILLAVECES - BASADO PARCIALMENTE EN LAURITZEN
.. Ms fltros de primalidad - Teorema de Rabin. Un segundo fltro lo da
el siguiente lema.
Lema .. Sean p un nmero primo y x Z. Si x
2
1 mod p entonces x
1 mod p.
La demostracin es inmediata: si p | x
2
1 = (x1)(x+1), entonces p | x1
o p | x + 1 (verifque por qu).
Un ejemplo de un nmero (argumento en cadena) que no pasa este test es N =
341.
2
340
1 mod 341. [Aqu vale la pena usar cuadrados repetidos - haga el
argumento para clase.] De modo que o bien 341 es primo o bien 341 es
un pseudoprimo con respecto a la base 2. An no sabemos.
Por el lema anterior, si 341 fuera primo, deberamos tener que
2
170
1 mod 341. Veamos si 341 pasa este segundo chequeo.
Y s, se puede calcular que 2
170
1 mod 341. Ejercicio: calcule esto con
cuadrados repetidos. Pero entonces no se puede an concluir nada. Sin
embargo, usando que (2
85
)
2
= 2
170
, podemos continuar aplicando el lema.
Si 341 es primo, podramos concluir que 2
85
1 mod 341. Pero NO:
tenemos que 2
85
32 mod 341, con lo cual 2
85
1 mod 341. Ahora
S podemos concluir que 341 no es primo... y claro que es entonces un
pseudoprimo con respecto a la base 2.
Defnicin . (Pseudoprimos fuertes). Un nmero compuesto impar Nes un pseu-
doprimo fuerte con respecto a la base a si o bien a
q
1 mod N o existe i
{0, , k 1} tal que
a
2
i
q
1 mod N,
donde N 1 = 2
k
q y 2 no divide a q.
Estos pseudoprimos fuertes son por lo tanto los nmeros compuestos que pasan
los dos chequeos de primalidad - son nmeros compuestos que no son tan fciles
de sealar como no primos.
Michael Rabin tiene el siguiente resultado importante que muestra el contraste
entre los pseudoprimos fuertes y los pseudoprimos con base a.
Teorema . (Rabin). Suponga que N > 4 es un entero compuesto impar, y sea B
el nmero de bases a (1 < a < N) con respecto a las cuales N es pseudoprimo
fuerte. Entonces
B < (N)/4 (N 1)/4.
Hay por lo tanto muchas bases a que muestran que un nmero compuesto no es
primo: al menos
3
4
del punto de arranque. Leyendo el mismo resultado en direccin
contra-recproca, obtenemos que si un nmero es pseudoprimo fuerte, resulta
que en realidad es compuesto... en <
1
4
de los casos. Especifcamos la idea aqu:
NOTAS SOBRE ARITMTICA MODULAR BSICA
... Tests de primalidad, de nuevo.
Suponga que le dan un nmero natural N y un a escogido al azar entre 2 y
N1. Si N es compuesto impar, entonces la probabilidad de que N sea un
pseudoprimo con respecto a a es <
1
4
por el teorema de Rabin.
Suponga ahora que tiene un buen mtodo para generar nmeros aleato-
rios distribuidos uniformemente,

puede intentar con una sucesin de bases


aleatorias 1 < a
1
< a
2
< < a
m
< N. Al fnal del da si N es un pseu-
doprimo fuerte con respecto a las m bases aleatorias a
1
, , a
m
entonces
la probabilidad de que N sea compuesto es menor a

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
, .

Como hemos discutido en clase, el problema de generar nmeros verdaderamente aleatorios es


muy difcil. Ver una discusin muy reciente, e interesante, de John Baez, sobre el tema, aqu:
https://plus.google.com//posts/HeNsSQztA.
ANDRS VILLAVECES - BASADO PARCIALMENTE EN LAURITZEN
Armamos ahora s el algoritmo basndonos en reconocer repeticin m-
dulo p. Lo clave es que tenemos repeticin mdulo p de la forma X
n

X
2n
mod p (por el lema).
Sean X
0
= Y
0
= 0. Iteramos X
i+1
= f((X
i
) y Y
i+1
= f(f((Y
i
)), usando la
funcin f(X) = [X
2
+ 1]
N
.
Calculamos d = mcd(Y
i+1
X
i+1
, N) usando el algoritmo de Euclides. Si
d = 1 o d = N, repetimos el proceso. Si no, d tiene que ser un factor no
trivial de N y acabamos.
Este algoritmo de Pollard requiere en promedio
4

N pasos para factorizar un


entero N... bastante menos que los

N pasos de la criba usual.


,. EJivcicios
() Sea n N\ {0}, con factorizacin prima
n = p
e
1
1
p
em
m
,
con p
i
= p
j
si i = j. Sean d(n) = |div(n)| y
(n) =

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. .

Vous aimerez peut-être aussi