Está en la página 1de 46

26/2/2020 Intitulado

Página 1

Página 2

Textos de Posgrado en Matemáticas 114


Consejo editorial
S. Axler FW Gehring KA Ribet

https://translate.googleusercontent.com/translate_f 1/46
26/2/2020 Intitulado

Springer Science + Business Media, LLC

Página 4
3

Neal Koblitz

Un curso en
Teoría de los números
y criptografía
Segunda edicion

Saltador
https://translate.googleusercontent.com/translate_f 2/46
26/2/2020 Intitulado

Página 5

Ne al Koblitz
Departamento de Matemáticas
Universidad de Washington
Seattle, WA98l95
Estados Unidos

Consejo editorial:
S. Axler FW Gehring KA Ribet
Departamento de Matemáticas Departamento de Matemáticas Departamento de Matemáticas
Estado de san francisco East Hali Universidad de California,
Universidad Universidad de Michigan Berkeley
San Francisco, CA 94132 Ann Arbor, MI 48109 Berkeley, CA 94720-3840
Estados Unidos Estados Unidos Estados Unidos
axler@sfu.edu fgehring@math.lsa.umich.edu ribet@math.berkeley.edu

Clasificación de asignaturas de Matemáticas (2000): II-OI, 11T71

Con 5 I1Iustraciones.

Datos de catalogación en publicación de la Biblioteca del Congreso


Koblitz, Neal, 1948-
Un curso de teoría de números y criptografía / Neal Koblitz. - 2do
ed.
pag. cm. - (Textos de posgrado en matemáticas; 114)
Incluye referencias bibliográficas e indice.
ISBN 978-1-4612-6442-2 ISBN 978-1-4419-8592-7 (libro electrónico)
DOI 10.1007 / 978-1-4419-8592-7
1. Teoría de los números. 2. Criptografía. 1. Título. II Serie.
QA169.M33 1998
512'.7-dc20 94-11613

Impreso en papel sin ácido.

© 1994 Springer Science + Business Media Nueva York


Publicado originalmente por springer-Verlag New York, Inc. en 1994
Reimpresión en tapa blanda de la tapa dura 2ª edición 1994
Todos los derechos reservados. Este trabajo no puede ser traducido o copiado total o parcialmente sin el
permiso escrito del editor (Springer-Verlag New York, Inc., 175 Fifth Avenue, New
York, NY 10010, EE. UU.), A excepción de breves extractos relacionados con revisiones o estudios académicos
análisis. Uso en relación con cualquier forma de almacenamiento y recuperación de información, electrónica
adaptación, software de computadora, o por una metodología similar o dis similar ahora conocida o aquí
después de desarrollado está prohibido.
El uso de nombres descriptivos generales, nombres comerciales, marcas comerciales, etc., en esta publicación, incluso
si los primeros no están especialmente identificados, no se debe tomar como una señal de que tales nombres, como
entendido por la Ley de Marcas Comerciales y Marcas de Mercadería, en consecuencia puede ser utilizado libremente
Por cualquiera.

9876 SPIN 11013396

springeronline.com

https://translate.googleusercontent.com/translate_f 3/46
26/2/2020 Intitulado

Página 6

Prefacio

... tanto Gauss como los matemáticos menores pueden estar justificados en regocijo-
ing que hay una ciencia [teoría de números] en cualquier caso, y que
la suya, cuya lejanía de las actividades humanas ordinarias
Debe mantenerlo suave y limpio.
- GH Hardy, disculpa de un matemático, 1940

GH Hardy se habría sorprendido y probablemente disgustado con


El creciente interés en la teoría de números para su aplicación a "humanos comunes
actividades "como la transmisión de información (códigos de corrección de errores) y
criptografía (códigos secretos). Menos de medio siglo después de que Hardy escribió
Las palabras citadas anteriormente, ya no es inconcebible (aunque no ha
sucedió todavía) que la NSA (la agencia para el trabajo del gobierno de EE. UU.
criptografía) exigirá una revisión previa y autorización antes de la publicación
de trabajos de investigación teórica sobre ciertos tipos de teoría de números.
En parte es el aumento dramático en la potencia y sofisticación de la computadora.
ción que ha influido en algunas de las preguntas que se estudian por número
teóricos, dando lugar a una nueva rama del tema, llamada "computacional
teoría de los números."
Este libro presume que casi no hay antecedentes en álgebra o número-
ory Su propósito es presentar al lector temas aritméticos, ambos antiguos.
y muy moderno, que han estado en el centro de interés en aplicaciones,
especialmente en criptografía. Por esta razón, tomamos un enfoque algorítmico,
enfatizando estimaciones de la eficiencia de las técnicas que surgen de la
teoría. Una característica especial de nuestro tratamiento es la inclusión (Capítulo VI) de
Algunas aplicaciones muy recientes de la teoría de curvas elípticas. Curvas elípticas
Durante mucho tiempo han formado un tema central en varias ramas de la teoría

https://translate.googleusercontent.com/translate_f 4/46
26/2/2020 Intitulado

Página 7

vi Prefacio

matemáticas; ahora la aritmética de las curvas elípticas ha resultado tener


posibles aplicaciones prácticas también.
Se han incluido ejercicios extensos en todos los capítulos en orden
para habilitar a alguien que está estudiando el material fuera de un curso formal
estructura para solidificar su comprensión.
Los primeros dos capítulos proporcionan un trasfondo general. Un estudiante que
no ha tenido exposición previa al álgebra (extensiones de campo, campos finitos) o
la teoría de números elementales (congruencias) encontrará la exposición más bien
condensado, y debería consultar libros de texto más pausados para más detalles. Sobre el
Por otro lado, alguien con más conocimientos matemáticos probablemente
quiero hojear los primeros dos capítulos, quizás probando algunos de los
ejercicios menos familiares
Dependiendo de los antecedentes de los estudiantes, debería ser posible cubrir
La mayoría de los primeros cinco capítulos en un semestre. Alternativamente, si se usa el libro
en una secuela de un curso de un semestre en teoría de números elemental, luego
Los capítulos III-VI completarían un curso del segundo semestre.
La relación de dependencia de los capítulos es la siguiente (si se pasa por alto
algunas referencias no esenciales a capítulos anteriores en los capítulos V y VI):
Capítulo I

Capitulo dos

// \
Chapr III Capítulo V Capítulo VI

CAPITULO IV

Este libro se basa en cursos impartidos en la Universidad de Washington.


ington (Seattle) en 1985-86 y en el Instituto de Ciencias Matemáticas
(Madras, India) en 1987. Me gustaría agradecer a Gary Nelson y Douglas
Lind por usar el manuscrito y hacer correcciones útiles.
El frontispicio fue dibujado por el profesor AT Fomenko de Moscú
Universidad Estatal para ilustrar el tema del libro. Tenga en cuenta que el codificado
Los dígitos decimales a lo largo de las paredes del edificio no son aleatorios.
Este libro está dedicado a la memoria de los estudiantes de Vietnam,
Nicaragua y El Salvador que perdieron la vida en la lucha contra
Agresión de los Estados Unidos. Se utilizarán las regalías del autor de las ventas del libro.
comprar libros de matemáticas y ciencias para las universidades e institutos de
esos tres países

Seattle, mayo de 1987

Página 8

https://translate.googleusercontent.com/translate_f 5/46
26/2/2020 Intitulado

Prefacio a la segunda edición

A medida que el campo de la criptografía se expande para incluir nuevos conceptos y tecnología,
niques, las aplicaciones criptográficas de la teoría de números también han ampliado
ened Además de la teoría de números elemental y analítica, aumenta el uso
se ha hecho de la teoría de números algebraicos (prueba de primalidad con Gauss
y sumas de Jacobi, criptosistemas basados en campos cuadráticos, el campo numérico
tamiz) y geometría algebraica aritmética (factorización de curva elíptica, crip-
sistemas basados en curvas elípticas e hiperelípticas, pruebas de primalidad basadas
en curvas elípticas y variedades abelianas). Algunas de las aplicaciones recientes.
de la teoría de números a la criptografía - más notablemente, el tamiz de campo numérico
método para factorizar enteros grandes, que se desarrolló desde la aparición
La primera edición está más allá del alcance de este libro. Sin embargo,
al aumentar ligeramente el tamaño del libro, pudimos incluir algunos
Nuevos temas que ayudan a transmitir más adecuadamente la diversidad de aplicaciones.
de teoría de números a esta apasionante asignatura multidisciplinaria.
La siguiente lista resume los principales cambios en la segunda edición.
• Se han realizado varias correcciones y aclaraciones, y muchas
Se han agregado referencias.
• Una nueva sección sobre pruebas de conocimiento cero y transferencia inconsciente tiene
agregado al Capítulo IV.
• Se ha agregado una sección sobre el método de factorización de tamices cuadráticos
al Capítulo V.
• El Capítulo VI ahora incluye una sección sobre el uso de curvas elípticas para
prueba de primalidad.
• Se han agregado breves discusiones sobre los siguientes conceptos: k-
esquemas de umbral, cifrado probabilístico, funciones hash, el Chor-
El criptosistema de mochila Rivest y el nuevo Digital Sig- del gobierno de EE. UU.
Norma de la naturaleza.

Seattle, mayo de 1994

Página 9

https://translate.googleusercontent.com/translate_f 6/46
26/2/2020 Intitulado

Contenido

Prólogo ................... v
Prefacio a la segunda edición ........... vii

Capítulo I. Algunos temas en la teoría de los números elementales .1


1. Estimaciones de tiempo para hacer aritmética. . .1
2. Divisibilidad y el algoritmo euclidiano. 12
3. Congruencias. . . . . . . . . . . . 19
4. Algunas aplicaciones para factoraje. . . . 27
Capítulo II Campos finitos y residuos cuadráticos 31
1. Campos finitos. . . . . . . . . . 33
2. Residuos cuadráticos y reciprocidad. 42

Capítulo III Criptografía . . . 54


1. Algunos criptosistemas simples 54
2. Matrices de cifrado. . . sesenta y cinco

Capítulo IV Llave pública . ... 83


1. La idea de la criptografía de clave pública 83
2. RSA 92
3. Registro discreto. . . . . . . . . .. 97
4. Mochila. . . . . . . . . . . . · 111
5. Protocolos de conocimiento cero y transferencia inconsciente · 117

Capítulo V. Primalidad y Factoring · 125


1. Pseudoprimos ... . · 126
2. El método rho. . . . . · 138
3. Factorización de Fermat y bases de factores · 143

Página 10

X Contenido

4. El método de fracción continua · 154


5. El método de tamiz cuadrático . 160

https://translate.googleusercontent.com/translate_f 7/46
26/2/2020 Intitulado

Capítulo VI Curvas elípticas · 167


1. Datos básicos. . . . . . . . · 167
2. Criptosistemas de curva elíptica · 177
3. Prueba de primitivas de curva elíptica · 187
4. Factorización de curva elíptica. · 191
Respuestas a ejercicios .200
Índice ........... .231

Página 11

yo
Algunos temas en primaria
Teoría de los números
https://translate.googleusercontent.com/translate_f 8/46
26/2/2020 Intitulado

La mayoría de los temas revisados en este capítulo probablemente sean bien conocidos por la mayoría
lectores El propósito del capítulo es recordar la notación y los hechos de
teoría elemental de números que necesitaremos tener a nuestro alcance
en nuestro trabajo posterior La mayoría de las pruebas se omiten, ya que se pueden encontrar en
casi cualquier libro de texto introductorio sobre teoría de números. Un tema que lo hará
papel central de la playa más adelante: estimación de la cantidad de operaciones de bits necesarias
realizar varias tareas teóricas numéricas por computadora, todavía no es un
parte estándar de los libros de texto de teoría de números elementales. Entonces entraremos en
Más detalles sobre el tema de las estimaciones de tiempo, especialmente en §1.

1 Estimaciones de tiempo para hacer aritmética


Números en diferentes bases. Un entero no negativo n escrito en la base b
es una notación para n de la forma (dk-ldk-2 ... d1do) b, donde las d son dígitos,
es decir, símbolos para los enteros entre 0 y b - 1; esta notación significa que
n = dk_lbk-1 + dk_2bk- 2 + ... + d1b + do. Si el primer dígito dk-l no es cero,
llamamos a n un número de base b de k dígitos. Cualquier número entre b k- 1 y b k es un
número de k dígitos a la base b. Omitiremos los paréntesis y el subíndice.
(.. ') b en el caso del sistema decimal habitual (b = 10) y ocasionalmente en
otros casos también, si la elección de la base es clara por el contexto, especialmente
cuando estamos usando el sistema binario (b = 2). Como a veces es útil
trabajar en bases distintas de 10, uno debería acostumbrarse a hacer aritmética en un
base arbitraria y para convertir de una base a otra. Ahora revisamos
esto haciendo algunos ejemplos.

Pagina 12

2 I. Algunos temas en teoría elemental de números

Observaciones (1) Las fracciones también se pueden expandir en cualquier base, es decir,
se puede representar en la forma (dk-ldk-2 ·· · d 1 d o .d_ 1 d_2 ·· ·) b. (2) cuando
b> 10 es costumbre usar letras para los dígitos más allá de 9. También se podría
use letras para todos los dígitos.
Ejemplo 1. (a) (11001001h = 201.
(b) Cuando b = 26 usemos las letras AZ para los dígitos 0-25,
respectivamente. Entonces (BADh6 = 679, mientras que (B.ADh6 = 16 ~ 6.
Ejemplo 2. Multiplica 160 y 199 en la base 7. Solución:
https://translate.googleusercontent.com/translate_f 9/46
26/2/2020 Intitulado

316
403
1254
16030
161554

Ejemplo 3. Divide (11001001h por (100111h, y divide (HAPPYh6)


por (SADh6.
Solución:

110
101100111 KD MLP
TRISTE

100111 111001001 TRISTE 1 FELIZ


100111 BURLA
101101 CDLY
100111 CCAJ
110 MLP

Ejemplo 4. Convierta 106 a las bases 2, 7 y 26 (usando las letras


AZ como dígitos en el último caso).
Solución. Para convertir un número n a la base b, primero se obtiene el último
dígito (el lugar de las unidades) dividiendo n entre by tomando el resto. Luego
reemplace n por el cociente y repita el proceso para obtener el segundo al último
dígito d 1, y así sucesivamente. Aquí encontramos que

106 = (11110100001001000000h = (11333311h = (CEXHOh6.

Ejemplo 5. Convertir 7r = 3.1415926 · .. a la base 2 (llevando a cabo el


cálculo 15 lugares a la derecha del punto) y a la base 26 (llevando
3 lugares a la derecha del punto).
Solución. Después de cuidar la parte entera, la parte fraccional es
convertido a la base b multiplicando por b, tomando la parte entera del
resultado como d_ 1, luego comienza de nuevo con la parte fraccionaria de lo que
ahora tiene, encontrando sucesivamente d_ 2, d_ 3, • ••• De esta manera se obtiene:

3.1415926 ··· = (11.001001000011111 ··· h = (D.DRS ··· h6.

Página 13

1 Estimaciones de tiempo para hacer aritmética 3

Número de dígitos. Como se mencionó anteriormente, un número entero n satificante b k- 1 ~


n < b k tiene k dígitos para la base b. Por la definición de logaritmos, esto da
la siguiente fórmula para el número de dígitos de base-b (aquí "[]" indica
la mayor función entera):

número de dígitos = [logbn] + 1 = [~: ~~] + 1,


donde aquí (y de ahora en adelante) "log" significa el logaritmo natural logeithm.
Operaciones de bit. Comencemos con un problema aritmético muy simple, el
adición de dos enteros binarios, por ejemplo:

https://translate.googleusercontent.com/translate_f 10/46
26/2/2020 Intitulado

1111

1111000
+ 0011110
10010110

Supongamos que los números tienen ambos k bits de longitud (la palabra "bit" es la abreviatura de
"dígito binario"); si uno de los dos enteros tiene menos bits que el otro, nosotros
rellena ceros a la izquierda, como en este ejemplo, para que tengan el mismo
longitud. Aunque este ejemplo involucra enteros pequeños (sumando 120 a 30),
Deberíamos pensar que k es quizás muy grande, como 500 o 1000.
Analicemos con todo detalle lo que implica esta adición. Básicamente,
debemos repetir los siguientes pasos k veces:
1. Observe el bit superior e inferior, y también si hay un carry
encima de la parte superior
2. Si ambos bits son 0 y no hay acarreo, ponga 0 y siga adelante.
3. Si (a) ambos bits son 0 y hay un carry, o (b) uno de los bits
es 0, el otro es 1, y no hay acarreo, luego baja 1 y mueve
en.
4. Si (a) uno de los bits es 0, el otro es 1, y hay un carry, o
de lo contrario (b) ambos bits son 1 y no hay acarreo, luego ponga 0, ponga un
continuar en la siguiente columna y seguir adelante.
5. Si ambos bits son 1 y hay un acarreo, entonces ponga 1, ponga un acarreo
la siguiente columna, y sigue adelante.
Hacer este procedimiento una vez se llama operación bit. Agregar dos bits k
los números requieren operaciones de k bits. Lo veremos más complicado
Las tareas también se pueden dividir en operaciones de bits. La cantidad de tiempo a
la computadora toma para realizar una tarea es esencialmente proporcional al número
de operaciones bit. Por supuesto, la constante de proporcionalidad: el número
de nanosegundos por. operación de bits: depende de la computadora en particular
sistema. (Esta es una simplificación excesiva, ya que el tiempo puede verse afectado por
"asuntos administrativos", como acceder a la memoria.) Cuando hablamos de
estimando el "tiempo" que se necesita para lograr algo, nos referimos a encontrar
una estimación del número de operaciones de bit requeridas. En estas estimaciones
descuidaremos el tiempo requerido para la "contabilidad" o pasos lógicos otros

Página 14

44 I. Algunos temas en teoría elemental de números

que las operaciones de bit; en general, es este último el que toma con diferencia el
más tiempo.
A continuación, examinemos el proceso de multiplicar un entero de k bits por un
i-bit entero en binario. Por ejemplo,

11101
1101
11101
111010
11101
101111001

https://translate.googleusercontent.com/translate_f 11/46
26/2/2020 Intitulado

Supongamos que usamos este procedimiento familiar para multiplicar un entero de k bits n
por un entero i-bit m. Obtenemos como máximo i filas (una fila menos por cada
O-bit en m), donde cada fila consiste en una copia de n desplazada a la izquierda
cierta distancia, Le., con ceros puestos al final. Supongamos que hay
yo' ::; Yo filas. Porque queremos dividir todos nuestros cálculos en bits
operaciones, no podemos sumar simultáneamente todas las filas. Más bien,
nos movemos hacia abajo desde la segunda fila hasta la fila i-ésima, agregando cada nueva fila a
La suma parcial de todas las filas anteriores. En cada etapa, notamos cuántos
coloca a la izquierda el número n se ha desplazado para formar la nueva fila. Nosotros
copie los bits más a la derecha de la suma parcial y luego agregue a n el
entero formado a partir del resto de la suma parcial - como se explicó anteriormente, esto
toma operaciones de k bits. En el ejemplo anterior 11101 x 1101, después de agregar el
primeras dos filas y obteniendo 10010001, copiamos los últimos tres bits
001 y agregue el resto (Le., 10010) a n = 11101. Finalmente tomamos esta suma
10010 + 11101 = 101111 y agregue 001 para obtener 101111001, la suma de
el if = 3 filas.
Esta descripción muestra que la tarea de multiplicación puede desglosarse
en i '- 1 adiciones, cada una tomando operaciones de k bits. Como i '- 1 < if ::; yo,
esto nos da el límite simple

Tiempo (multiplicar entero k bits de largo por entero i bits de largo) < ki.

Deberíamos hacer varias observaciones sobre esta derivación de una estimación


mate para el número de operaciones de bit necesarias para realizar un binario multipli-
catión. En primer lugar, como se mencionó anteriormente, solo contamos el número
de operaciones bit. Nos olvidamos de incluir el tiempo que lleva cambiar el
bits en n algunos lugares a la izquierda, o el tiempo que lleva copiar
dígitos más a la derecha de la suma parcial correspondiente a los lugares a través de
que n se ha desplazado a la izquierda en la nueva fila. En la práctica, el cambio
y las operaciones de copia son rápidas en comparación con la gran cantidad de bits
operaciones, por lo que podemos ignorarlas con seguridad. En otras palabras, definiremos un
"estimación de tiempo" para que una tarea aritmética sea un límite superior para el número
de operaciones de bits, sin incluir ninguna consideración de las operaciones de turno,

Página 15

1 Estimaciones de tiempo para hacer aritmética 5

cambio de registros ("copia"), acceso a memoria, etc. Tenga en cuenta que esto significa
que usaríamos la misma estimación de tiempo si estuviéramos utilizando una
expansión binaria de k bits de una fracción por una expansión binaria de i bits; lo único
característica adicional es que debemos tener en cuenta la ubicación del punto que separa
entero de la parte fraccionaria e insértelo correctamente en la respuesta.
En segundo lugar, si queremos obtener una estimación de tiempo que sea simple
y conveniente para trabajar, debemos asumir en varios puntos que estamos
en el "peor caso posible". Por ejemplo, si la expansión binaria de m tiene
muchos ceros, entonces f ' será considerablemente menor que i. Es decir, podríamos
use el tiempo estimado (multiplique un entero de k bits por un entero de i bits) < k · (número
de I-bits en m). Sin embargo, generalmente no vale la pena la mejora (es decir,
reducción) en nuestro tiempo estimado para tener esto en cuenta, porque es más
útil para tener una estimación uniforme simple que depende solo del tamaño de
m y n , y no en los bits particulares que suceden a ocurrir.
Como caso especial, tenemos: Tiempo (multiplicar k-bit por k-bit) < k 2.

https://translate.googleusercontent.com/translate_f 12/46
26/2/2020 Intitulado

Finalmente, nuestra estimación kt se puede escribir en términos de n y m si


recuerde la fórmula anterior para el número de dígitos, de los cuales se desprende
que k = [1092 n] + 1 ::; ~~~~ + 1 y t = [1092 m] + 1 ::; ll: ~ r; + 1.
Ejemplo 6. Encuentre un límite superior para el número de operaciones de bits
requerido para calcular n !.
Solución. Usamos el siguiente procedimiento. Primero multiplique 2 por 3, luego
el resultado por 4, luego el resultado por 5, ..., hasta llegar a n. En el
(j - 1) -th paso (j = 2,3, ..., n - 1), ¡estás multiplicando j! por j + 1. Por lo tanto,
tiene n - 2 pasos, donde cada paso implica multiplicar un producto parcial
(Le., J!) Por el siguiente entero. Los productos parciales comenzarán a ser muy grandes.
Como estimación del peor de los casos para la cantidad de bits que tiene un producto parcial, vamos a
tome el número de dígitos binarios en el último producto, es decir, en n !.
Para encontrar el número de bits en un producto, usamos el hecho de que el número
de dígitos en el producto de dos números es la suma del número de
dígitos en cada factor o de lo contrario 1 menos que esa suma (vea la discusión anterior
de multiplicación). De esto se deduce que el producto de n enteros de k bits
tendrá como máximo nk bits. Por lo tanto, si n es un entero de k bits, lo que implica que
cada entero menor que n tiene como máximo k bits, ¡entonces n! tiene como máximo nk bits.
Por lo tanto, en cada una de las n - 2 multiplicaciones necesarias para calcular n ! , estamos
multiplicando un entero con a lo sumo k bits (es decir, j + 1) por un entero con
a lo sumo nk bits (es decir, j!). Esto requiere como máximo operaciones de nk2 bit. Nosotros
debe hacer esto n - 2 veces. Entonces, el número total de operaciones de bits está limitado
por (n - 2) nk2 = n (n - 2) ([lo92n] + 1) 2. En términos generales, el límite es
aproximadamente n2 (lo92n) 2.
Ejemplo 7. Encuentre un límite superior para el número de operaciones de bit
requerido para multiplicar un polinomio L: aixi de grado ::; nl y un polinomio
L: bjxj de grado ::; n2 cuyos coeficientes son enteros positivos ::; metro. Suponer
n2 ::; nl ·
Solución. Para calcular L: Hj = " aibj, que es el coeficiente de x" en el
El polinomio del producto (aquí 0 ::; v ::; nl + n2) requiere como máximo n2 + 1 multi-

Página 16

6 I. Algunos temas en teoría elemental de números

plications y n2 adiciones. Los números que se multiplican están delimitados por


m, y los números que se suman son cada uno como máximo m 2; pero como tenemos
para agregar la suma parcial de hasta n2 tales números debemos tomar n2m2 como
nuestro límite en el tamaño de los números que se agregan. Por lo tanto, al calcular el
coeficiente de XV, el número de operaciones de bit requeridas es como máximo

Como hay valores nl + n2 + 1 de v, nuestro tiempo estimado para el polinomio


la multiplicación es

Se obtiene un límite ligeramente menos riguroso soltando los 1 's, por lo tanto
obteniendo una expresión que tenga una apariencia más compacta:

n2 (nl + n2) ((lOgm) 2 (l 21))


log 2 log 2 + ogn2 + og m.

Observación. Si establecemos n = nl ~ n2 y suponemos que m ~ 16


https://translate.googleusercontent.com/translate_f 13/46
26/2/2020 Intitulado

y m ~ y'n2 (que generalmente se cumple en la práctica), entonces la última expresión


puede ser reemplazado por el mucho más simple 4n2 (log2m) 2. Este ejemplo muestra que
generalmente no hay una única "respuesta correcta" a la cuestión de encontrar un límite
en el momento de ejecutar una tarea determinada. Uno quiere una función de los límites
en los datos de entrada (en este problema, nl, n2 ym) que es bastante simple
y al mismo tiempo da un límite superior que para la mayoría de los datos de entrada es
más o menos el mismo orden de magnitud que el número de operaciones de bits
eso resulta ser requerido en la práctica. Así, por ejemplo, en el Ejemplo 7
no queremos reemplazar nuestro límite por, digamos, 4n2m, porque para grandes
m esto daría un tiempo estimado de muchos órdenes de magnitud demasiado grande.
Hasta ahora hemos trabajado solo con la suma y multiplicación de un bit k
y un entero i-bit. Las otras dos operaciones aritméticas: resta y
división: tener las mismas estimaciones de tiempo que la suma y la multiplicación,
respectivamente: Tiempo (restar k-bit de i-bit) ::; max (k, i); Tiempo (dividir k-
bit por i-bit) ::; kl. Más precisamente, para tratar la resta debemos extender nuestra
definición de una operación de bit para incluir la operación de restar un 0-
o I-bit de otro 0 o I-bit (posiblemente con un "préstamo" de 1 del
columna anterior). Ver ejercicio 8.
Para analizar la división en binario, orientémonos mirando un
ilustración, como la del ejemplo 3. Supongamos que k ~ i (si k < i, entonces
la división es trivial, es decir, el cociente es cero y todo el dividendo es el
recordatorio). Encontrar el cociente y el resto requiere como máximo k - i + 1
sustracciones Cada resta requiere operaciones de i o i + 1 bit; pero en el
En este último caso, sabemos que la columna más a la izquierda de la diferencia siempre
ser un bit O, por lo que podemos omitir esa operación de bit (considerándolo como "contabilidad"
en lugar de calcular). Igualmente ignoramos otros detalles administrativos,
como el tiempo requerido para comparar enteros binarios (es decir, tomar lo suficiente

Página 17

1 Estimaciones de tiempo para hacer aritmética 7

bits del dividendo para que el entero resultante sea mayor que el divisor),
llevar dígitos hacia abajo, etc. Entonces nuestra estimación es simplemente (k - f + 1 ) f, que es :::; kf.
Ejemplo 8. Encuentre un límite superior para el número de operaciones de bits que
toma para calcular el coeficiente binomial (~).
Solución. Dado que (~) = (n ~ m) ' sin pérdida de generalidad podemos as-
sume que m :::; n / 2. Usemos el siguiente procedimiento para calcular (~) =
= n (nl) (n-2) · .. (n-m + l) / (2 · 3 ·· · m). Tenemos multiplicaciones ml seguidas
bajado por m -1 divisiones. En cada caso, el tamaño máximo posible del primer
número en la multiplicación o división es n (n - 1) (n - 2) ... (n - m + 1) <
nm, y un límite para el segundo número es n. Así, por el mismo argumento
usado en la solución del Ejemplo 6, vemos que un límite para el número total
El número de operaciones de bit es 2 (m - l) m ([log2n] + 1) 2, que para myn grande es
esencialmente 2m2 (log2n) 2 .

Ahora discutimos una notación muy conveniente para resumir la situación.


ción con estimaciones de tiempo.
La notación big-O. Supongamos que f (n) y g (n) son funciones de las
enteros positivos n que toman valores positivos (pero no necesariamente enteros)
para todos los n. Decimos que f (n) = O (g (n)) (o simplemente que f = O (g)) si hay
existe una constante C tal que f (n) siempre es menor que C · g (n). Por ejemplo,

https://translate.googleusercontent.com/translate_f 14/46
26/2/2020 Intitulado

2n2 + 3n - 3 = 0 (n2) (es decir, no es difícil demostrar que el lado izquierdo está
siempre menos de 3n 2).
Porque queremos usar la notación big-O en situaciones más generales,
Daremos una definición más completa. A saber, permitiremos f
y 9 para ser funciones de varias variables, y no nos preocuparemos
sobre la relación entre f y 9 para valores pequeños de n. Justo como en el
estudio de límites como n - 00 en cálculo, aquí también solo nos ocuparemos
con grandes valores de n.
Definición. Deje que f (nl, n2, ..., n r) y g (nl, n2, ..., n r) ser dos fun-
funciones cuyos dominios son subconjuntos del conjunto de todas las r-tuplas de interacciones positivas
gers. Supongamos que existen constantes B y C de tal manera que siempre
de los nj son mayores que B las dos funciones son definidas y positivas,
y f (nb n2, .. ·, n r) < CG (nl, n2,..., n r). En ese caso decimos que f es
delimitado por 9 y escribimos f = O (g).
Tenga en cuenta que el "=" en la notación f = O (g) debe considerarse como
más bien como un "<" y el big-O debería considerarse como "algunos
constante múltiple ".
Ejemplo 9. (a) Sea f (n) ser cualquier polinomio de grado d cuyo líder
El coeficiente es positivo. Entonces es fácil demostrar que f (n) = O (n d). Más
en general, se puede demostrar que f = O (g) en cualquier situación cuando f (n) / g (n)
tiene un límite finito como n - 00.
(b) Si € es cualquier número positivo, no importa cuán pequeño sea, entonces uno puede
probar que logn = O (nf) (es decir, para n grande , la función de registro es menor que
cualquier función de potencia, no importa cuán pequeña sea la potencia). De hecho, esto sigue
porque limn- + oo l ;;. n = 0, como se puede probar usando la regla de I'Hopital.

Página 18

8 I. Algunos temas en teoría elemental de números

(c) Si f (n) denota el número k de dígitos binarios en n, entonces sigue


de las fórmulas anteriores para k que f (n) = O (logn). También tenga en cuenta que el
la misma relación se mantiene si f (n) denota el número de dígitos de base-b, donde b es
cualquier base fija Por otro lado, suponga que la base b no se mantiene fija
pero se le permite aumentar, y dejamos que f (n, b) denote el número de base-b
dígitos Entonces nos gustaría usar la relación f (n, b) = O (~~~~).
(d) Tenemos: Tiempo (n · m) = O (logn · logm), donde el lado izquierdo
significa el número de operaciones de bit requeridas para multiplicar n por m.
(e) En el ejercicio 6, podemos escribir: Tiempo (n!) = 0 (nlogn) 2).
(f) En el ejercicio 7, tenemos:

En nuestro uso, las funciones f (n) o f (nb n2, ..., n r) a menudo se mantendrán
por la cantidad de tiempo que lleva realizar una tarea aritmética con el
entero n o con el conjunto de enteros nl, n2, ... , n r como entrada. Vamos a querer
para obtener funciones de aspecto bastante simple g (n) como nuestros límites. Cuando hacemos
esto, sin embargo, no queremos obtener funciones g (n) que son mucho
más grande de lo necesario, ya que eso daría una impresión exagerada de
cuánto tiempo llevará la tarea (aunque, desde un punto estrictamente matemático
desde el punto de vista, no es incorrecto reemplazar g ( n) por ninguna función más grande en el
relación f = O (g)).
https://translate.googleusercontent.com/translate_f 15/46
26/2/2020 Intitulado

En términos generales, la relación f (n) = O (nd) nos dice que la función


f aumenta aproximadamente como la d-ésima potencia de la variable. Por ejemplo,
si d = 3, entonces nos dice que duplicar n tiene el efecto de aumentar f en
sobre un factor de 8. La relación f (n) = O (logdn) (escribimos logdn para que signifique
(log n) d) nos dice que la función aumenta aproximadamente como el d-th
potencia del número de dígitos binarios en n. Eso es porque, hasta una constante
múltiple, el número de bits es aproximadamente log n (es decir, está dentro de 1
de ser lognjlog2 = 1.442710gn). Así, por ejemplo, si f (n) = 0 (log3n),
luego duplicar el número de bits en n (que es, por supuesto, mucho más
aumento drástico en el tamaño de n que simplemente duplicar n) tiene el efecto de
aumentando f por un factor de 8.
Tenga en cuenta que escribir f (n) = 0 (1) significa que la función f está limitada
por alguna constante.
Observación. Hemos visto eso, si queremos multiplicar dos números de
aproximadamente del mismo tamaño, podemos usar el tiempo estimado (k-bit · k-bit) = O (k 2). Eso
Cabe señalar que se ha trabajado mucho para aumentar la velocidad
de multiplicar dos enteros de k bits cuando k es grande. Usando técnicas inteligentes
de multiplicación que son mucho más complicadas que la escuela primaria
método que hemos estado utilizando, los matemáticos han podido encontrar un procedimiento
dure para multiplicar dos enteros de k bits que requieren solo O ( k log k log log k)
operaciones de bit Esto es mejor que 0 (k2), e incluso mejor que O (kl + E) para
cualquier E > 0, no importa cuán pequeño sea. Sin embargo, en lo que sigue siempre tendremos

Página 19

1 Estimaciones de tiempo para hacer aritmética 9

contentarse con utilizar las estimaciones más duras anteriores para el tiempo necesario para un
multiplicación.
En general, al estimar el número de operaciones de bit requeridas para
hacer algo, el primer paso es decidir y escribir un esquema
de un procedimiento detallado para realizar la tarea. Un paso a paso explícito
El procedimiento para hacer cálculos se llama algoritmo. Por supuesto, hay
Puede haber muchos algoritmos diferentes para hacer lo mismo. Uno puede elegir
usar el que sea más fácil de escribir, o uno puede elegir usar el
el más rápido conocido, o de lo contrario uno puede optar por comprometerse y hacer un intercambio
fuera entre simplicidad y velocidad. El algoritmo utilizado anteriormente para multiplicar
n por m está lejos de ser el más rápido conocido. Pero sin duda es mucho más rápido.
que la suma repetida (agregando n a sí mismo m veces).
Ejemplo 10. Estime el tiempo requerido para convertir un entero de k bits a
su representación en la base 10.
Solución. Sea n un entero de k bits escrito en binario. La conversión
El algoritmo es el siguiente. Divide 10 = (lOlOh en n. El resto - que
será uno de los enteros 0, 1, 10, 11, 100, 101, 110, 111, 1000 o 1001
- serán los dígitos que hagas. Ahora reemplace n por el cociente y repita el
proceso, dividiendo ese cociente entre (1010h, usando el resto como d 1 y
el cociente como el siguiente número en el cual dividir (1010h. Este proceso
debe repetirse un número de veces igual al número de dígitos decimales en

n, que es [/ ::: '0] + 1 = O ( k). Entonces hemos terminado. (Podríamos querer tomar nuestro
lista de dígitos decimales, es decir, de los restos de todas las divisiones, y convertir
a la notación más familiar reemplazando 0, 1, 10, 11, ..., 1001 por
0, 1,2,3, ..., 9, respectivamente.) ¿Cuántas operaciones de bit requiere todo esto?

https://translate.googleusercontent.com/translate_f 16/46
26/2/2020 Intitulado

Bueno, tenemos divisiones O ( k) , cada una de las cuales requiere operaciones O ( 4k) (dividiendo un
número con un máximo de k bits por el número de 4 bits (101Oh). Pero O (4k) es el
igual que O (k) (los factores constantes no importan en la notación big-O), entonces
concluir que el número total de operaciones de bits es O (k) . O (k) = O (k2). Si
queremos expresar esto en términos de n en lugar de k, entonces dado que k = O (logn),
podemos escribir

Tiempo (convertir n a decimal) = O (log 2 n).

Ejemplo 11. Estime el tiempo requerido para convertir un entero de k bits n


a su representación en la base b, donde b podría ser muy grande.
Solución. Usando el mismo algoritmo que en el Ejemplo 10, excepto dividir
ahora por el entero b de i-bit , encontramos que cada división lleva más tiempo (si
i es grande), es decir, operaciones de bit O (ki) . ¿Cuántas veces tenemos que
¿dividir? Observe que el número de dígitos de base-b en n es O (kji) (vea
Ejemplo 9 (c)). Por lo tanto, el número total de operaciones de bit requeridas para hacer todo
de las divisiones necesarias es O (kji) . O (ki) = O (k2). Esto resulta ser
la misma respuesta que en el ejemplo 10. Es decir, nuestra estimación para la conversión
el tiempo no depende de la base a la que nos estamos convirtiendo (no importa
qué tan grande puede ser). Esto es porque el mayor tiempo requerido para encontrar cada
el dígito se compensa por el hecho de que hay menos dígitos por encontrar.

Página 20

10 I. Algunos temas en teoría elemental de números

Ejemplo 12. Exprese en términos de notación O el tiempo requerido para


calcule (a) nt, (b) (~) (vea los Ejemplos 6 y 8).

Solución. (a) O (n2log2n), (b) O (m2log2n).

Al concluir esta sección, hacemos una definición que es fundamental en


informática y teoría de algoritmos.
Definición. Un algoritmo para realizar un cálculo que involucra enteros
nl, n2, ... , nr de kl ' k2' ... , kr bits, respectivamente, se dice que es un polinomio
algoritmo de tiempo si existen enteros d 1, d 2 ,. •• , d r tal que el número de
Las operaciones de bit requeridas para realizar el algoritmo son 0 (ktl kg2 ... k ~ r ).

Por lo tanto, las operaciones aritméticas habituales +, -, x, -: son ejemplos de


algoritmos de tiempo polinomiales; así es la conversión de una base a otra.
Por otro lado, el cálculo de n! no es. (Sin embargo, si uno está satisfecho
con saber n! a solo un cierto número de cifras significativas, por ejemplo, su
primeros 1000 dígitos binarios, luego se puede obtener eso por un tiempo polinómico
algoritmo que usa la fórmula de aproximación de Stirling para nL)

Ejercicios

1. Multiplicar (212h por (122h-


2. Divide (40122h por (126h.
3. Multiplica los números binarios 101101 y 11001, y divide 10011001
por lOll.
4. En la base 26, con los dígitos AZ que representan 0-25, (a) multiplique SÍ
por NO, y (b) divida JQVXHJ por WE.
5. Escriba e = 2.7182818 ··· (a) en binario 15 lugares a la derecha del
https://translate.googleusercontent.com/translate_f 17/46
26/2/2020 Intitulado

punto, y (b) a la base 26 fuera 3 lugares más allá del punto.


6. Por una fracción "pura repetida" de "período" f en la base b, nos referimos a un
número entre 0 y 1 cuyos dígitos de base-b a la derecha del punto
repetir en bloques de f. Por ejemplo, 1/3 es pura repetición del período 1
y 1/7 es pura repetición del período 6 en el sistema decimal. Pruebalo
una fracción c / d (en términos más bajos) entre 0 y 1 es pura repetición de
período f en la base b si y solo si b f - 1 es un múltiplo de d.
7. (a) El sistema "hexadecimal" significa b = 16 con las letras AF
representando los dígitos décimo a decimoquinto, respectivamente. Dividir
(13IB6C3h6 por (IA2Fh6.
(b) Explique cómo convertir de ida y vuelta entre binario y hexadecimal.
representaciones adecuadas de un número entero y por qué el tiempo requerido es
mucho menos que la estimación general dada en el Ejemplo 11 para convertir
de binario a base-b.
8. Describa una operación de bit de tipo resta de la misma manera que se hizo
para una operación de bits de tipo suma en el texto (la lista de cinco alternativas
tives).

Página 21

1 Estimaciones de tiempo para hacer aritmética 11

9. (a) Usando la notación big-O, estimar en términos de una función simple de

n
n el número de operaciones de bit requeridas para calcular 3 en binario.
(b) Haz lo mismo para n ~
10. Estima en términos de una función simple de n y N el número de bits
operaciones requeridas para calcular N ~
11. La siguiente fórmula es válida para la suma de los primeros n cuadrados perfectos:
norte

L: i = n (n + 1) (2n + 1) / 6.
j=l

(a) Utilizando la notación big-O, calcule (en términos de n) el número de


operaciones de bit requeridas para realizar los cálculos en el lado izquierdo de
Esta igualdad.
(b) Estime el número de operaciones de bit requeridas para realizar el
cálculos a la derecha en esta igualdad.
12. Usando la notación big-O, calcule el número de operaciones de bit
requerido para multiplicar una matriz r x n por una matriz n x s, donde toda la matriz
las entradas son ~ m.
13. El objetivo de este ejercicio es estimar en función de n el número
de operaciones de bit requeridas para calcular el producto de todos los números primos
bers menos que n. Aquí suponemos que ya hemos compilado un
lista extremadamente larga que contiene todos los primos hasta n.
(a) Según el teorema del número primo, el número de primos
menor o igual a n (esto se denota 7r (n)) es asintótico a n / logn.
Esto significa que el siguiente límite se acerca a 1 como n - + 00:

lim nil <;; n. Usando el teorema del número primo, estima el número
de dígitos binarios en el producto de todos los primos menores que n.
(b) Encuentre un límite para el número de operaciones de bit en una de las
Las sugerencias que se requieren en el cálculo de este producto.
(c) Estime el número de operaciones de bit requeridas para calcular el
producto de todos los números primos menores que n.
https://translate.googleusercontent.com/translate_f 18/46
26/2/2020 Intitulado

14. (a) Suponga que desea probar si un número impar grande n es primo por
división de prueba por todos los números impares ::; yin Estime el número de bits
operaciones que esto llevará.
(b) En la parte (a), suponga que tiene una lista de números primos hasta el yin,
y prueba la primalidad por división de prueba por esos primos (Le., ya no
corriendo a través de todos los números impares). Dé una estimación de tiempo en este caso.
Usa el teorema del número primo.
15. Estime el tiempo requerido para probar si n es divisible por un primo ~ m.
Suponga que tiene una lista de todos los primos ~ m, y nuevamente use el
Teorema del número primo.
16. Sea n un número entero muy grande escrito en binario. Encuentra un algoritmo simple
que calcula [yin] en operaciones de bit O (log3n) (aquí [] denota el
mayor función entera).

Página 22

12 I. Algunos temas en teoría elemental de números

2 Divisibilidad y el algoritmo euclidiano

Divisores y divisibilidad. Enteros dados una y B, decimos que se divide una b (o


"b es divisible por a") y escribimos alb si existe un número entero d tal que
b = ad. En ese caso llamamos a un divisor de b. Cada entero b > 1 tiene al menos
dos divisores positivos: 1 y b. Por un divisor propio de b queremos decir un positivo
divisor no igual a b en sí mismo, y por un divisor no trivial de b queremos decir a
divisor positivo no igual a 1 o b. Un número primo , por definición, es un
entero mayor que uno que no tiene divisores positivos distintos de 1 y
sí mismo; un número se llama compuesto si tiene al menos un divisor no trivial.
Las siguientes propiedades de divisibilidad son fáciles de verificar directamente desde
definición:
1. Si alb y c es cualquier número entero, entonces albc.
2. Si alb y blc, entonces ale.
3. Si alb y ale, entonces alb ± c.
Si p es un número primo y a es un número entero no negativo, entonces usamos el
notación pOllb significa que po es la potencia más alta de p dividiendo b, es decir,
que pOlb y po +! Ab. En ese caso decimos que po divide exactamente b.
El teorema fundamental de la aritmética establece que cualquier número natural
ber n puede escribirse de manera única (excepto por el orden de los factores) como producto
de números primos Es costumbre escribir esta factorización como un producto de
primos distintos a los poderes apropiados, enumerando los primos en aumento
orden. Por ejemplo, 4200 = 2 3 .3.5 2 .7.
Dos consecuencias del teorema fundamental (en realidad, equivalente
aserciones) son las siguientes propiedades de divisibilidad:
4. Si un número primo p divide a ab, entonces pia o plb.
5. Si mla y NLA, y si m y n no tiene divisores mayor que 1 en
común, entonces mnla.
Otra consecuencia de la factorización única es que proporciona un sistema
El método ático para encontrar todos los divisores de nonce n se escribe como un producto de
poderes primarios Es decir, cualquier divisor d de n debe ser producto del mismo
primos elevados a poderes que no exceden el poder que divide exactamente n.
Es decir, si pOlin, entonces ~ lld para algunos f3 que satisfacen 0 ::; f3 ::; a. Para encontrar el
https://translate.googleusercontent.com/translate_f 19/46
26/2/2020 Intitulado

divisores de 4200, por ejemplo, uno toma 2 a la potencia 0-, 1-, 2- o 3, mul-
multiplicado por 3 a la potencia 0 o I, multiplicado por 5 a la potencia 0, 1- o 2, multiplicado por
7 a la potencia 0- o 1-. El número de divisores posibles es, por lo tanto, el producto
uct del número de posibilidades para cada potencia principal, que, a su vez, es
a + 1. Es decir, un número n = p ~ lp ~ 2 . .. p ~ r tiene (a1 + 1) (a2 + 1) · .. (a r + 1)
Diferentes divisores. Por ejemplo, hay 48 divisores de 4200.
Dados dos enteros a y b, no ambos cero, el máximo común divisor
de un y b, denotado gcd (a, b) (o a veces simplemente (a, b)) es el más grande
entero d que divide tanto a como b. No es difícil demostrar que otro equivalente
La definición alent de mcd (a, b) es la siguiente: es el único entero positivo
d que divide a y b y es divisible por cualquier otro número que divide
tanto a como b.

Página 23

2 Divisibilidad y el algoritmo euclidiano 13

Si le sucede que tiene la factorización prima de un y b delante de usted,


entonces es muy fácil escribir gcd (a, b). Simplemente tome todos los números primos que
ocurren en ambas factorizaciones elevadas al mínimo de los dos exponentes.
Por ejemplo, comparando la factorización 10780 = 22. 5) 72) 11 con el
por encima de la factorización de 4200, vemos que mcd ( 4200,10780) = 22.5.7 = 140.
También ocasionalmente se usa el mínimo común múltiplo de a y b, de
notado mcm. (a, b). Es el número entero positivo más pequeño que tanto una y b brecha.
Si usted tiene la factorización de un y b, entonces se puede obtener mcm (a, b) por tak-
ing todos los primos que ocurren en cualquiera de las factorizaciones elevadas al máximo
mamá de los exponentes. Es fácil demostrar que mcm (a, b) = labllg.cd (a, b).
El algoritmo euclidiano. Si estás trabajando con números muy grandes,
es probable que no conozcas sus factorizaciones principales. De hecho, un importante
Tant área de investigación en teoría de números es la búsqueda de métodos más rápidos de
factorizando enteros grandes. Afortunadamente, hay una forma relativamente rápida de encontrar
g .cd (a, b) incluso cuando no tiene idea de los factores primos de a o b. Sus
llamado el algoritmo euclidiano.
El algoritmo euclidiano funciona de la siguiente manera. Para encontrar g .cd (a, b), donde
a > b, primero dividimos b en a y escribimos el cociente ql y el
resto rl: a = ql b + Tl. A continuación, realizamos una segunda división con b
jugando el papel de una y Tl jugar el papel de b: b = q2Tl +
r2. Próximo,
Dividimos T2 en Tl: Tl = q3T2 + T3. Continuamos de esta manera, cada vez
dividiendo el último resto en el resto del segundo al último, obteniendo
Un nuevo cociente y resto. Cuando finalmente obtenemos un resto que
divide el resto anterior, hemos terminado: ese resto final distinto de cero
es el máximo común divisor de a y b.
Ejemplo 1. Encuentra mcd (1547, 560).
Solución:
1547 = 2 · 560 + 427
560 = 1 · 427 +133

427 = 3 · 133 + 28
133 = 4. 28 + 21
28 = 1 · 21 + 7.

Desde 7121, hemos terminado: mcd (1547,560) = 7.


Proposición 1.2.1. El algoritmo euclidiano siempre da el mejor

https://translate.googleusercontent.com/translate_f 20/46
26/2/2020 Intitulado

DivisoT común en un número finito de pasos. Además, para a > b


Tiempo (encontrar mcd (a, b) por el algoritmo euclidiano) = O (lol (a)).

Prueba. La prueba de la primera afirmación se da en detalle en muchos elementos.


libros de texto de teoría de números temporales, así que simplemente resumimos el argumento.
Primero, es fácil ver que los residuos están disminuyendo estrictamente de uno
paso al siguiente, y finalmente debe llegar a cero. Para ver que el último
el resto es el mcd, use la segunda definición del mcd Es decir, si hay alguno
número divide tanto a como b, debe dividir Tl, y luego, ya que divide

Página 24

14 I. Algunos temas en teoría elemental de números

banda rl, debe dividir r2, y así sucesivamente, hasta que finalmente concluya que
debe dividir el último resto distinto de cero. Por otro lado, trabajando desde
la última fila hacia arriba, uno ve rápidamente que el último resto debe dividir todo
los restos anteriores y también a y b. Por lo tanto, es el mcd, porque el
mcd es el único número que divide tanto a como b y al mismo tiempo
es divisible por cualquier otro número que divida a y b.
A continuación probamos el tiempo estimado. La pregunta principal que debe ser
resuelto es cuántas divisiones estamos realizando. Reclamamos que el re
los mainders no solo están disminuyendo, sino que están disminuyendo bastante rápido.
Más precisamente:
Reclamación. rj + 2 < ~ rj.
Prueba de reclamo. Primero, si rj + 1 ~ ~ rj, entonces inmediatamente tenemos rj + 2 <
rj + 1 ~ ~ rj. Supongamos que rj + 1 > ~ rj. En ese caso la próxima división
da: rj = 1. rj + 1 + rj + 2, y entonces rj + 2 = rj - rj + 1 < ~ rj, como se afirma.
Ahora volvemos a la prueba del tiempo estimado. Ya que cada dos pasos
debe resultar en cortar el tamaño del resto al menos a la mitad, y dado que
el resto nunca se pone por debajo de 1, se deduce que hay como máximo 2 · [log2a]
divisiones Esto es O ( log a). Cada división involucra números no mayores que
a, y entonces toma operaciones de 0 (log2a) bits. Por lo tanto, el tiempo total requerido es
O (log a) · 0 (log2a) = 0 (log3a). Esto concluye la prueba de la proposición.
Observación. Si uno hace un análisis más cuidadoso del número de bits
operaciones, teniendo en cuenta el tamaño decreciente de los números en el
divisiones sucesivas, se puede mejorar el tiempo estimado para el Euclidiano
algoritmo a 0 (log2a).
Proposición 1.2.2. Sea d = mcd (a, b), donde a > b. Entonces existe
enteros u y v tales que d = ua + bv. En otras palabras, el g. C. re. de dos
los números se pueden expresar como una combinación lineal de los números con
coeficientes de teger. Además, puede encontrar los enteros u y v en
O (log3a) operaciones de bit.
Esquema de la prueba. El procedimiento consiste en utilizar la secuencia de igualdades en
el algoritmo euclidiano de abajo hacia arriba, en cada etapa escribiendo d en
términos de restos vez más tempranas, hasta que finalmente se llega a una y b. A
en cada etapa necesitas una multiplicación y una suma o resta. Por lo que
Es fácil ver que el número de operaciones de bit es una vez más O (log3a).
Ejemplo 1 (continuación). Para expresar 7 como una combinación lineal de 1547
y 560, calculamos sucesivamente:

7 = 28 - 1 · 21 = 28 - 1 (133 - 4. 28)

https://translate.googleusercontent.com/translate_f 21/46
26/2/2020 Intitulado

= 5 · 28 - 1. 133 = 5 (427 - 3 · 133) - 1. 133


= 5 · 427 - 16 · 133 = 5 · 427 - 16 (560 - 1. 427)

= 21 · 427 - 16 · 560 = 21 (1547 - 2. 560) - 16 · 560

= 21. 1547 - 58. 560.

Definición. Decimos que dos enteros a y b son relativamente primos (o


que "a es primo para b") si mcd (a, b) = 1, es decir, si no tienen común

Página 25

2 Divisibilidad y el algoritmo euclidiano 15

divisor mayor que 1.


Corolario. Si a > b son enteros primos, entonces 1 puede escribirse como
una combinación lineal entera de ayb en tiempo polinomial, más precisamente,
en operaciones de bit O (log3a).
Definición. Sea n un número entero positivo. La función phi de Euler <p (n) es
definido como el número de enteros no negativos b menores que n que son
primo para n:

<p (n) d ~ fl {o: s b < n I mcd (b, n) = 1} 1 ·


Es fácil ver que <p (1) = 1 y que <p (p) = p - 1 para cualquier primo p.
También podemos ver que para cualquier potencia principal

Para ver esto, es suficiente tener en cuenta que los números de 0 a pa - 1 que son
no primos para pa son precisamente aquellos que son divisibles por p, y hay
de esos.
pa-l
En la siguiente sección mostraremos que la función cp de Euler tiene un
"propiedad multiplicativa" que nos permite evaluar <p (n) rápidamente, siempre que
que tenemos la factorización prima de n. A saber, si n se escribe como un
producto de poderes de primos distintos p ~ entonces resulta que <p (n) es igual
al producto de <p (pa).

Ejercicios

1. (a) Demuestre las siguientes propiedades de la relación pallb: (i) si palla y


Ji3llb, luego pa + i3 llab; (ii) si palla, Ji3llb y a < {3, entonces palla ± b.
(b) Encuentre un contraejemplo a la afirmación de que, si palla y pallb,
entonces palla + b.
2. ¿Cuántos divisores tiene 945? Listarlos a todos.
3. Sea n un entero impar positivo.
(a) Demuestre que existe una correspondencia de I a L entre los divisores
de n que son < ., fii y los que son > ., fii. (Esta parte no
requiere n para ser impar.)
(b) Demuestre que hay una correspondencia de I a L entre todas las divisiones
sors de n que son 2: ., fii y todas las formas de escribir n como una diferencia
82 - t 2 de dos cuadrados de enteros no negativos. (Por ejemplo, 15 tiene
dos divisores 6, 15 que son 2: v'15 y 15 = 4 2 - 12 = 8 2 - 7 2.)
(c) Enumere todas las formas de escribir 945 como una diferencia de dos cuadrados de

https://translate.googleusercontent.com/translate_f 22/46
26/2/2020 Intitulado

enteros no negativos.
4. (a) Demuestre que el poder de un primo p que divide exactamente n! es igual
a [njp] + [njp2] + [njp3] + .... (Tenga en cuenta que esta es una suma finita).
(b) ¡Encuentra el poder de cada primo 2, 3, 5, 7 que divide exactamente 100!
y luego escriba la factorización prima completa de 100!

Page 26

16 I. Algunos temas en teoría elemental de números

(c) Sea 8 b (n) la suma de los dígitos de la base b en n. Probar que el


potencia exacta de 2 que divide n! es igual a n - 8 2 (n). Encuentra y prueba un
fórmula similar para el poder exacto de un primo arbitrario p que divide
nL
5. Encuentre d = mcd (360, 294) de dos maneras: (a) al encontrar el factor primo
ización de cada número, y a partir de eso encontrar la factorización prima
de d; y (b) por medio del algoritmo euclidiano.
6. Para cada uno de los siguientes pares de enteros, encuentre su máximo común
divisor utilizando el algoritmo euclidiano, y expresarlo como un entero
combinación lineal de los dos números:
(a) 26, 19; (b) 187,34; (c) 841, 160; (d) 2613, 2171.
7. A menudo se puede acelerar ligeramente el algoritmo euclidiano al permitir
divisiones con residuos negativos, es decir, rj = % + 2rj + 1 - rj + 2 así como
rj = qj + 2rj + 1 + rj + 2, lo que dé el menor rj + 2. De esta manera nosotros
siempre tiene rj + 2 ::; ~ rj + 1 ' Haz los cuatro ejemplos en el ejercicio 6 usando
este método.
8. (a) Demuestre que el siguiente algoritmo encuentra d = mcd (a, b) en finito
muchos pasos Primera nota que mcd (a, b) = mcd (lal, Ibl), de modo que sin
pérdida de generalidad podemos suponer que un y b son positivos. Si a y
b son ambos pares, establezca d = 2d ' con d' = mcd (a / 2, b / 2). Si uno de
los dos son impares y el otro (digamos b) es par, luego establezca d = d ' con
d ' = mcd (a, b / 2). Si ambos son impares y son desiguales, diga a > b,
luego establezca d = d ' con d' = mcd (a - b, b). Finalmente, si a = b, establezca
d = a. Repita este proceso hasta llegar al último caso (cuando el
dos enteros son iguales).
(b) Use el algoritmo en la parte (a) para encontrar el mcd (2613, 2171) trabajando en
binario, es decir, encontrar

mcd «101000110101h, (100001111011h)

(c) Demuestre que el algoritmo en la parte (a) solo toma O (log2a) bit oper-
aciones (donde a > b).
(d) ¿Por qué este algoritmo en la forma presentada anteriormente no es necesariamente
preferible al algoritmo euclidiano?
9. Suponga que a es mucho mayor que b. Encuentre una estimación de tiempo de O grande para
mcd (a, b) que es mejor que O (log3a).
10. El propósito de este problema es encontrar una "mejor estimación posible" para el
Número de divisiones requeridas en el algoritmo euclidiano. El fibonacci
los números pueden definirse por la regla It = 1, h = 1, In + 1 = In +
In-l para n 2: 2, o, de manera equivalente, por medio de la ecuación matricial

En In-l
(I n + 1 In) = (1 1) 10
n
(a) Suponga que a > b> 0, y se necesitan k divisiones para encontrar mcd (a, b)
https://translate.googleusercontent.com/translate_f 23/46
26/2/2020 Intitulado

por el algoritmo euclidiano (la versión estándar dada en el texto,


con residuos no negativos). Demuestre que un 2: 1k + 2 '

Página 27

2 Divisibilidad y el algoritmo euclidiano 17

(b) Utilizando la definición matricial de fn, demuestre que

dónde
1 + v'5 yo I-v'5
a = - 2- ' a = --2- '

(c) Usando las partes (a) y (b), encuentre un límite superior para k en términos de a.
Compare con la estimación que sigue de la prueba de Proposición
1.2.1
11. El propósito de este problema es encontrar una estimación general del tiempo
requerido para calcular el mcd (a, b) (donde a > b) que es mejor que el
estimación en la Proposición 1.2.1.
(a) Demuestre que el número de operaciones de bit requeridas para realizar un
la división a = qb + r es O ( (log b) (1 + log q)).
(b) Aplicando la parte (a) a todas las divisiones O (log a) de la forma r iI =
qi + 1ri + ri + 1, deriva el tiempo estimado O ( (log b) (log a)).
12. Considere polinomios con coeficientes reales. (Este problema se aplicará
así como a polinomios con coeficientes en cualquier campo.) Si f y 9 son dos
polinomios, decimos que fig si hay un polinomio h tal que 9 =
fh. Definimos gcd (J, g) esencialmente de la misma manera que para enteros,
a saber, como un polinomio de mayor grado que divide tanto f como
sol. El polinomio mcd (J, g) definido de esta manera no es único, ya que
podemos obtener otro polinomio del mismo grado multiplicando por
cualquier constante diferente de cero. Sin embargo, podemos hacerlo único al requerir
que el polinomio mcd sea monico, es decir, tenga el coeficiente principal 1.
Decimos que f y 9 son polinomios relativamente primos si su mcd es
el "polinomio constante" 1. Diseñe un procedimiento para encontrar gcdo de
polinomios, a saber, un algoritmo euclidiano para polinomios, que
es completamente análogo al algoritmo euclidiano para enteros, y
úsela para encontrar (a) mcd (x 4 + x 2 + 1, x 2 + 1) y (b) mcd (x 4 - 4x 3 +
6x 2 - 4x + 1, x 3 - x 2 + xI). En cada caso, encuentre los polinomios u (x) y
v (x) tal que el mcd se expresa como u (x) f (x) + v (x) g (x).
13. De álgebra sabemos que un polinomio tiene una raíz múltiple si y
solo si tiene un factor común con su derivada; en ese caso el
Las raíces múltiples de f (x) son las raíces de mcd (J, 1 '). Encuentra el múltiple
Raíces del polinomio X4 - 2x 3 - x2 + 2x + 1.
14. (Antes de hacer este ejercicio, recuerde cómo hacer aritmética con complejos
números. Recuerde que, dado que (a + bi) (a-bi) es el número real a2 + b ~
uno puede dividir escribiendo (c + di) j (a + bi) = (c + di) (a-bi) j (a2 + b 2).)
Los enteros gaussianos son los números complejos cuyo real e imag
las partes inarias son enteros. En el plano complejo son los vértices de
Los cuadrados que forman la cuadrícula. Si una y 13 son dos inte- Gauss
Gers, nos dicen que AlF3 si no es un Guassian integer'Y tal que 13 = a'Y.
Definimos gcd (a, (3) como un entero gaussiano 8 de máximo absoluto
valor que divide tanto a como 13 (recuerde que el valor absoluto 181
es su distancia desde 0, es decir, la raíz cuadrada de la suma de los cuadrados
de sus partes reales e imaginarias). El mcd no es único, porque nosotros

https://translate.googleusercontent.com/translate_f 24/46
26/2/2020 Intitulado

Página 28

18 I. Algunos temas en teoría elemental de números

puede multiplicarlo por ± 1 o ± i y obtener otros 6 del mismo absoluto


valor que también divide a y {3. Esto le da cuatro posibilidades. En que
A continuación consideraremos que cualquiera de esas cuatro posibilidades es "la"
mcd
Observe que cualquier número complejo puede escribirse como un inte
ger más un número complejo cuyas partes reales e imaginarias son cada una

! - !.
entre y Demuestre que esto significa que podemos dividir uno
Entero gaussiano a por otro {3 y obtener un entero gaussiano
cociente junto con un resto que es menor que (3 en valor absoluto.
Use este hecho para idear un algoritmo euclidiano que encuentre el mcd
de dos enteros gaussianos. Use este algoritmo euclidiano para encontrar (a)
mcd (5 + 6i, 3 - 2i) y (b) mcd (7 - Hola, 8 - 19i). En cada caso ex
presione el mcd como una combinación lineal de la forma ua + v {3, donde u
y v son enteros gaussianos.
15. El último problema se puede aplicar para obtener una manera eficiente de escribir
ciertos números primos grandes como una suma de dos cuadrados. Por ejemplo, supongamos
que p es un primo que divide un número de la forma b 6 + 1. Queremos
escribir p en la forma p = c 2 + ~ para algunos enteros c y d. Esto es
equivalente a encontrar un factor entero gaussiano no trivial de p, porque
c 2 + ~ = (c + di) (c - di). Podemos proceder de la siguiente manera. Darse cuenta de

Por la propiedad 4 de divisibilidad, el primer p debe dividir uno de los dos


factores en el derecho de la primera igualdad. Si plb 2 + 1 = (b + i) (b - i),
entonces encontrará que mcd (p, b + i) le dará el c + di deseado . Si
plb 4 - b 2+ 1 = ({b 2 - 1) + bi) ( (b 2 -1) - bi), luego mcd {p, (b 2 -1) + bi)
te dará tu c + di.
Ejemplo. El primer 12277 divide el segundo factor en el producto
20 6 + 1 = (20 2 + 1) (20 4 - 20 2 + 1). Entonces encontramos gcd {12277, 399 + 20i):

12277 = (31 - 2i) (399 + 20i) + (-132 + 178i),


399 + 20i = (-1 - i) (-132 + 178i) + (89 + 66i),
-132 + 178i = (2i) (89 + 66i),

para que el mcd sea 89 + 66i, es decir, 12277 = 89 2 + 66 ~


(a) Usando el hecho de que 19 6 + 1 = 2.13 2 · 181 · 769 y el Euclidiano al-
Goritmo para los enteros gaussianos, expresa 769 como una suma de dos cuadrados.
(b) Del mismo modo, exprese el primo 3877, que divide 15 6 + 1, como una suma
de dos cuadrados.
(c) Exprese el primo 38737, que divide 2 36 + 1, como una suma de dos
cuadrícula.

https://translate.googleusercontent.com/translate_f 25/46
26/2/2020 Intitulado

Página 29

3 Congruencias 19

3 Congruencias
Propiedades básicas. Dados tres enteros a, banda m, decimos que "a es con-
gruent to b modulo m "y escriba a == b mod m, si la diferencia a - b es
divisible por m. m se llama el módulo de la congruencia. El seguimiento
las propiedades se prueban fácilmente directamente de la definición:
1. (i) a == a mod mj (ii) a == b mod m si y solo si b == a mod mj (iii)
si a == b mod m y b == c mod m, entonces a == c mod m. Para m fijo,
(i) - (iii) significa que el módulo de congruencia m es una relación de equivalencia.
2. Para m fijo, cada clase de equivalencia con respecto al módulo de congruencia
m tiene uno y solo un representante entre 0 ym - 1. (Esto
es solo otra forma de decir que cualquier número entero es un módulo congruente
m a uno y solo un entero entre 0 ym - 1.) El conjunto de
Las clases de equivalencia (llamadas clases de residuos) se denotarán como ZjmZ. Ninguna
un conjunto de representantes para las clases de residuos se denomina conjunto completo de
residuos módulo m.
3. Si a == b mod m y c == d mod m, entonces a ± c == b ± d mod m y
ac == bd mod m. En otras palabras, congruencias (con la misma modulación)
Ius) se puede sumar, restar o multiplicar. Uno dice que el conjunto de
clases de equivalencia ZjmZ es un anillo conmutativo, es decir, clases de residuos
se puede sumar, restar o multiplicar (con el resultado no depende-
en qué representantes de las clases de equivalencia se utilizaron), y
Estas operaciones satisfacen los axiomas familiares (asociatividad, conmutación)
actividad, aditivo inverso, etc.).
4. Si a == b mod m, entonces a == b mod d para cualquier divisor dim.
5. Si un == b mod m, un == b mod n, y m y n son relativamente primo, entonces
a == b mod mn. (Ver Propiedad 5 de divisibilidad en § 1.2.)
Proposición 1.3.1. Los elementos de ZjmZ que tienen multiplicativos
los inversos son aquellos que son relativamente primos para m, i. e., los números a para
que existe b con ab == 1 mod m son precisamente esos a para
which gcd (a, m) = 1. Además, si gcd (a, m) = 1, entonces dicho inverso
b se puede encontrar en operaciones de bit O (log3m).
Prueba. Primero, si d = mcd (a, m) fuera mayor que 1, no podríamos tener
ab == 1 mod m para cualquier b, porque eso implicaría que d divide a ab - 1
y por lo tanto divide 1. Por el contrario, si mcd (a, m) = 1, entonces por Propiedad 2
arriba podemos suponer que a < m. Entonces, por la Proposición 1.2.2, existe
enteros u y v que se pueden encontrar en operaciones de bit O (log3m) para las cuales
ua + vm = 1. Al elegir b = u, vemos que mil - ua = 1 - ab, según se desee.
Observación. Si gcd (a, m) = 1, entonces por potencias negativas a- n mod m we
significa la enésima potencia de la clase de residuo inverso, es decir, está representada por
la enésima potencia de cualquier número entero b para el cual ab == 1 mod m.
Ejemplo 1. Encontrar 160- 1 mod 841, es decir, la inversa de 160 modulo 841.
Solución. En el ejercicio 6 (c) de la última sección, la respuesta es 205.

Corolario 1. Si p es un número primo, entonces cada clase de residuo distinto de cero


tiene un inverso multiplicativo que se puede encontrar en operaciones de bit O (log3p).

Página 30
https://translate.googleusercontent.com/translate_f 26/46
26/2/2020 Intitulado

20 I. Algunos temas en teoría elemental de números

Decimos que el anillo ZlpZ es un campo. A menudo denotamos este campo F p, el


'' campo de elementos p ".
Corolario 2. Supongamos que queremos resolver una congruencia lineal ax ==
b mod m, donde sin pérdida de generalidad podemos suponer que 0 ::; a, b < m.
Primero, si gcd (a, m) = 1, entonces hay una solución Xo que se puede encontrar en
Operaciones de bit O (log3m), y todas las soluciones tienen la forma x = Xo + mn para
n un entero. Luego, suponga que d = g .cd (a, m). Existe una solución si
y solo si dlb, y en ese caso nuestra congruencia es equivalente (en el sentido

ade' =tener las b'


ayuda, mismas soluciones) a la congruencia a'x == b 'mod
= oferta, m ' = medio.
m: donde
El primer corolario es solo un caso especial de la Proposición 1.3.1. El segundo
el corolario es fácil de probar a partir de la Proposición 1.3.1 y las definiciones. Como
en el caso de las ecuaciones lineales familiares con números reales, para resolver
las ecuaciones lineales en ZlmZ uno multiplican ambos lados de la ecuación por el
inverso multiplicativo del coeficiente de lo desconocido.
En general, cuando se trabaja módulo m, la analogía de "no cero" es a menudo
"primo para m". Vimos arriba que, como ecuaciones, se pueden agregar congruencias,
sustraído y multiplicado (ver Propiedad 3 de congruencias). También pueden
estar dividido, siempre que el "denominador" sea primo para m.
Corolario 3. Si a == b mod m y c == d mod m, y si mcd (c, m) = 1
(en cuyo caso también mcd (d, m) = 1), luego ac-1 == bd- 1 mod m (donde c- 1
y d-1 denota cualquier número entero que sea inverso a c y d módulo mY.
Para probar el Corolario 3, tenemos c (ac-1 - bd- 1) == (acc-1 - bdd-1) ==
a - b == 0 mod m, y dado que m no tiene un factor común con c, se deduce que
m debe dividir ac- 1 - bd- ~

Proposición 1.3.2 (Pequeño teorema de Fermat). Sea p un primo. Ninguna


entero a satisface aP == a mod p, y cualquier entero a no es divisible por p
satisface aP- 1 == 1 mod p.
Prueba. Primero suponga que p A a. Primero afirmamos que los enteros
Oa, la, 2a, 3a, ..., (p - l) a son un conjunto completo de residuos módulo p. Para ver
esto, observamos que de lo contrario dos de ellos, digamos ia y ja, tendrían que
estar en la misma clase de residuo, es decir, ia == ja mod p. Pero esto significaría que
pl (i - j) a, y dado que a no es divisible por p, tendríamos pli - j. Ya que yo
y j están a menos de p, la única manera de que esto puede ocurrir es si i = j. Nosotros
concluir que los enteros a, 2a, ..., (p - l) a son simplemente una reordenación de
1, 2, ... , p - 1 cuando se considera módulo p. Por lo tanto, se deduce que el producto
de los números en la primera secuencia es módulo congruente p con el producto
de los números en la segunda secuencia, es decir, aP-1 (p - 1)! == (p - 1)! mod p.
Por lo tanto, pi ( (p - 1)! (AP- 1 - 1)). Desde (p - 1)! no es divisible por p, tenemos
pl (a P- 1 - 1), según se requiera. Finalmente, si multiplicamos ambos lados del congru-
cia AP-1 == 1 mod p por una, obtenemos la primera congruencia en el estado de
la proposición en el caso cuando a no es divisible por p. Pero si a es divisible
por p, entonces esta congruencia aP == a mod p es trivial, ya que ambos lados son
== 0 mod p. Esto concluye la prueba de la proposición.

Page 31

3 Congruencias 21

https://translate.googleusercontent.com/translate_f 27/46
26/2/2020 Intitulado

Corolario. Si a no es divisible por p y si n == m mod (p - l), entonces


an == am mod p.
Prueba de corolario. Di n > m. Como p - lin - m, tenemos n = m +
c (pl) para algún número entero positivo c. Luego multiplicando la congruencia a P- 1 ==
1 mod m por sí mismo c veces y luego por am == am mod p da el deseado
resultado: an == am mod p.
Ejemplo 2. Encuentre el último dígito de base 7 en 2100000 ~
Solución. Sea p = 7. Como 1000000 deja un resto de 4 cuando se divide
por p - 1 = 6, tenemos 21000000 == 24 = 16 == 2 mod 7, entonces 2 es la respuesta.
Proposición 1.3.3 (Teorema del resto chino). Supongamos que queremos
para resolver un sistema de congruencias a diferentes módulos:

x == al modml '
x == a2 mod m2,

Suponga que cada par de módulos es relativamente primo: mcd (mi, mj) = 1
para i "# j. Entonces existe una solución simultánea x para todos los con-
secuencias y cualesquiera dos soluciones son congruentes entre sí módulo
M = m1m2 ··· mr '
Prueba. Primero demostramos unicidad módulo M (la última oración). Cenar-
plantean que x' y x" son dos soluciones Let. x = x ' - X' ~ A continuación, x debe haber
congruente a 0 módulo cada mi, y por lo tanto módulo M (por la Propiedad 5 en
El comienzo de la sección). A continuación mostramos cómo construir una solución x.
Defina Mi = M / mi como el producto de todos los módulos, excepto el
i-tho Claramente mcd (mi 'Mi) = 1, por lo que hay un entero Ni (que puede ser
encontrado por medio del algoritmo euclidiano) tal que MiNi == 1 mod mi '
Ahora establezca x = Ei aiMiNi ' Entonces para cada i vemos que los términos en la suma
aparte del i-ésimo término, todos son divisibles por mi, porque milMj siempre
j "# i. Por lo tanto, para cada i tenemos: x == aiMiNi == ai mod mi, como se desee.
Corolario. El Euler-Phi es la función "multiplicativo ~ lo que significa que
cp (mn) = cp (m) cp (n) siempre que mcd (m, n) = 1.
Prueba de corolario. Debemos contar el número de enteros entre 0
y mn - 1 que no tienen un factor común con mn. Por cada j en ese
rango, deje que j1 sea su módulo de residuo menos negativo m (es decir, 0 :::; jl < m
y j == j1 mod m) y dejar que h sea su módulo de residuo menos negativo n
(es decir, 0 :::; h < nand j == h mod n). Se desprende del resto chino
Teorema de que para cada par j1, h hay uno y solo un j entre 0 y
mn-l para el cual j == j1 mod m, j == h mod n. Tenga en cuenta que j no tiene nada en común
factoriza con mn si y solo si no tiene un factor común con m, que es
equivalente a j1 que no tiene factor común con m - y no tiene común
factor con n - que es equivalente a h sin tener un factor común con
norte. Por lo tanto, las j que debemos contar están en correspondencia I-tOol con
los pares jb h para los cuales 0 :::; jl < m, mcd (jl ' m) = 1; 0 :::; h < n,

Página 32

22 I. Algunos temas en teoría elemental de números

mcd (h, n) = 1. El número de Hs posibles es cp (m), y el número de


Hs posible es cp ( n). Entonces el número de pares es cp ( m ) cp (n). Esto prueba el

https://translate.googleusercontent.com/translate_f 28/46
26/2/2020 Intitulado

corolario.
Como cada n puede escribirse como un producto de poderes primarios, cada uno de
que no tiene factores comunes con los demás, y dado que conocemos el-
mula cp (pO :) = pO: (1 - ~), podemos usar el corolario para concluir que para
n= prlp ~ 2 ... p ~ r:

cp (n) = ~) ... p ~ r (l-Pr~) = n TI


pfl (l- ~)Pi P ~ 2 (1- P2 yo (l- ~).
PAG
pn

Como consecuencia de la fórmula para cp ( n), tenemos el siguiente hecho,


a lo que nos referiremos más adelante cuando discutamos el sistema RSA de clave pública
criptografía.
Proposición 1.3.4. Supongamos que se sabe que n es el producto de dos
primos distintos. Entonces el conocimiento de los dos primos p, q es equivalente a
conocimiento de cp (n). Más precisamente, se puede calcular cp (n) a partir de p, q en
O (logn) operaciones de bit, y uno puede calcular pyq desde nand cp (n) en
Operaciones de bit O ( log3n).
Prueba. La proposición es trivial si n es par, porque en ese caso
saber inmediatamente p = 2, q = n / 2 y cp (n) = n / 2 - 1; entonces suponemos
eso n es extraño. Por la multiplicatividad de cp, para n = pq tenemos cp (n) =
(p - 1) ( q - 1) = n + 1 - (p + q). Por lo tanto, cp ( n) se puede encontrar de p y q usando
una suma y una resta. Por el contrario, suponemos que sabemos n y
cp (n), pero no p o q. Consideramos p, q como incógnitas. Conocemos su producto
n y también su suma, ya que p + q = n + 1 - cp ( n). Llama a la última expresión
2b (observe que es par). Pero dos números cuya suma es 2b y cuyo

el producto es n debe ser la raíz de la ecuación cuadrática x 2 - 2bx + n = o.


Por lo tanto, p y q igual b ± ..jb 2 - n. El paso más lento es el
evaluación de la raíz cuadrada, y para el ejercicio 16 del § 1.1 esto se puede hacer
en operaciones de bit O ( 10g3n) . Esto completa la prueba.

A continuación discutimos una generalización del Pequeño Teorema de Fermat, debido a


Euler
Proposición 1.3.5. Si mcd (a, m) = 1, entonces a'l '(m) == 1 mod m.
Prueba. Primero probamos la proposición en el caso cuando m es primo
potencia: m = pO; Usamos inducción en 0 :. El caso 0: = 1 es precisamente el de Fermat
Pequeño teorema (Proposición 1.3.2). Supongamos que 0: 2: 2 y la fórmula
se cumple para la potencia (0: - l) -st de p. Entonces una P ,, - I_p ,, - 2 = 1 + po: -Ib para algunos
entero b, por el supuesto de inducción. Elevando ambos lados de esta ecuación
a la potencia ~ y usando el hecho de que los coeficientes binomiales en (1 + x) P
son divisibles por p (excepto en 1 yx P en los extremos), vemos que
es igual a 1 más una suma con cada término divisible por pO; es decir,
aP "-p ,, - 1
a'l '(p ") - 1 es divisible por pO :, según se desee. Esto demuestra la proposición para
poderes primarios

Page 33

3 Congruencias 23

Finalmente, por la multiplicatividad de cp, está claro que a'P (m) == 1 mod pO.
(simplemente eleve ambos lados de a'P (p ") == 1 mod pO. a la potencia adecuada).
Como esto es cierto para cada po.llm, y dado que las diferentes potencias primarias tienen
sin factores comunes entre sí, se sigue por la Propiedad 5 de las congruencias

https://translate.googleusercontent.com/translate_f 29/46
26/2/2020 Intitulado

que a'P (m) == 1Simod


Corolario. mcdm.
(a, m) = 1 y si n 'es el residuo menos no negativo
de n modulo cp (m), entonces an == an 'mod m.
Este corolario se prueba de la misma manera que el corolario de la Proposición
1.3.2.
Observación. Como deja en claro la prueba de la Proposición 1.3.5, hay una menor
potencia de una que garantiza 1 mod m: el mínimo común múltiplo
de los poderes que dan 1 mod pO. por cada po.llm. Por ejemplo, a12 ==
1 mod 105 para un primo de 105, porque 12 es un múltiplo de 3 - 1, 5 - 1 y
7 - 1. Tenga en cuenta que cp (105) = 48. Aquí hay otro ejemplo:
Ejemplo 3. Calcular 21000000 mod 77.
Solución. Porque 30 es el mínimo común múltiplo de cp (7) = 6 y
cp (11) = 10, por el comentario anterior tenemos 230 == 1 mod 77. Desde 1000000 =
30 · 33333 + 10, se deduce que 21000000 == 210 == 23 mod 77. Un segundo método
de solución sería el primero en calcular 21000000 mod 7 (ya que 1000000 =
6 · 166666 + 4, esto es 24 == 2) y también 21000000 mod 11 (ya que 1000000 es
divisible por 11-1, esto es 1), y luego use el Teorema del resto chino
para encontrar una x entre 0 y 76 que es == 2 mod 7 y == 1 mod 11.

Exponenciación modular por el método de cuadratura repetida. Un ba-


El cálculo sic que a menudo se encuentra en la aritmética modular es encontrar
bn mod m (es decir, encontrar el menor residuo no negativo) cuando m y
n son muy grandes. Hay una manera inteligente de hacer esto que es mucho más rápido
que la multiplicación repetida de b por sí misma. En lo que sigue asumiremos
que b < m, y que cada vez que realizamos una multiplicación, entonces
reduzca mediamente el mod m (por ejemplo, reemplace el producto por el menos negativo)
residuo). De esa manera nunca encontramos enteros mayores que m ~ Nosotros
Ahora describa el algoritmo.
Use a para denotar el producto parcial. Cuando hayamos terminado, tendremos un
igual al residuo menos no negativo de bn mod m. Empezamos con
a = 1. Sea no, nl, "" nk-l denota los dígitos binarios de n, Le., n = no +
2nl + 4n2 + ... + 2k-1nk_l. Cada nj es 0 o 1. Si no = 1, cambie una a b
(de lo contrario, mantenga a = 1). Luego cuadrado b, y establecer b1 = b2 mod m (Le., B1 es
el residuo menos no negativo de b2 mod m). Si nl = 1, multiplique a por b1
(y reducir mod m) j de lo contrario, mantenga un sin cambios. Siguiente cuadrado bI, y establecer
b2 = b ~ mod m. Si n2 = 1, multiplique a por b 2 j, de lo contrario mantenga un sin cambios.
Continúa de esta manera. Usted ve que en el paso j ha calculado
bj == b2J mod m. Si nj = 1, Le., Si 2 j ocurre en la expansión binaria de n,
entonces incluyes b j en el producto para a (si 2 j está ausente de n, entonces haces
no). Es fácil ver que después del (k - 1) primer paso tendrá el deseado
a == bn mod m.

34

24 I. Algunos temas en teoría elemental de números

¿Cuántas operaciones de bit lleva esto? En cada paso tienes


1 o 2 multiplicaciones de números que son menores que m ~ Y hay
k - 1 pasos. Como cada paso toma operaciones de bit O (log2 (m2)) = O (log2m) ,
terminamos con la siguiente estimación:
Proposición 1.3.6. Tiempo (b n mod m) = O «logn) (log2m)).
Observación. Si n es muy grande en la Proposición 1.3.6, es posible que desee
use el corolario de la Proposición 1.3.5, reemplazando n por su menos no negativo
https://translate.googleusercontent.com/translate_f 30/46
26/2/2020 Intitulado

módulo de residuos ~ (m). Pero esto requiere que sepas ~ (m). Si lo sabes
~ (m), y si gcd (b, m) = 1, para que pueda reemplazar n por su menor no ne-
módulo de residuos activos ~ (m), luego la estimación a la derecha en la Proposición
1.3.6 puede ser reemplazado por O (log3m).
Como aplicación final de la multiplicatividad de la función Euler <p,
probamos una fórmula que se usará al comienzo del Capítulo II.
Proposición 1.3.7. Ldln ~ (d) = n.
Prueba. Deje J (n) denotar el lado izquierdo de la igualdad en la proposición,
es decir, J (n) es la suma de ~ (d) tomada sobre todos los divisores d de n (incluyendo 1 y
norte). Debemos mostrar que J (n) = n. Primero afirmamos que J (n) es multiplica-
tive, es decir, que J (mn) = J (m) J (n) siempre que mcd (m, n) = 1. Para ver esto,
notamos que cualquier divisor dlmn puede escribirse (de una y solo una forma)
en la forma dl . d2, donde ddm, d2ln. Como gcd (dl, d2) = 1, tenemos
~ (d) = ~ (dl) ~ (d2) ' debido
a la multiplicatividad de ~. Tenemos todo lo posible
divisores d de mn tomando todos los pares posibles dl, d2 donde dl es un divisor

de my d2 es un divisor de n. Por lo tanto, J (mn) = Lddm Ld 1n ~ (dd ~ (d2) =


2

(Ldllm ~ (dd) (Ld2In ~ (d2)) = J (m) J (n), como se afirma. Ahora para probar el
proposición suponga que n = pf ' ... p ~ r es la factorización prima de n.
Por la multiplicatividad de J, encontramos que J (n) es un producto de términos de
la forma J (pO). Por lo tanto, es suficiente para probar la proposición de p ~ es decir, para demostrar

que J (pO) = p <X; Pero los divisores de pO son pi para 0 j :s :s


Q, y así

J (pO) = L; = o ~ (pi) = 1 + L; = l
(pi - pi-I) = p <X; Esto prueba la propuesta.
ción para p ~ y por lo tanto para todos n.

Ejercicios

1. Describa todas las soluciones de las siguientes congruencias:

(a) 3x = mod 7;
4
(d) 27x = 25 mod 256;
(b) 3x= mod
4 12; (e) 27x =72 mod 900;
(f) 103x = 612 mod 676.
(c) 9x = 12 mod 21;
2. ¿Cuáles son las posibilidades para el último dígito hexadecimal de un perfecto
¿cuadrado? (Ver ejercicio 7 del § 1.1.)
3. ¿Cuáles son las posibilidades para el último dígito base-12 de un producto de dos
números impares positivos consecutivos?

Página 35

3 Congruencias 25

4. Demuestre que un entero decimal es divisible por 3 si y solo si la suma de


sus dígitos son divisibles por 3, y que es divisible por 9 si y solo si
la suma de sus dígitos es divisible por 9.
5. Demuestre que n 5 - n siempre es divisible por 30.
6. Suponga que al alicatar un piso de 8 pies x 9 pies, compró 72 baldosas a
Un precio que no puede recordar. Su recibo da el costo total antes
impuestos como una cantidad inferior a $ 100, pero el primer y último dígito son
ilegible. Se lee $? 0.6? ¿Cuánto costaron los azulejos?
7. (a) Suponga que m es una potencia por primo p > 2 o bien

https://translate.googleusercontent.com/translate_f 31/46
26/2/2020 Intitulado

dos veces un poder primo impar. Demuestre que, si x 2


x == 1 mod o m x == -1 mod m.
== 1 mod m, entonces
(b) Demuestre que la parte (a) siempre es falsa si m no tiene la forma por o 2p ~
ym = I- 4.
(c) Demuestre que si m es un número impar que es divisible por r diferente
primos, entonces la congruencia x 2 == 1 mod m tiene 2 r soluciones diferentes
entre 0 y m.
8. Demuestre el "Teorema de Wilson", que establece que para cualquier primer p: (pl)! ==
-1 mod p. ¡Demuestra eso (n - I)! no es congruente con -1 mod n si n no es
principal.
9. Encuentre un número de 3 dígitos (decimal) que deje un resto de 4 cuando
dividido por 7, 9 u 11.
10. Encuentra el número entero positivo más pequeño que deja un resto de 1 cuando
dividido por 11, un resto de 2 cuando se divide por 12, y un resto
de 3 cuando se divide por 13.
11. Encuentre la solución no negativa más pequeña de cada uno de los siguientes sistemas
de congruencias:

(a) x == 2 mod 3 (b) x == 12 mod 31 (c) 19x == 103 mod 900


x == 3mod5 x == 87 mod 127 lOx == 511 mod 841
x == 4 mod 11 x == 91 mod 255

x == 5 mod 16

12. Suponga que un entero positivo (decimal) de 3 dígitos que deja un re


principal de 7 cuando se divide por 9 o 10 y 3 cuando se divide por 11 va
uniformemente en un número natural de seis dígitos que deja un resto de 8
cuando se divide por 9, 7 cuando se divide por 10 y 1 cuando se divide por 11.
Encuentra el cociente.
13. En la situación de la Proposición 1.3.3, suponga que 0 ~ aj < mj < B para
todo j, donde B es un gran límite en el tamaño de los módulos. Suponer
que r también es grande. Encuentre un estimado para el número de operaciones de bit
requerido para resolver el sistema. Tu tiempo estimado debe ser una función
de B y r, y debería permitir la posibilidad de que r sea muy
grande o muy pequeño en comparación con el número de bits en B.
14. Usa el método de cuadratura repetida para encontrar 38 75 mod 103.

Page 36

26 I. Algunos temas en teoría elemental de números

15. En aritmética de enteros exactos (en lugar de aritmética modular)


método de cuadratura repetida para ahorrar tiempo Explique, usando estimaciones de Big-O.
16. Observe que para un primo de p, un P-2 es un inverso de un módulo p. Suponer
que p es muy grande Compare utilizando el método de cuadratura repetida para
encontrar un P-2 con el algoritmo euclidiano como un medio eficiente para encontrar
aI mod p cuando (a) a tiene casi tantos dígitos como p, y (b) cuando a
es mucho más pequeño que p.
17. Encuentre <p (n) para todos los m de 90 a 100.
18. Haga una lista que muestre todos los n para los cuales <p (n) ::; 12, y prueba que tu lista
Esta completo.
19. Suponga que n no es un cuadrado perfecto y que n-1 > <p (n) > n-n2 / ~
Demuestre que n es un producto de dos primos distintos.

https://translate.googleusercontent.com/translate_f 32/46
26/2/2020 Intitulado

20. Si m 2: 8 es una potencia de 2, demuestre que el exponente en la Proposición 1.3.5


puede ser reemplazado por <p (m) / 2.
21. Sea m = 7785562197230017200 = 24. 33) 52) 7 · 11. 13 · 19 · 31 · 37 · 41.
61 · 73 · 181.
(a) Encuentre el residuo menos no negativo de 6647362 mod m.
(b) Sea a un número entero positivo menor que m, que es primo para m.
En primer lugar, encontrar un poder positivo de un menor de 500, que es cierta para dar
aI mod m. A continuación, describa un algoritmo para encontrar este poder de un
módulo de trabajo m. ¿Cuántas multiplicaciones y divisiones se necesitan?
para llevar a cabo este algoritmo? (Reducir un número módulo m cuenta como
una división.) ¿Cuál es el número máximo de bits que podría ingresar?
contrarrestar los enteros con los que trabajas? Por último, dar una buena estimación
compañero del número de operaciones de bit necesarias para encontrar aI mod m por
este método. (Su respuesta debe ser un número específico; no utilice
la notación big-O aquí.)
22. Presente otra prueba de la Proposición 1.3.7 de la siguiente manera. Para cada divisor d de
n, deje que Sd denote el subconjunto (en realidad un llamado "subgrupo") de Z / nZ
que consiste en todos los múltiplos de n / d. Por lo tanto, Sd tiene d elementos.
(a) Demuestre que Sd tiene <p (d) diferentes elementos x que generan Sd,
lo que significa que los múltiplos de x (considerado módulo n) dan todos los elementos
de Sd.
(b) Demuestre que cada elemento de x genera uno de los Sd, y por lo tanto
que el número de elementos en Z / nZ es igual a la suma (tomada
divisores d) del número de elementos que generan Sd 'a la luz de parte
(a), esto da la Proposición 1.3.7.
23. (a) Utilizando el teorema fundamental de la aritmética, demuestre que

1
II 1-!
todos los números primos p PAG

diverge al infinito.
(b) Usando la parte (a), demuestre que la suma de los recíprocos de los números primos
diverge

Page 37

4 Algunas aplicaciones para factorizar 27

(c) Encuentre una secuencia nj cercana a 00 para la cual limj_oo 'I' ~ i) = 1


J

y una secuencia nj para la cual limj_oo 'I' ~ nj) = o. J

24. Sea N un entero secreto extremadamente grande que se usa para desbloquear un sistema de misiles.
tem, es decir, saber que N le permitiría a uno lanzar los misiles. Suponer
tienes un general al mando y n tenientes generales diferentes.
En el caso de que el general al mando (que sabe N) sea incapacitado
calentado, desea que los tenientes generales tengan cada uno suficiente parcial
información sobre N para que tres de ellos (pero nunca dos de ellos)
puede aceptar lanzar los misiles.
(a) Sea Pi, ... , Pn sea n diferentes números primos, todos los cuales son mayores que
@ pero mucho más pequeño que .. [N. Usando el Pi, describa el parcial
información sobre N que se debe dar a los tenientes generales.
(b) Generalice este sistema a la situación en la que desea cualquier conjunto
de k (k 2: 2) de los tenientes generales, trabajando juntos, para poder

https://translate.googleusercontent.com/translate_f 33/46
26/2/2020 Intitulado

para lanzar los misiles (pero un conjunto de k - 1 de ellos nunca puede desbloquear
el sistema). Tal configuración se llama un sistema de umbral k para compartir un
secreto.

4 Algunas aplicaciones para factoraje

Proposición 1.4.1. Para cualquier número entero b y cualquier número entero positivo n, bn - 1 es
divisible por b - 1 con cociente bn- l + bn- 2 + ... + b2 + b + 1.
Prueba. Tenemos una identidad polinómica derivada del siguiente hecho: 1
es una raíz de xn - 1, por lo que el término lineal xI debe dividir xn -1. A saber,
la división polinómica da xn -1 = (x _l) (xn- l + xn- 2 + ... + x2 + X + 1).
(Alternativamente, podemos derivar esto multiplicando x por xn- l + xn- 2 + ... +
x2 + X + 1, luego restando xn- l + xn- 2 +. .. + x2 + X + 1, y finalmente
obteniendo xn - 1 después de toda la cancelación.) Ahora obtenemos la propuesta por
reemplazando x por b.
Una segunda prueba es usar aritmética en la base b. Escrito a la base
b, el número bn - 1 consta de n dígitos b - 1 (por ejemplo, 10 6 - 1 =
999999). Por otro lado, bn- l + bn- 2 + ... + b2 + b + 1 consiste en
n dígitos todos 1. Multiplicando 111 ··· 111 por el número de I dígitos b - 1 da

=
(b - l) (b - l) (b - 1) ... (b - l) (b - l) (b - l) b bn - 1.
Corolario. Para cualquier número entero b y cualquier enteros positivos m y n, se
tener bmn - 1 = (bm - l) (bm (nl) + bm (n-2) +
... + b2m + bm + 1).
Prueba. Simplemente reemplace b por b m en la última proposición.
Como ejemplo del uso de este corolario, vemos que 2 35 -1 es divisible
por 2 5 - 1 = 31 y por 27 - 1 = 127. Es decir, establecemos b = 2 y
m = 5, n = 7 o bien m = 7, n = 5.
Proposición 1.4.2. Suponga que b es primo para m, y a y c son positivas
enteros Si b a == 1 mod my be == 1 mod m, y si d = mcd (a, c), entonces
b d == 1 mod m.

38

28 I. Algunos temas en teoría elemental de números

Prueba. Usando el algoritmo euclidiano, podemos escribir d en la forma


ua + ve, donde u y v son enteros. Es fácil ver que uno de los dos
los números u, v son positivos y el otro es negativo o cero. Sin pérdida de
en general, podemos suponer que u > 0, v ~ o. Ahora levante ambos lados del
congruencia b a == 1 mod m a la potencia u-ésima, y elevar ambos lados del
congruencia b == 1 mod m con la potencia {-v) -th. Ahora divide el resultado
C

dos congruencias, obteniendo: b au- c (-v} == 1 mod m. Pero au + cv = d, entonces el


se prueba la proposición.
Proposición 1.4.3. Ifp es un primo que divide b n -l, entonces (i) plb d -l
para algún divisor propio d de n, o bien (ii) p == 1 mod n. Si p > 2 yn es
impar, entonces en el caso (ii) uno tiene p == 1 mod 2n.
Prueba. Tenemos b n == 1 mod p y también, según el pequeño teorema de Fermat,
tenemos bP- 1 == 1 mod p. Por la proposición anterior, esto significa que b d ==
1 mod p, donde d = ged {n, p - 1). Primero, si d < n, entonces esto dice que
pi b d - 1 para un divisor apropiado d de n, es decir, el caso (i) se cumple. Por otra parte,
si d = n, entonces, desde dip - 1, tenemos p == 1 mod n. Finalmente, si p y n son
tanto impar como nip - 1 {es decir, estamos en el caso (ii)), entonces obviamente 2nl p - 1.

https://translate.googleusercontent.com/translate_f 34/46
26/2/2020 Intitulado

Ahora mostramos cómo esta propuesta puede usarse para factorizar ciertos tipos
de enteros grandes.

Ejemplos

1. Factoriza 211 - 1 = 2047. Si p 1211 - 1, por el teorema debemos tener


p == 1 mod 22. Por lo tanto, probamos p = 23, 67, 89, ... (en realidad, necesitamos ir
no más allá de J2047 = 45. ·· ·). Obtenemos inmediatamente el primer
factorización de 2047: 2047 = 23 · 89. De manera muy similar, uno puede
demuestre rápidamente que 2 13 -1 = 8191 es primo. Un primo de la forma 2 n - 1
se llama "Mersenne prime".
2. Factor 3 12 - 1 = 531440. Por la proposición anterior, primero intentamos
factores de los números mucho más pequeños 3 1 -1, 3 2 -1, 3 3 -1, 34 -1, y
los factores de 3 6 - 1 = (3 3 - 1) {3 3 + 1) que aún no ocurren en
3 3 - 1. Esto nos da 24 · 5 · 7 · 13. Desde 531440 / {24 · 5 · 7 · 13) = 73,
lo cual es primo, hemos terminado. Tenga en cuenta que, como se esperaba, cualquier primo que
no ocurrió en 3d - 1 para d un divisor propio de 12 - es decir, 73 -
debe ser == 1 mod 12.
3. Factoriza 2 35 - 1 = 34359738367. Primero consideramos los factores de 2d - 1
para d = 1, 5, 7. Esto da los factores primos 31 y 127. Ahora (2 35 -
1) / {31. 127) = 8727391. Según la propuesta, cualquier resto
el factor primo debe ser == 1 mod 70. Entonces verificamos 71, 211, 281, ..., buscando
para divisores de 8727391. Al principio, podríamos tener miedo de tener
para verificar todos estos primos menores que v'8727391 = 2954. ···. Sin embargo, nos
inmediatamente encuentre que 8727391 = 71. 122921, y luego queda
verifique solo hasta v'122921 = 350. ···. Encontramos que 122921 es primo.
Por lo tanto, 2 35 - 1 = 31 · 71. 127 · 122921 es la factorización prima.
Observación. En el ejemplo 3, ¿cómo se puede hacer la aritmética en una calculadora?

Página 39

4 Algunas aplicaciones para factorizar 29

que solo muestra, digamos, 8 decimales? Simplemente divida los números en


secciones. Por ejemplo, cuando calculamos 23 ~ alcanzamos el límite de nuestro
pantalla de la calculadora con 226 = 67108864. Para multiplicar esto por 2 9 = 512,
escribimos 235 = 512 · (67108 · 1000 + 864) = 34359296 · 1000 + 442368 =
34359738368. Más tarde, cuando dividimos 235 -1 por 31 · 127 = 3937, primero dividimos
3937 en 34359738, tomando la parte entera del cociente: [34 ~~~~ 38] =
8727. A continuación, escribimos 34359738 = 3937 · 8727 + 1539. Luego

34359738367 (3937 · 8727 + 1539). 1000 + 367


=
3937 3937
= 8727000 1539367
+ 3937
= 8727391.

Ejercicios

1. Dé dos pruebas diferentes de que si n es impar, entonces b n + 1 = (b + l) (b n - 1 _


b n- 2 +. .. + b 2 - b + 1). En una prueba, use una identidad polinómica. En el
otra prueba usa aritmética para la base b.
https://translate.googleusercontent.com/translate_f 35/46
26/2/2020 Intitulado

2. Demuestre que si 2 n - 1 es primo, entonces n es primo y que si 2 n + 1


es un primo, entonces n es una potencia de 2. El primer tipo de primo se llama
"Mersenne prime", como se mencionó anteriormente, y el segundo tipo se llama
un "Fermat prime". Los primeros números primos de Mersenne son 3, 7, 31, 127; el
los primeros primos de Fermat son 3, 5, 17, 257.
3. Suponga que b es primo para m, donde m > 2 y a y c son positivas
enteros Demuestre que, si ba == -1 mod m y be == ± 1 mod m, y si
d = mcd (a, c), luego bd == ~ 1 mod m, y la ayuda es impar.
4. Demuestre que, si pi b n + 1, entonces (i) pi b d + 1 para algún divisor apropiado
d de n para el cual n / d es impar, o bien (ii) p == 1 mod 2n.
5. Sea m = 224 + 1 = 16777217.
(a) Encuentre una prima de Fermat que divida m.
(b) Demuestre que cualquier otro primo es == 1 mod 48.
(c) Encuentre la factorización prima completa de m.
6. Factoriza 315-1 y 324-1.
7. Factorizar 512 - 1.
8. Factorizar 105-1, 106-1 y 108-1.
9. Factoriza 233-1 y 221-1.
10. Factoriza 215-1, 230-1 y 260-1.
11. (a) Demuestre que si d = mcd (m, n) y a > 1 es un número entero, entonces
mcd (a m - 1, an - 1) = ad - 1.
(b) Suponga que desea multiplicar dos enteros de k bits a y b, donde k
es muy grande. Sea f un número entero fijo mucho más pequeño que k. Elige un conjunto
de mi, 1 ::; yo ::; r, de modo que f < mi < f para todo i y mcd (mi 'mj) = 1
para i f :. j. Elija r = [4k / ff + 1. Suponga que un número entero grande como

Page 40

30 I. Algunos temas en teoría elemental de números

a se almacena como una tupla r (al, ..., a r), donde ai es el menos no negativo
residuo de un mod 2 m; - 1. Demuestre que a, b y ab son cada uno de forma única
determinado por la tupla r correspondiente, y estimar el número de
operaciones de bit requeridas para encontrar la tupla r correspondiente a ab de
las tuplas r correspondientes a a y b.

Referencias para el Capítulo I

1. J. Brillhart, DH Lehmer, JL Selfridge, B. Tuckerman y SS


Wagstaff, Jr., Factorizaciones de b n ± 1, b = 2,3,5,6,7,10,11,12, hasta
Altos poderes, Amer. Matemáticas. Sociedad, 1983.
2. LE Dickson, Historia de la teoría de los números, tres volúmenes,
Chelsea, 1952.
3. RK Guy, Problemas sin resolver en teoría de números, Springer-Verlag,
mil novecientos ochenta y dos.
4. GH Hardy y EM Wright, una introducción a la teoría de
Numbers, 5th ed., Oxford University Press, 1979.
5. WJ LeVeque, Fundamentos de la teoría de números, Addison-Wesley,
1977
6. H. Rademacher, Lectures on Elementary Number Theory, Krieger,
1977
https://translate.googleusercontent.com/translate_f 36/46
26/2/2020 Intitulado

7. KH Rosen, Teoría de números elemental y sus aplicaciones, 3ª ed.,


Addison-Wesley, 1993.
8. MR Schroeder, Teoría de números en ciencia y comunicación, 2do.
ed., Springer-Verlag, 1986.
9. D. Shanks, Problemas resueltos y no resueltos en teoría de números, 3ª ed.,
Chelsea Publ. Co., 1985.
10. W. Sierpinski, Una selección de problemas en la teoría de los números, Per-
Gamon Press, 1964.
11. DD Spencer, Computers in Number Theory, Computer Science Press,
mil novecientos ochenta y dos.

Page 41

II
Campos finitos y cuadráticos
Residuos

En este capítulo asumiremos que estamos familiarizados con las definiciones básicas y
propiedades de un campo. Ahora recordamos brevemente lo que necesitamos.
1. Un campo es un conjunto F con una operación de multiplicación y suma que
satisfacer las reglas familiares: asociatividad y conmutatividad de ambos
suma y multiplicación, la ley distributiva, existencia de un anuncio
https://translate.googleusercontent.com/translate_f 37/46
26/2/2020 Intitulado

identidad ditiva 0 y una identidad multiplicativa 1, inversos aditivos, y


inversos multiplicativos para todo excepto O. Los siguientes ejemplos
de los campos son básicos en muchas áreas de las matemáticas: (1) el campo Q con-
el sisting de todos los números racionales; (2) el campo R de números reales; (3) el
campo C de números complejos; (4) el campo Z / pZ de enteros módulo a
número primo p.
2. Un espacio vectorial se puede definir sobre cualquier campo F por las mismas propiedades
que se usan para definir un espacio vectorial sobre los números reales. Ninguna
el espacio vectorial tiene una base, y el número de elementos en una base es
llamado su dimensión. Un campo de extensión, es decir, un campo más grande que contiene
F, es automáticamente un espacio vectorial sobre F. Lo llamamos una extensión finita si
Es un espacio vectorial dimensional finito. Por el grado de una extensión finita
nos referimos a su dimensión como un espacio vectorial. Una forma común de obtener
campos de extensión es unir un elemento a F: decimos que K = F (a) si
K es el campo que consiste en todas las expresiones racionales formadas usando a y
elementos de F.
3. De manera similar, el anillo polinomial se puede definir sobre cualquier campo F. Se define
FIX anotado]; consiste en todas las sumas finitas de potencias de X con coeficientes
en F. Uno agrega y multiplica polinomios en F! X] de la misma manera que
uno lo hace con polinomios sobre los reales. El grado d de un polinomio

Page 42

32 II. Campos finitos y residuos cuadráticos

es la mayor potencia de X que ocurre con un coeficiente distinto de cero; en un


polinomio monico el coeficiente de X d es 1. Decimos que 9 divide f,
donde f, 9 E F [X], si existe un polinomio h E F [X] tal que
f = gh. Los polinomios irreducibles f E F [X] son aquellos que no son
divisible por cualquier polinomio de grado inferior, excepto por las constantes; ellos
desempeñar el papel entre los polinomios que los primos juegan entre los
enteros El anillo polinómico tiene una factorización única, lo que significa que
cada polinomio monico se puede escribir de una y solo una forma (excepto
para el orden de los factores) como producto de polinomios irreducibles monicos.
(Un polinomio no monico se puede escribir unicamente como un tiempo constante
tal producto.)
4. Se dice que un elemento a en algún campo de extensión K que contiene F es
algebmic sobre F si satisface un polinomio con coeficientes en F. In
en ese caso hay un único polinomio irreducible monico en F [X] de
que a es una raíz (y cualquier otro polinomio que a satisfaga debe ser
divisible por este polinomio monico irreducible). Si esta monica irreducible
el polinomio tiene grado d, entonces cualquier elemento de F (a) (es decir, cualquier elemento racional
la expresión que involucra potencias de a y elementos en F) en realidad puede ser
expresado como una combinación lineal de las potencias 1, a, a 2, •••, a d- ~ Por lo tanto,
esos poderes de una forma una base de F (a) sobre F, y así el grado de
la extensión obtenida al unir a es igual al grado de
el polinomio monico irreducible de a. Cualquier otra raíz a ' de la misma
El polinomio irreducible se llama conjugado de a sobre F. Los campos
F (a) y F (a ') son isomorfas por medio del mapa que toma cualquier
expresión en términos de a a la misma expresión con un reemplazado por c /.
La palabra "isomorfo" significa que tenemos una correspondencia 1 a 1
que preserva la suma y la multiplicación. En algunos casos los campos

https://translate.googleusercontent.com/translate_f 38/46
26/2/2020 Intitulado

F ( a) y F ( a ') son iguales, en cuyo caso obtenemos un automorfismo


en el campo. Por ejemplo, v'2 tiene un conjugado, a saber , -v'2, sobre Q,
y el mapa a + bv'2 1 - + a-bv'2 es un automorfismo del campo Q ( v'2)
(que consiste en todos los números reales de la forma a + bv'2 con a y b
racional). Si todos los conjugados de a están en el campo F (a), entonces F (a)
se llama una extensión de F. de Galois
5. La derivada de un polinomio se define usando la regla nxn-l (no como
un límite, ya que los límites no tienen sentido en fa menos que es un concepto de
distancia o una topología en F). Un polinomio f de grado d mayor puede
no tiene una raíz rEF, es decir, un valor que da 0 cuando se sustituye en
lugar de X en el polinomio. Si lo hace, entonces el polinomio de grado l
X -r divide f; si (X _r) m es la potencia más alta de X -r que divide
f, entonces decimos que r es una raíz de multiplicidad m. Por único
factorización, el número total de raíces de f en F, contando multiplicidad,
no puede exceder d. Si un polinomio f E F [X] tiene una raíz múltiple r, entonces
r será una raíz del máximo común divisor de f y su derivada
f ' (véase el ejercicio 13 del § I.2).
6. Dado cualquier polinomio f (X) E F [X], hay un campo de extensión K de

Page 43

1 Campos finitos 33

F tal que f (X) se divide en un producto de factores lineales (equivalentemente,


tiene raíces d en K, contando multiplicidad, donde d es su grado) y tal
que K es el campo de extensión más pequeño que contiene esas raíces. K se llama
el campo de división de f. El campo de división es único hasta el isomorfismo,
lo que significa que si tenemos cualquier otro campo K 'con las mismas propiedades,
entonces debe haber una correspondencia 1 a 1 K ~ K ' que conserve
suma y multiplicación. Por ejemplo, Q ( J2) es el campo de división
de f (X) = X2 - 2, y para obtener el campo de división de f (X) = X3 - 2
uno debe unirse a Q tanto ~ como A.
7. Si sumar la identidad multiplicativa 1 a sí misma en F nunca da 0, entonces
decimos que F tiene la característica cero; en ese caso F contiene una copia
del campo de los números racionales. De lo contrario, hay un número primo
p tal que 1 + 1 + ". + 1 (p veces) es igual a 0, y p se llama
característica del campo F. En ese caso, F contiene una copia del campo
ZjpZ (ver Corolario 1 de la Proposición 1.3.1), que se llama su primo
campo.

1 campos finitos

Supongamos que F q denota un campo que tiene un número finito q de elementos. Claramente
un campo finito no puede tener la característica cero; así que sea p la característica de
F q ' Entonces F q contiene el campo principal F p = ZjpZ, y también lo es un espacio vectorial
- necesariamente dimensión finita - sobre F p ' Sea f denotar su dimensión como
un espacio F p-vector. Dado que elegir una base nos permite configurar un 1 a 1
correspondencia entre los elementos de este espacio vectorial f -dimensional
y el conjunto de todas las f-tuplas de elementos en F p, se deduce que debe haber
pI elementos en F q ' Es decir, q es una potencia de la característica p.
Pronto veremos que por cada potencia principal q = pI hay un campo de
q elementos, y es único (hasta el isomorfismo).
https://translate.googleusercontent.com/translate_f 39/46
26/2/2020 Intitulado

Pero primero investigamos el orden multiplicativo de los elementos en el F ;,


Conjunto de elementos distintos de cero de nuestro campo finito. Por el "orden" de un distinto de cero
elemento nos referimos a la potencia menos positiva que es 1.
Existencia de generadores multiplicativos de campos finitos. Hay q - 1
elementos distintos de cero y, por definición de un campo, forman un abelian
grupo con respecto a la multiplicación. Esto significa que el producto de dos
elementos distintos de cero son distintos de cero, la ley asociativa y la ley conmutativa se mantienen,
hay un elemento de identidad 1, y cualquier elemento distinto de cero tiene un inverso. Es
Un hecho general sobre los grupos finitos que el orden de cualquier elemento debe dividir
El número de elementos en el grupo. En aras de la integridad, damos
una prueba de esto en el caso de nuestro grupo F ;.
Proposición 11.1.1. El orden de cualquier a E F; divide q - 1.
Primera prueba Sea d la potencia más pequeña de a que sea igual a 1. (Nota
que hay un poder finito de a que es 1, ya que los poderes de a en el finito

conjunto F; no todos pueden ser distintos, y en cuanto a i = a j para j > i tenemos

Page 44

34 II. Campos finitos y residuos cuadráticos

aj- i = 1.) Sea B = {I, a, a 2, •••, ad- l} denota el conjunto de todas las potencias de a,
y para cualquier b E F ~ deje que bB denote el "coset" que consiste en todos los elementos de
la forma ba j (por ejemplo, IB = B). Es fácil ver que dos cosets
son idénticos o distintos (a saber: si algún blai en blB también está en ~ B,
es decir, si tiene la forma b 2 aj, entonces cualquier elemento bla i ' en blB tiene la forma de
estar en b 2 B, porque blai ' = blaiai'-i = b 2 aHi'-i). Y cada coset contiene
exactamente d elementos. Como la unión de todas las cosetas agota F ~, esto significa
que F ~ es una unión disjunta de conjuntos de elementos d; de ahí dl (q - 1).
Segunda prueba Primero mostramos que a q- l = 1. Para ver esto, escriba el
producto de todos los elementos distintos de cero en F q. Hay q - 1 de ellos. Si nosotros
multiplicamos cada uno de ellos por a, obtenemos una reorganización de los mismos elementos
(dado que dos elementos distintos permanecen distintos después de la multiplicación por a).
Por lo tanto, el producto no se ve afectado. Pero hemos multiplicado este producto.
por una q- l. Por lo tanto, a q- l = 1. (Compárese con la prueba de la Proposición 1.3.2.)
Ahora sea d el orden de a, es decir, la potencia positiva más pequeña que da
1. Si d no dividió q - 1, podríamos encontrar un número positivo menor r -
a saber, el resto cuando q - 1 = bd + r se divide por d - tal que
a r = a q- l - bd = 1. Pero esto contradice la minimidad de d. Esto concluye
la prueba.
Definición. Un generador g de un campo finito F q es un elemento de orden q -1;
de manera equivalente, los poderes de g atraviesan todos los elementos de F ~.
La siguiente proposición es uno de los hechos muy básicos sobre campos finitos.
Dice que los elementos distintos de cero de cualquier campo finito forman un grupo cíclico, es decir,
son todos poderes de un solo elemento.
Proposición 11.1.2. Cada campo finito tiene un generador. Si 9 es un generador
de F ~, entonces gj también es un generador si y solo si gcd (j, q - 1) = 1. En
en particular, hay un total de ip ( q - 1) diferentes generadores de F ~.
Prueba. Suponga que a E F ~ tiene orden d, es decir, ad = 1 y no inferior
poder de a da 1. Por la Proposición 11.1.1, d divide q - 1. Dado que ad es el
potencia más pequeña que equivale a 1, se deduce que los elementos a, a 2, •••, ad = 1
son distintos Afirmamos que los elementos del orden d son precisamente el ip ( d)
valores aj para los cuales gcd (j, d) = 1. Primero, dado que los d poderes distintos de un todo

https://translate.googleusercontent.com/translate_f 40/46
26/2/2020 Intitulado

satisface la ecuación x d = 1, estas son todas las raíces de la ecuación (ver


párrafo 5 en la lista de hechos sobre los campos). Cualquier elemento de orden d debe
así estar entre los poderes de a. Sin embargo, no todos los poderes de un orden tienen
= d ' > 1, entonces aj tiene un orden inferior: porque sí' y
d, ya que si gcd (j, d)
jld ' son enteros, podemos escribir (aj) (d / d') = (ad) j / d ' = 1. Por el contrario, ahora
demuestre que aj tiene orden d siempre que gcd (j, d) = 1. Si j es primo para d,
y si aj tenía un orden menor d ': entonces ad "se elevó a j-th o al
d-ésima potencia daría 1, y por lo tanto ad " elevado a la potencia mcd (j, d) = 1
daría 1 (esto se prueba exactamente de la misma manera que la Proposición 1.4.2).
Pero esto contradice el hecho de que a es de orden d y entonces ad " ¥ = 1. Por lo tanto, aj
tiene orden d si y solo si gcd (j, d) = 1.
Esto significa que, si hay algún elemento a de orden d, entonces hay
exactamente ip ( d) elementos de orden d. Entonces, por cada dl (q - 1) solo hay dos

Página 45

1 Campos finitos 35

posibilidades: ningún elemento tiene orden d, o exactamente <p (d) los elementos tienen orden d.
Ahora cada elemento tiene algún orden dl (q -1). Y hay 0 o
<p (d) elementos de orden d. Pero, por la Proposición 1.3.7, l: dl (ql) <p (d) = q - 1,
cual es el número de elementos en F ~. Por lo tanto, la única forma en que cada
El elemento puede tener algún orden dl (q - 1) si siempre hay <p (d) (y nunca
0) elementos de orden d. En particular, hay <p (q - 1) elementos de orden
q -1; y, como vimos en el párrafo anterior, si 9 es algún elemento de orden
q - 1, entonces los otros elementos de orden q - 1 son precisamente los poderes gj para
which gcd (j, q - 1) = 1. Esto completa la prueba.
Corolario. Para cada p principal, existe un número entero 9 tal que el
potencias de 9 agotan todas las clases de residuos distintos de cero módulo p.
Ejemplo 1. Podemos obtener todos los residuos mod 19 del 1 al 18 tomando
poderes de 2. A saber, los poderes sucesivos de 2 mod 19 reducido son: 2, 4,
8, 16, 13, 7, 14, 9, 18, 17, 15, 11, 3, 6, 12, 5, 10, 1.
En muchas situaciones cuando se trabaja con campos finitos, como F p para algunos

prime p, es útil encontrar un generador. ¿Qué pasa si un número 9 E


¿al azar? ¿Cuál es la probabilidad de que sea un generador? En otra
F;
esta elegido

Es decir, ¿qué proporción de todos los elementos distintos de cero consiste en generadores?
De acuerdo con la Proposición 11.1.2, la proporción es <p (p - 1) / (p - 1). Pero
por nuestra fórmula para <p (n) siguiendo el corolario de la Proposición 1.3.3, esto

fracción es igual a TI (I - l) ' donde el producto está sobre todos los números primos i
dividiendo p - 1. Por lo tanto, las probabilidades de obtener un generador por una suposición aleatoria
depender en gran medida de la factorización de p - 1. Por ejemplo, podemos demostrar:
Proposición 11.1.3. Existe una secuencia de primos p tal que el

probabilidad de que un azar 9 E F; es un generador se acerca a cero.


Prueba. Sea {nj} cualquier secuencia de enteros positivos que sea divisible
por cada vez más números primos sucesivos 2, 3, 5, 7, ... como j ~ 00.
Por ejemplo, podríamos tomar nj = j !. Elija Pj para ser cualquier primo tal que
Pj == 1 mod nj. ¿Cómo sabemos que existe tal prima? Eso se desprende de
El teorema de Dirichlet sobre números primos en una progresión aritmética, que establece: Si
nand k son relativamente primos, entonces hay infinitos primos que son
== k mod n. (De hecho, más es cierto: los números primos están "distribuidos uniformemente" entre
las diferentes posibles k mod n, es decir, la proporción de primos == k mod n es
1 / <p (n); pero no necesitamos ese hecho aquí.) Entonces los números primos que dividen pj-l

https://translate.googleusercontent.com/translate_f 41/46
26/2/2020 Intitulado

Pero como
incluye todos
j ~los00primos que dividen
este producto nj, y entonces
se acerca CP ~ j_-ll)
a TIall primes :::; TIprimes
l (ll), que es cero lin; (1 - t).
(Ver ejercicio 23 del § 1.3). Esto prueba la proposición.

Existencia y unicidad de campos finitos con número de potencia primo de


elementos. Probamos tanto la existencia como la unicidad demostrando que es finito
El campo de elementos q = pI es el campo de división del polinomio X q - X. El
La siguiente proposición muestra que por cada potencia principal q hay una y
(hasta isomorfismo) solo un campo finito con q elementos.
Proposición 11.1.4. Si F q es un campo de q = pI elementos, entonces cada
El elemento satisface la ecuación X q - X = 0, y F q es precisamente el conjunto

Página 46

36 II. Campos finitos y residuos cuadráticos

de raíces de esa ecuación. Por el contrario, para cada potencia principal q = pI el


dividir el campo sobre F p del polinomio xq - X es un campo de elementos q.
Prueba. Primero suponga que F q es un campo finito. Desde el orden de cualquier
el elemento distinto de cero divide q - 1, se deduce que cualquier elemento distinto de cero satisface
la ecuación Xq-l = 1, y por lo tanto, si multiplicamos ambos lados por X, el
ecuación xq = X. Por supuesto, el elemento 0 también satisface la última ecuación.
Por lo tanto, todos los elementos q de F q son raíces del polinomio grado-q xq - X.
Como este polinomio no puede tener más de q raíces, sus raíces son precisamente
los elementos de F q ' Tenga en cuenta que esto significa que F q es el campo de división de
el polinomio X q - X, es decir, la extensión de campo más pequeña de F p que
contiene todas sus raíces.
Por el contrario, sea q = pI sea una potencia principal, y sea F la división
campo sobre F p del polinomio X q - X. Tenga en cuenta que X q - X tiene derivada
qXq-l - 1 = -1 (porque el entero q es un múltiplo de p y por lo tanto es cero
en el campo Fp); por lo tanto, el polinomio X q - X no tiene raíces comunes con
su derivada (que no tiene raíces en absoluto) y, por lo tanto, no tiene múltiples
raíces Por lo tanto, F debe contener al menos las q raíces distintas de xq - X. Pero
Afirmamos que el conjunto de raíces q ya es un campo. El punto clave es que
una suma o producto de dos raíces es nuevamente una raíz. Es decir, si una y b satisfacen
el polinomio, tenemos aq = a, bq = b, y por lo tanto (ab) q = ab, es decir, el
El producto también es una raíz. Para ver que la suma a + b también satisface el polinomio
X q - X = 0, notamos un hecho fundamental sobre cualquier campo de característica
pag:
Lema (a + b) P = aP + bP en cualquier campo de la característica p.
El lema se prueba al observar que todos los términos intermedios
desaparecer en la expansión binomial L: ~ = o (~) ap-jbi, porque p! j (p - j)! j! es
divisible por p para 0 < j < p.
La aplicación repetida del lema nos da: aP + bP = (a + b) P, aP2 +
bP 2 = (aP + bP) P = (a + b) P2, ..., aq + bq = (a + b) q. Por lo tanto, si a q = a y
bq = b se deduce que (a + b) q = a + b, por lo que a + b también es una raíz de xq - X.
Concluimos que el conjunto de raíces q es el campo más pequeño que contiene las raíces
x
de q - X, es decir, el campo de división de este polinomio es un campo de elementos q .
Esto completa la prueba.
En la prueba mostramos que elevar a la potencia p-ésima conserva la suma
y multiplicación Derivamos otra consecuencia importante de esto en el
proposición siguiente
Proposición 11.1.5. Deje F q ser el campo finito de q = pI elementos, y deje
https://translate.googleusercontent.com/translate_f 42/46
26/2/2020 Intitulado
0 ' será
el mapa que envía cada elemento a su potencia p-ésima: O' (a) = a ~ Entonces 0 '
es un automorfismo del campo F q (un mapa de l a l del campo en sí mismo que
conserva la suma y la multiplicación). Los elementos de F q que se mantienen
fijados por 0 ' son precisamente los elementos del campo principal F P' La potencia f
(y sin menor potencia) del mapa 0 ' es el mapa de identidad.
Prueba. Un mapa que se eleva a una potencia siempre conserva la multiplicación.
El hecho de que 0 ' conserva la suma proviene del lema en la prueba de
Proposición 11.1.4. Observe que para cualquier j la j-ésima potencia de 0 ' (el resultado de

Page 47

1 Campos finitos 37

repetir (j j veces) es el mapa a I --- t api. Por lo tanto, los elementos que quedan fijados por
(jj son las raíces de Xpi - X. Si j = 1, estos son precisamente los elementos p de
el campo principal (este es el caso especial q = p de la Proposición 11.1.4, a saber,
El pequeño teorema de Fermat). Los elementos que quedan fijados por (jl son las raíces de
es decir, todo F q ' Dado que la potencia f-ésima de (j es el mapa de identidad, (j
xq - X,
debe ser I-tOol (su mapa inverso es (jl-l: a a pJ - \ No menor potencia de (j
I --- t

da el mapa de identidad, ya que para j < f no todos los elementos de F q podrían


ser raíces del polinomio xP ' - X. Esto completa la prueba.
Proposición 11.1.6. En la notación de la Proposición //.1.5, si a es alguna
elemento de F q, entonces los conjugados de a sobre F p (los elementos de F q que
satisfacer el mismo polinomio monico irreducible con coeficientes en F p) son
los elementos (jj ( a) = api.
Prueba. Sea d el grado de F p ( a) como una extensión de F p ' Es decir,
F p (a) es una copia de F pd. Entonces a satisface XPd - X pero no satisface
Xpi - X para cualquier j < d. Así, uno obtiene d elementos distintos repetidamente
aplicando (j a a. Ahora es suficiente demostrar que cada uno de estos elementos satisface
el mismo polinomio irreducible monico f (X) que a hace, en cuyo caso
deben ser las raíces d . Para ello, es suficiente para demostrar que, si un satisface
un polinomio f (X) E Fp [XJ, entonces también lo hace a1? Deje f (X) = EajXj, donde
Fp. Entonces 0 = f (a) = Eaja ~ Elevar ambos lados a la potencia p-ésima
aj E

da 0 = E (ajaj) P (donde usamos el hecho de que elevar una suma a + b a la


p-th potencia da un P + bP). Pero a ~ = aj, según el pequeño teorema de Fermat, y
entonces tenemos: 0 = Eaj (aP) j = f (aP), como se desee. Esto completa la prueba.
Construcción explícita. Hasta ahora nuestra discusión de campos finitos ha sido
más bien teórico Nuestra única experiencia práctica ha sido con lo finito
campos de la forma F p = ZjpZ. Ahora discutimos cómo trabajar con finito
extensiones de F p ' En este punto debemos recordar cómo en el caso de la
números racionales Q trabajamos con una extensión como Q ( V2). A saber,
obtenemos este campo tomando una raíz a de la ecuación X2 - 2 y observando
expresiones de la forma a + ba, que se suman y multiplican en la forma habitual
manera, excepto que un 2 siempre debe ser reemplazado por 2. (En el caso de Q ( .v2)
trabajamos con expresiones de la forma a + ba + 002, y cuando multiplicamos
siempre reemplazamos un 3 por 2.) Podemos tomar el mismo enfoque general con
campos finitos
Ejemplo 2. Para construir F 9 tomamos cualquier polinomio cuadrático monico en
F3 [X] que no tiene raíces en F3. Al intentar todas las opciones posibles de coeficientes
y probando si los elementos 0, ± I E F3 son raíces, encontramos que hay
son tres cuadros monárquicos irreducibles: X2 + 1, X2 ± X -1. Si, por ejemplo,
tomamos una a la raíz de X 2 + 1 (llamémosla i en lugar de un - después de todo,
https://translate.googleusercontent.com/translate_f 43/46
26/2/2020 Intitulado

simplemente estamos junto a una raíz cuadrada de -1), entonces los elementos de F9 son
todas las combinaciones a + bi, donde a y muestran 0, 1 o -1. Haciendo aritmética en
F9 se parece mucho a la aritmética en los enteros gaussianos (ver Ejercicio
14 del § 1.2), excepto que se produce nuestra aritmética con los coeficientes ayb
en el pequeño campo F 3.

48

38 II. Campos finitos y residuos cuadráticos

Observe que el elemento i que adjuntamos no es un generador de F g,


dado que tiene un orden 4 en lugar de q -1 = 8. Si, sin embargo, adjuntamos una raíz a de
X2 - X -1, podemos obtener todos los elementos distintos de cero de Fg tomando los sucesivos
potencias de a (recuerde que a2 siempre debe ser reemplazado por a + 1, ya que
a satisface X2 = X + 1): a 1 = a, a2 = a + 1, a 3 = -a + 1, a 4 = -1,
a 5 = -a, a 6 = -a - 1, a 7 = aI, a 8 = 1. A veces decimos que
el polinomio X2 - XI es primitivo, lo que significa que cualquier raíz del
polinomio irreducible es un generador del grupo de elementos distintos de cero
el campo. Hay 4 = cp (8) generadores de F g, según la Proposición 11.1.2: dos
son las raíces de X 2 - X- I y dos son las raíces de X 2 + X -1. (El segundo
raíz de X 2 - XI es el conjugado de a, a saber, O '{ a) = a 3 = -a + 1.) De
los cuatro elementos restantes distintos de cero, dos son las raíces de X 2 + 1 (a saber
± i = ± (a + 1)) y los otros dos son los dos elementos distintos de cero ± 1 de F3
(que son las raíces de los polinomios irreducibles monicos de grado 1 XI y
X + 1).
En general, en cualquier campo finito F q, q = pI, cada elemento a satisface a
polinomio monico irreducible monico sobre F p de algun grado d. Entonces el
el campo F p ( a) obtenido al unir este elemento al campo principal es un
extensión de grado d que está contenida en F q ' Es decir, es una copia del
campo F pd. Dado que el campo grande F pI contiene F pd, también lo es un vector F pd
espacio de alguna dimensión f ~ se deduce que el número de elementos en F pI

debe ser (pd) / ', es decir, f = df ~ Por lo tanto, dlf. Por el contrario, para cualquier dlf lo finito
el campo F pd está contenido en F q, porque cualquier solución de XPd = X también es un

solución de XPI = X. (Para ver esto, tenga en cuenta que para cualquier d ', si repetidamente
reemplace X por XPd a la izquierda en la ecuación XPd = X, puede obtener
dd '
XP = 1.) Por lo tanto, hemos demostrado:
Proposición 11.1.1. Los subcampos de F pI son F pd para d dividiendo f.
Si un elemento de F pI está unido a F PI, se obtiene uno de estos campos.
Ahora es fácil probar una fórmula que sea útil para determinar
Número de polinomios irreducibles de un grado dado.

Proposición 11.1.8. Para cualquier q = pf, el polinomio xq -


X factores en
F p [X] en el producto de todos los polinomios irreducibles monicos de grados d
dividiendo f.
Prueba. Si nos unimos a F p una raíz a de cualquier polinomio irreducible monico
mial de grado dlf, obtenemos una copia de F pd, que está contenida en F pl.
Como a entonces satisface xq -X = 0, el monico irreducible debe dividir eso
polinomio. Por el contrario, dejemos que f {X) sea un polinomio irreducible monico que
divide xq -X. Entonces f (X) debe tener sus raíces en Fq (ya que ahí es donde
todas las raíces de xq - X son). Por lo tanto, f (X) debe tener un grado que divida f, entre
Proposición 11.1.7, ya que contigua a una raíz da un subcampo de F q ' Por lo tanto, el
los polinomios irreducibles monicos que dividen xq - X son precisamente todos los
https://translate.googleusercontent.com/translate_f 44/46
26/2/2020 Intitulado

los
tors,deesto
grado
significa quef. ComoXvimos
dividido xq - xq -
queal producto
es igual X nodetiene
todosmúltiples fac-
esos irreductibles
polinomios, como debía ser probado.

Página 49

1 Campos finitos 39

Corolario. II I es un número primo, entonces hay (pi - p) / I distinto


polinomios irreducibles monicos 01 grado I en Fv [XJ.
Tenga en cuenta que (pi - p) / I es un entero debido al pequeño teorema de Fermat
para el primer I, que garantiza que pi == P mod I. Para probar el corolario,
sea n el número de polinomios monicos irreducibles de grado I. Según
para la proposición, el polinomio de grado pi xv ' - X es el producto de n
polinomios de grado I y los polinomios irreductibles p grado-1 X - a
para un E F V ' Por lo tanto, igualar grados da: pi = nI + p, de donde el
la igualdad deseada sigue.
Más en general, suponga que no soy necesariamente primo. Entonces, dejando
nd denota el número de polinomios monicos irreducibles de grado dover
F v ' tenemos n I = (pi - "E d nd) / I, donde la suma es sobre todo d < I
que dividen a I.
Ahora ampliamos las estimaciones de tiempo en el Capítulo I para el módulo aritmético
p a campos finitos generales.
Proposición 11.1.9. Deje F q, donde q = pi, sea un campo finito, y deje
F (X) sea un polinomio irreducible amante de 01 grado Fv 'Entonces dos elementos
01 F q puede multiplicarse o dividirse en operaciones de O ( 10g3 q) bits. II k es un
entero positivo, entonces un elemento 01 F q puede elevarse a la k-ésima potencia en
Operaciones de bit O (log k log3q).
Prueba. Un elemento de F q es un polinomio con coeficientes en F v = Z / pZ
módulo considerado F (X). Para multiplicar dos de estos elementos, multiplicamos el
polinomios: esto requiere multiplicaciones O (P) de enteros módulo p (y
algunas adiciones de enteros módulo p, que toman mucho menos tiempo) - y
luego divida el polinomio F (X) en el producto, tomando el resto
polinomio como nuestra respuesta. La división polinómica implica O (J) divisiones
de enteros módulo p y O (P) multiplicaciones de enteros módulo p. Ya que
un módulo de multiplicación p toma operaciones de bit O ( log2p) , y una división
(usando el algoritmo euclidiano, por ejemplo) toma operaciones de 0 (10g3p) bits
(vea el corolario de la Proposición 1.2.2), el número total de operaciones de bits es:
0 (Plog2p + I log3p) = O ((J logp) 3) = 0 (log3q). Para probar el mismo resultado
para la división, es suficiente demostrar que se puede encontrar el recíproco de un elemento
en el tiempo 0 (log3q). Usando el algoritmo euclidiano para polinomios sobre el
campo F v (ver Ejercicio 12 del § 1.2), debemos escribir 1 como una combinación lineal de
nuestro elemento dado en F q (Le., un polinomio dado de grado < J) y el fijo
grado- I polinomio F (X). Esto implica divisiones O (J) de polinomios de
grado < I, y cada división polinómica requiere 0 (Plog2p + Ilog3p) =
Operaciones de 0 bits (J210g3p) . Por lo tanto, el tiempo total requerido es 0 (Plog3p) =
0 (log3q). Finalmente, una potencia k-ésima puede calcularse mediante la cuadratura repetida
método de la misma manera que la exponenciación modular (ver el final del § 1.3).
Esto toma O ( log k) multiplicaciones (o cuadrados) de elementos de F q, y
de ahí operaciones de bit O ( log k log3 q) bit. Esto completa la prueba.
Concluimos esta sección con un ejemplo de cálculo con poli-
nominales sobre campos finitos. Ilustramos con un ejemplo sobre el muy pequeño
est (y quizás el más importante) campo finito, el campo de 2 elementos
https://translate.googleusercontent.com/translate_f 45/46
26/2/2020 Intitulado

Página 50

40 II. Campos finitos y residuos cuadráticos

F2 = {O, I}. Un polinomio en F2 [X] es simplemente una suma de potencias de X.


De alguna manera, los polinomios sobre F p son como enteros expandidos a la base
p, donde los dígitos son análogos a los coeficientes del polinomio. por
ejemplo, en su expansión binaria, un entero se escribe como una suma de potencias de
2 (con coeficientes 0 o 1), así como un polinomio sobre F2 es una suma de potencias
de X Pero la comparación a menudo es engañosa. Por ejemplo, la suma de cualquier
número de polinomios de grado d es un polinomio de grado (como máximo) d;
mientras que una suma de varios enteros de d bits será un entero que tenga más de
d dígitos binarios.

Ejemplo 3. Sea I (X) = X4 + X3 + X 2 + 1, 9 = X3 + 1 E F2 [X], Encuentre


mcd (J, g) usando el algoritmo euclidiano para polinomios, y expresa el
mcd en la forma u (X) / (X) + v (X) g (X).
Solución. La división polinómica nos da la secuencia de igualdades a continuación,
lo que lleva a la conclusión de que mcd (J, g) = X +1, y la siguiente secuencia
de igualdades nos permite, trabajando hacia atrás, expresar X + 1 como un lineal
combinación de 1 y g. (Tenga en cuenta, por cierto, que en un campo de características
2 añadir es la misma que resta, es decir, un - b = un + b - 2b = un + . B) Se
tener:
1 = (X + l) g + (X2 + X)
9 = (X + I) (X2 + X) + (X + 1)
X2 + X = X (X + 1)
y entonces
X + 1 = 9 + (X + 1) (X2 + X)
= 9 + (X + 1) (J + (X + l) g)
= (X + 1) 1 + (X 2 ) g.

Ejercicios

1. Para p = 2, 3, 5, 7, 11, 13 y 17, encuentre el menor intero positivo


ger que genera F ;, y determina cuántos de los enteros
1, 2, 3, ... , p - 1 son generadores.
2. Sea (ZjpC <Z) * denotar todos los residuos del módulo pC < que son invertibles, es decir,
no son divisibles por p. Advertencia: asegúrese de no confundir ZjpC <Z (que
tiene pC < - pc <-l elementos invertibles) con F p '" (en el que todos los elementos
excepto 0 son invertibles). Los dos son iguales solo cuando a = 1.
(a) Vamos 9 ser un número entero que genera F ;, donde p > 2. Sea un be
cualquier número entero mayor que 1. Demuestre que 9 o (p + l) g generan
(ZjpC <Z) ~ Por lo tanto, este último también es un grupo cíclico.

(b) Demuestre que si a > 2, entonces (Zj2C <Z) * no es cíclico, sino que el
el número 5 genera un subgrupo que consta de la mitad de sus elementos, a saber
los que son == 1 mod 4.
3. ¿Cuántos elementos hay en la extensión de campo más pequeña de Fs que
contiene todas las raíces de los polinomios X 2 + X + 1 y X3 + X + 1?

https://translate.googleusercontent.com/translate_f 46/46

También podría gustarte