Está en la página 1de 134

C H Un P T E R

4 Teoría de Número y Criptografía

4.1 Divisibility y
Modular
T Separe de las matemáticas dedicaron al estudio del conjunto de los enteros y sus propiedades es
sabidos cuando teoría de número. En este capítulo desarrollaremos algunos de los conceptos
Aritmética importantes de teoría de número que incluye muchos de aquellos utilizado en informática. Cuando
desarrollamos número
4.2 Entero Repre- Teoría, utilizaremos los métodos de prueba desarrollaron en Capítulo 1 para probar muchos
sentations Y teoremas.
Algoritmos Primero introduciremos la idea de divisibility de enteros, el cual utilizamos para
4.3 Albores y introducir modular, o reloj, aritmética. La aritmética modular opera con los restos de enteros
Más grande cuándo están divididos por un entero positivo fijo, llamó el modulus. Probaremos muchos
Común resultados importantes sobre aritmética modular qué utilizaremos extensamente en este
Divisors capítulo.
Los enteros pueden ser representados con cualquier entero positivo b más grande que 1 como
4.4 Solucionando base. En este capítulo hablamos base b representaciones de enteros y dar un algoritmo para
Congruencias encontrarles. En particular, hablaremos binarios, octales, y hexadecimales (base 2, 8, y 16)
4.5 Aplicaciones representaciones. Describiremos algoritmos para llevar a cabo la aritmética que utiliza estas
de representaciones y estudiar su complejidad. Estos algoritmos eran los primeros procedimientos
Congruencias llamó algoritmos.
Hablaremos números primos, los enteros positivos que tiene sólo 1 y ellos como positivo
4.6 Criptografía divisors. Probaremos que hay infinitamente muchos albores; la prueba damos está
considerado para ser uno de las pruebas más bonitas en matemáticas. Hablaremos la
distribución de albores y muchos cuestiones abiertas famosas respecto de albores.
Introduciremos el concepto de más grande común divisors y estudiar el algoritmo euclidiano
para computarles. Este algoritmo era primero describió miles de hace años. Introduciremos
el teorema fundamental de aritmética, un clave resultar cuál nos digo que cada entero positivo
tiene una factorización única a albores.
Explicaremos cómo para solucionar congruencias lineales, así como sistemas de
congruencias lineales, el cual solucionamos utilizar el teorema de resto chino famoso.
Introduciremos la idea de pseudoprimes, los cuales son composite enteros masquerading
como albores, y espectáculo cómo esta idea nos puede ayudar rápidamente generar números
primos.
Este capítulo introduce varias aplicaciones importantes de teoría de número. En particular,
utilizaremos teoría de número para generar pseudorandom números, para asignar ubicaciones de
memoria a archivos de ordenador, y para encontrar dígitos de control utilizaron para detectar
errores en varias clases de números de identificación. También introducimos el tema de
criptografía. Teoría de número juega un esencialmente función ambos en criptografía clásica,
primero utilizó miles de hace años, y criptografía moderna, el cual juega una función esencial en
comunicación electrónica. Mostraremos cómo las ideas desarrollamos puede ser utilizado en
cryptographical protocolos, introduciendo protocolos para compartir llaves y para enviar firmó
mensajes. Teoría de número, una vez consideró el más puro de temas, ha devenido una
herramienta esencial en proporcionar ordenador y seguridad de Internet.

4.1 Divisibility y Aritmética Modular


Introducción
Las ideas que desarrollaremos en esta sección está basada en la idea de divisibility. División de
un entero por un entero positivo produce un cociente y un resto. Trabajando con estos restos dirige
a aritmética modular, el cual juega una función importante en las matemáticas y cuál está utilizado
por todas partes informática. Hablaremos algunos aplicaciones importantes de aritmética modular
237
238 4 / Teoría de Número y Criptografía

Más tarde en este capítulo, incluyendo generando pseudorandom números, asignando


ubicaciones de memoria del ordenador a archivos, construyendo dígitos de control, y
encriptando mensajes.

División
Cuándo un entero está dividido por un segundo nonzero entero, el cociente puede o no puede
ser un entero. Por ejemplo, 12/3 = 4 es un entero, mientras que 11/4 = 2.75 no es. Estas
ventajas a Definición 1.

DEFINICIÓN 1
Si un y b es enteros con un = 0, decimos que un divide b si hay un entero c tal aquello
b = ac, o equivalently, si un b es un entero. Cuándo un divide b decimos que un es un
factor o divisor de b , y que b es un múltiplo de un . La notación un | b denota que un
divide b. Escribimos un | b cuándo un no divide b.

Comentario: podemos expresar un | b utilizando cuantificadores como ∃c(ac = b), donde el


universo de discurso es el conjunto de enteros.

En Figura 1 una línea de número indica qué enteros son divisible por el entero positivo d.
EJEMPLO 1
Determinar si 3 | 7 y si 3 | 12.

Solución: vemos que 3 | 7, porque 7/3 no es un entero. Por otro lado, 3 | 12 porque
12/3 = 4. ▲
EJEMPLO 2
Dejado n y d ser enteros positivos. Cuántos enteros positivos no superando n es divisible por d ?

Solución: Los enteros positivos divisible por d es todos los enteros de la forma d k, donde k
es un entero positivo. De ahí, el número de enteros positivos divisible por d aquello no
supera n equals el número de enteros k con 0 < d k ≤ n, o con 0 < k ≤ n/d. Por tanto, hay
n/d Enteros positivos no superando n aquello es divisible por d . ▲

Algunos de las propiedades básicas de divisibility de los enteros están dados en Teorema
1.
TEOREMA 1
Dejado un, b, y c ser enteros, donde un = 0. Entonces
(i ) Si un | b y un | c, entonces un | (b + c);
(ii ) Si un | b, entonces un | bc para todos los enteros c;
(iii ) Si un | b y b | c, entonces un | c.

Prueba: daremos una prueba directa de (i). Supone que un | b y un | c. Entonces, de la definición
de divisibility, sigue que hay enteros s y t con b = cuando y c = en . De ahí,
b + c = Cuando + en = un(s + t ).

– 3d – 2d –d 0 d 2d 3d

FIGURA 1 Enteros Divisible por el Entero Positivo d.


4.1 Divisibility y Aritmética Modular 239

Por tanto, un divide b + c. Esto establece parte (i) del teorema. Las pruebas de partes (ii) y
(iii) queda tan Ejercicios 3 y 4.

Teorema 1 tiene esta consecuencia útil.

COROLARIO 1 Si un, b, y c es enteros, donde un = 0, tal que un | b y un | c, entonces un | mb + nc siempre


que
m Y n es enteros.

Prueba: daremos una prueba directa. Por parte (ii) de Teorema 1 vemos que un | mb y un |
nc siempre que m y n es enteros. Por parte (i) de Teorema 1 sigue que un | mb + nc.

El Algoritmo de División
Cuándo un entero está dividido por un entero positivo, hay un cociente y un resto, cuando los
espectáculos de algoritmo de la división.

TEOREMA 2 EL ALGORITMO de DIVISIÓN Dejado un ser un entero y d un entero positivo.


Entonces hay enteros únicos q y r , con 0 ≤ r < d, tal que un = d q + r.

Nosotros defer la prueba del algoritmo de división a Sección 5.2. (Ve Ejemplo 5 y
Ejercicio 37.)

Comentario: Teorema 2 no es realmente un algoritmo. (Por qué no?) No obstante, utilizamos


su nombre tradicional.

DEFINICIÓN 2 En la igualdad dada en el algoritmo de división, d se apellida el divisor, un se apellida el


dividendo,
q se apellida el cociente, y r se apellida el resto. Esta notación suele expresar el cociente y
resto:

q = Un div d , r = un mod d .

Comentario: Nota que ambos un div d y un mod d para un fijos d es funciones en el


conjunto de inte-gers. Además, cuándo un es un entero y d es un entero positivo, tenemos
un div d = un/d y un mod d = un − d. (Ve ejercicio 18.)
Ejemplos 3 y 4 ilustra el algoritmo de división.

EJEMPLO 3 Qué es el cociente y resto cuándo 101 está dividido por 11?

Solución: tenemos

101 = 11 · 9 + 2.

De ahí, el cociente cuándo 101 está dividido por 11 es 9 = 101 div 11, y el resto es

2 = 101 mod 11.


240 4 / Teoría de Número y Criptografía

EJEMPLO 4 Qué es el cociente y resto cuándo −11 está dividido por 3?

Solución: tenemos

−11 = 3(−4) + 1.

De ahí, el cociente cuándo −11 está dividido por 3 es −4 = −11 div 3, y el resto es 1 = −11
mod 3.
Nota que el resto no puede ser negativo. Consiguientemente, el resto no es −2, incluso
aun así

−11 = 3(−3) − 2,

Porque r = −2 no satisface 0 ≤ r < 3.


Nota que el entero un es divisible por el entero d Si y sólo si el resto es cero
cuándo un está dividido por d .

Comentario: Un lenguaje de programación puede tener uno, o posiblemente dos, operadores


para modulares arith-metic, denotados por mod (en BÁSICOS, Arce, Mathematica, EXCEL,
y SQL), % (en C, C++, Java, y Pitón), rem (en Ada y Lisp), o algo más. Ser prudente cuándo
utilizándoles, porque para < un 0, algunos de estos operadores regresan un − m un/m en vez
de un mod m = un − m un/m (cuando mostrados en Ejercicio 18). También, a diferencia de
un mod m, algunos de estos operadores están definidos cuándo m < 0, e incluso cuándo m =
0.

Aritmética modular
En algunas situaciones nos preocupamos sólo sobre el resto de un entero cuándo está dividido
por algunos especificaron entero positivo. Para caso, cuándo preguntamos qué tiempo sea (en un
reloj de 24 horas) 50 horas de ahora, nos preocupamos sólo sobre el resto cuándo 50 más la hora
actual está dividida por 24. Porque somos a menudo interesados sólo en restos, tenemos
notaciones especiales para ellos. Hemos ya introdujo la notación un mod m para representar el
resto cuándo un entero un está dividido por el entero positivo m. Ahora introducimos un
diferentes, pero relacionados, notación que indica que dos enteros tienen el mismo resto cuándo
están divididos por el entero positivo m.

DEFINICIÓN 3 Si un y b es enteros y m es un entero positivo, entonces un es congruente a b modulo m si m


divide un − b. Utilizamos la notación un ≡ b (mod m) para indicar que un es congruente a
b modulo m. Decimos que un ≡ b (mod m) es una congruencia y que m es su modulus
(plural moduli). Si un y b no es congruente modulo m, escribimos un ≡ b (mod m).

A pesar de que ambas notaciones un ≡ b (mod m) y un mod m = b incluye “mod,”


representan fundamentalmente conceptos diferentes. El primero representa una relación en el
conjunto de enteros, mientras que el segundo representa una función. Aun así, la relación un
≡ b (mod m) y el mod m la función es estrechamente relacionada, cuando descrito en
Teorema 3.
4.1 Divisibility y Aritmética Modular 241

TEOREMA 3 Dejado un y b ser enteros, y dejados m ser un entero positivo. Entonces un ≡ b (mod m)
si y sólo si un mod m = b mod m.

La prueba de Teorema 3 queda tan Ejercicios 15 y 16. Recuerda que un mod m y b mod m
es los restos cuándo un y b está dividido por m , respectivamente. Consiguientemente,
Teorema 3 también dice que un ≡ b (mod m) si y sólo si un y b tener el mismo resto cuándo
dividido por m .

EJEMPLO 5 Determina si 17 es congruente a 5 modulo 6 y si 24 y 14 es congruente modulo 6.

Solución: Porque 6 divide 17 − 5 = 12, vemos que 17 ≡ 5 (mod 6). Aun así, porque
24 − 14 = 10 no es divisible por 6, vemos que 24 ≡ 14 (mod 6).


El matemático alemán grande Karl Friedrich Gauss desarrolló el concepto de congru-
ences al final del decimoctavo siglo. La idea de congruencias ha jugado una función
importante en el desarrollo de teoría de número.
Teorema 4 proporciona una manera útil de trabajar con congruencias.

TEOREMA 4 Dejado m ser un entero positivo. Los enteros un y b es congruente modulo m si y sólo si
hay un entero k tal que un = b + km.

Prueba: Si un ≡ b (mod m), por la definición de congruencia (Definición 3), sabemos que m
| (un − b). Esto significa que hay un entero k tal que un − b = km, de modo que un = b +
km. En cambio, si hay un entero k tal que un = b + km, entonces km = un − b. De ahí, m
divide un − b, de modo que un ≡ b (mod m).
El conjunto de todos los enteros congruentes a un entero un modulo m se apellida la clase de
congruencia de un modulo m. En Capítulo 9 mostraremos que hay m pairwise clases de
equivalencia disjunta modulo m y que la unión de estas clases de equivalencia es el conjunto
de enteros. Teorema 5 espectáculos que adiciones y conserva de multiplicaciones
congruencias.

KARL FRIEDRICH GAUSS (1777–1855) Karl Friedrich Gauss, el hijo de un albañil, era un niño prodigy.
Demuestre su potencial en la edad de 10, cuándo deprisa solucione un problema asignado por un profesor para
mantener la clase ocupada. El profesor preguntó el alumnado para encontrar la suma del primeros 100 enteros
positivos. Gauss se dio cuenta que esta suma podría ser encontrada por formar 50 pares, cada cual con la suma 101:
1 + 100, 2 + 99, . . . , 50 + 51. Esta brillantez atrajo el patrocinio de patrons, incluyendo Duque Ferdinand de
Brunswick, quién lo hizo posible para Gauss para atender Caroline Universidad y la Universidad de Göttingen.
Mientras un estudiante, invente el método de menos plazas, el cual suele estima el valor más probable de una
variable de resultados experimentales. En 1796 Gauss hizo un descubrimiento fundamental en geometría,
adelantando un subject que no había adelantado desde tiempo antiguo. Muestre que un 17-sided el polígono regular
podría ser dibujado utilizando justo un gobernante y compás.
En 1799 Gauss presentó la primera prueba rigurosa del teorema fundamental de álgebra, el cual declara que un polinomio de
grado n ha exactamente n raíces (contando multiplicidades). Gauss consiguió en todo el mundo fama cuándo exitosamente
calcule la órbita del primer asteroide descubrió, Ceres, utilizando scanty dato.
Gauss se apellidó el Príncipe de Matemáticas por sus matemáticos contemporáneos. A pesar de que Gauss está notado para
sus muchos descubrimientos en geometría, álgebra, análisis, astronomía, y física, tenga un interés especial en teoría de número,
los cuales pueden ser vistos de su Matemática “de declaración es la reina de las ciencias, y la teoría de números es la reina de
matemáticas.” Gauss puso las fundaciones para teoría de número moderno con la publicación de su libro Disquisitiones
Arithmeticae en 1801.
242 4 / Teoría de Número y Criptografía

Dejado m ser un entero


TEOREMA 5 positivo. Si un ≡ b (mod m) y c ≡ d (mod m), entonces

Un + c ≡ b + d (mod m) Y ac ≡ bd (mod m).

Prueba: utilizamos una prueba directa. Porque un ≡ b (mod m) y c ≡ d (mod m), por
Teorema 4 hay enteros s y t con b = un + sm y d = c + t m. De ahí,
b + d = (Un + sm) + (c + t m) = (un + c) + m(s + t )

bd = (Un + sm)(c + t m) = ac + m(en + cs + st m).

De ahí,


Un + c ≡ b + d (mod m) y ac ≡ bd (mod m).

EJEMPLO 6 Porque 7 ≡ 2 (mod 5) y 11 ≡ 1 (mod 5), sigue de Teorema 5 que 18 = 7 +

11 ≡ 2 + 1 = 3 (mod 5)

Y aquello

77 = 7 · 11 ≡ 2 · 1 = 2 (mod 5).
Tenemos que ser prudentes trabajando con congruencias. Algunas propiedades
podemos esperar ser ciertos no es válido. Por ejemplo, si ac ≡ bc (mod m), la congruencia
Puedes no siempre un ≡ b (mod m) puede ser falso. De modo parecido, si un ≡ b (mod m) y c ≡ d (mod m), la
Dividir ambos lados d
De una congruencia congruencia un c ≡ b (mod m) puede ser falso. (Ve Ejercicio 37.)
Por el mismo número! Corolario 2 espectáculos cómo para encontrar los valores del mod m función en la suma
y producto de dos enteros que utilizan los valores de esta función en cada de estos enteros.
Utilizaremos este resultado en Sección 5.4.

COROLARIO 2 Dejado m ser un entero positivo y dejar un y b ser enteros. Entonces

(Un + b) mod m = ((un mod m) + (b mod m)) mod m

ab mod m = ((Un mod m)(b mod m)) mod m.

Prueba: Por las definiciones de mod m y de congruencia modulo m, sabemos que un ≡ (un
mod m) (mod m) y b ≡ (b mod m) (mod m). De ahí, Teorema 5 nos digo aquello
Un + b ≡ (un mod m) + (b mod m) (mod m)

ab ≡ (Un mod m)(b mod m) (mod m).

Las igualdades en este corolario siguen de estas últimas dos congruencias por Teorema 3.
4.1 Divisibility y Aritmética Modular 243

Aritmética Modulo m
Podemos definir operaciones de aritmética en Zm, el conjunto de nonnegative enteros menos de
m , aquello es, el conjunto {0, 1, . . . , m − 1}. En particular, definimos adición de estos enteros,
denotados por +m por

Un +m b = (un + b) mod m,

Dónde la adición en el lado derecho de esta ecuación es la adición normal de enteros, y


definimos multiplicación de estos enteros, denotados por ·m por

Un ·m b = (un · b) mod m,

Dónde la multiplicación en el lado derecho de esta ecuación es la multiplicación normal de


enteros. Las operaciones +m y · m se apellida adición y multiplicación modulo m y cuándo
utilizamos estas operaciones, estamos decir para ser haciendo aritmética modulo m.

EJEMPLO 7 Uso la definición de adición y multiplicación en Zm para encontrar 7 +11 9 y 7 ·11 9.

Solución: Utilizando la definición de adición modulo 11, encontramos aquello

7 +11 9 = (7 + 9) mod 11 = 16 mod 11 = 5,

7 ·11 9 = (7 · 9) mod 11 = 63 mod 11 = 8.


De ahí 7 +11 9 = 5 y 7 ·11 9 = 8.

Las operaciones +m y · m satisface muchos de las mismas propiedades de multiplicación


y adición normales de enteros. En particular, satisfacen estas propiedades:

Clausura Si un y b pertenece a Z m, entonces un +m b y un ·m b pertenece a Z m.


Associativity Si un, b, y c pertenece a Z m, entonces (un +m b) +m c = un +m (b +m c) y
(un ·m b) ·m c = un ·m (b ·m c).
Commutativity Si un y b pertenece a Z m, entonces un +m b = b +m un y un ·m b = b ·m
un.
Elementos de identidad Los elementos 0 y 1 es elementos de identidad para adición y
multiplicación modulo m, respectivamente. Aquello es, si un pertenece a Z m, entonces un
+m 0 = 0 +m un = un y un ·m 1 = 1 ·m un = un.
Aditivo inverses Si un = 0 pertenece a Z m, entonces m − un es un aditivo inverse de un
modulo m y 0 es su propio aditivo inverse. Aquello es un +m (m − un) = 0 y 0 +m 0 = 0.
Distributivity Si un, b, y c pertenece a Z m, entonces un ·m (b +m c) = (un ·m b) +m (un
·m c) y (un +m b) ·m c = (un ·m c) +m (b ·m c).
Estas propiedades siguen de las propiedades hemos desarrollado para congruencias y restos
modulo m, junto con las propiedades de enteros; dejamos sus pruebas como Ejercicios 42–
44. Nota que hemos listado la propiedad que cada elemento de Z m tiene un aditivo inverse,
pero no propiedad análoga para multiplicative inverses ha sido incluido. Esto es porque
multiplicative inverses no siempre existe modulo m. Para caso, hay no multiplicative
inverse de 2 modulo 6, cuando el lector puede verificar. Regresaremos a la cuestión de
cuándo un entero tiene un multiplicative inverse modulo m más tarde en este capítulo.
244 4 / Teoría de Número y Criptografía

Comentario: Porque Zm con las operaciones de adición y multiplicación modulo m satisface


las propiedades listaron, Zm con la adición modular está dicha para ser un commutative
grupo y Z m con ambos de estas operaciones está dicha para ser un commutative anillo.
Nota que el conjunto de enteros con multiplicación y adición normales también forma un
commutative anillo. Los grupos y los anillos están estudiados en cursos que cubierta álgebra
abstracta.
Comentario: En Ejercicio 30, y en secciones más tardías, utilizaremos las notaciones + y ·
para +m y · m sin el subíndice m en el símbolo para el operador siempre que trabajamos con
Z m.

Ejercicios
c) 168 horas después de que lee 19:00?
1. Hace 17 divide cada cual de estos números?
Un) 68 b) 84 c) 357
d) 1001
2. Prueba que si un es un entero otro que 0, entonces
Un) 1 divide un. b) Un divide 0.
3. Prueba que parte (ii ) de Teorema 1 es cierto.
4. Prueba que parte (iii ) de Teorema 1 es cierto.
5. Espectáculo que si un | b y b | un, donde un y b es
enteros, entonces un = b o un = −b.
6. Espectáculo que si un, b, c, y d es enteros, donde un
= 0, tal que un | c y b | d, entonces ab | cd.
7. Espectáculo que si un, b, y c es enteros, donde un = 0
y c = 0, tal que ac | bc, entonces un | b.
8. Prueba o disprove que si un | bc, donde un, b, y c es
pos-itive enteros y un = 0, entonces un | b o un | c.
9. Qué es el cociente y resto cuando
a) 19 está dividido por 7?
b) −111 está dividido por 11?
c) 789 está dividido por 23?
d) 1001 está dividido por 13?
e) 0 está dividido por 19?
f ) 3 está dividido por 5?
g) −1 está dividido por 3?
h) 4 está dividido por 1?
10. Qué es el cociente y resto cuando
a) 44 está dividido por 8?
b) 777 está dividido por 21?
c) −123 está dividido por 19?
d) −1 está dividido por 23?
e) −2002 está dividido por 87?
f ) 0 está dividido por 17?
g) 1,234,567 está dividido por 1001?
h) −100 está dividido por 101?
11. Qué tiempo un reloj de 12 horas leyó
a) 80 horas después de que lee 11:00?
b) 40 horas antes de que lee 12:00?
c) 100 horas después de que lee 6:00?
12. Qué tiempo un reloj de 24 horas leyó
a) 100 horas después de que lee 2:00?
b) 45 horas antes de que lee 12:00?
13. Supone que un y b es enteros, un ≡ 4 (mod 13), y b ≡
9 (mod 13). Encontrar el entero c con 0 ≤ c ≤ 12 tal
aquello
a) c ≡ 9un (mod 13).
b) c ≡ 11b (mod 13).
c) c ≡ Un + b (mod 13).
d) c ≡ 2un + 3b (mod 13).
2 2
e) c ≡ Un + b (mod 13).
3 3
f ) c ≡ Un − b (mod 13).
14. Supone que un y b es enteros, un ≡ 11 (mod 19), y b
≡ 3 (mod 19). Encontrar el entero c con 0 ≤ c ≤ 18 tal
aquello
a) c ≡ 13un (mod 19).
b) c ≡ 8b (mod 19).
c) c ≡ Un − b (mod 19).
d) c ≡ 7un + 3b (mod 19).
2 2
e) c ≡ 2un + 3b (mod 19).
3 3
f ) c ≡ Un + 4b (mod 19).
15. Dejado m ser un entero positivo. Espectáculo que un ≡
b (mod m) si un mod m = b mod m.
16. Dejado m ser un entero positivo. Espectáculo que un
mod m =
b mod m Si un ≡ b (mod m).
17. Espectáculo que si n y k es enteros positivos, entonces
n/ k = (n − 1)/ k + 1.
18. Espectáculo que si un es un entero y d es un
inte-ger más grande que 1, entonces el cociente y
quedar-der obtenido cuándo un está dividido por d es
un/d y
Un − d un/d , respectivamente.
19. Encontrar una fórmula para el entero con valor absoluto
más pequeño que es congruente a un entero un modulo
m, donde m es un entero positivo.
20. Evaluar estas cantidades.
Un) −17 mod 2 b) 144 mod 7
c) −101 mod 13 d) 199 mod 19
21. Evaluar estas cantidades.
Un) 13 mod 3 b) −97 mod 11
c) 155 mod 19 d) −221 mod 23
22. Encontrar un div m y un mod m cuando
a) Un = −111, m = 99.
b) Un = −9999, m = 101.
c) Un = 10299, m = 999.
d) Un = 123456, m = 1001.
23. Encontrar un div m y un mod m cuando 4.2 Representaciones de Entero y Algoritmos 245
a) Un = 228, m = 119.
b) Un = 9009, m = 223.
34. Espectáculo que si un ≡ b (mod m) y c ≡ d (mod m),
c) Un = −10101, m = 333.
donde un , b, c, d, y m es enteros con m ≥ 2, entonces
d) Un = −765432, m = 38271.
un − c ≡ b − d (mod m).
24. Encontrar el entero un tal aquello
35. Espectáculo que si n | m, donde n y m es los enteros
a) Un ≡ 43 (mod 23) y − 22 ≤ un ≤ 0.
más grandes que 1, y si un ≡ b (mod m), donde un y b
b) Un ≡ 17 (mod 29) y − 14 ≤ un ≤ 14. es enteros, entonces un ≡ b (mod n).
c) Un ≡ −11 (mod 21) y 90 ≤ un ≤ 110. 36. Espectáculo que si un, b, c, y m es enteros tal aquel m
25. Encontrar el entero un tal aquello ≥ 2, c > 0, y un ≡ b (mod m), entonces ac ≡ bc (mod
a) Un ≡ −15 (mod 27) y − 26 ≤ un ≤ 0. mc).
b) Un ≡ 24 (mod 31) y − 15 ≤ un ≤ 15. 37. Encuentra contraejemplos a cada cual de estas
declaraciones sobre congruencias.
c) Un ≡ 99 (mod 41) y 100 ≤ un ≤ 140.
26. Lista cinco enteros que es congruente a 4 modulo 12. a) Si ac ≡ bc (mod m), donde un , b, c, y m es
enteros con m ≥ 2, entonces un ≡ b (mod m).
27. Lista todos los enteros entre −100 y 100 aquello es b) Si un ≡ b (mod m) y c ≡ d (mod m), dónde
congruente a − 1 modulo 25. Un, b, c, d, y m es enteros con c y d positivos y
28. Decidir si cada cual de estos enteros es congruente a 3 un d
m ≥ 2, entonces c ≡ b (mod m).
modulo 7. 2
38. Espectáculo que si n es un entero entonces n ≡ 0 o 1
Un) 37 b) 66 (mod 4).
c) −17 d) −67 39. Ejercicio de uso 38 para mostrar que si m es un entero
29. Decidir si cada cual de estos enteros es congruente a 5 positivo de la forma 4k + 3 para algún nonnegative
modulo 17. entero k, entonces m no es la suma de las plazas de dos
enteros.
Un) 80 b) 103
40. Prueba que si n es un entero positivo extraño, entonces
c) −29 d) −122 2
n ≡
30. Encuentra cada cual de estos valores. 1 (mod 8).
a) (177 mod 31 + 270 mod 31) mod 31 41. Espectáculo que si un, b, k, y m es enteros tal aquel k
b) (177 mod 31 · 270 mod 31) mod 31 un k k
≥ 1, m ≥ 2, y un ≡ b (mod m), entonces ≡b
31. Encuentra cada cual de estos valores. (mod m).
a) (−133 mod 23 + 261 mod 23) mod 23 42. Espectáculo que Zm con adición modulo m, donde m ≥ 2
b) (457 mod 23 · 182 mod 23) mod 23 es un entero, satisface la clausura, associative, y commu-
32. Encuentra cada cual de estos valores. tative propiedades, 0 es una identidad aditiva, y para cada
2
a) (19 mod 41) mod 9 nonzero un ∈ Zm, m − un es un inverse de un modulo m.
3 2 43. Espectáculo que Zm con multiplicación modulo m,
b) (32 mod 13) mod 11
3 2
c) (7 mod 23) mod 31 donde m ≥ 2 es un entero, satisface la clausura,
2 3 associative, y commutativity propiedades, y 1 es un
d) (21 mod 15) mod 22 multiplicative iden-tity.
33. Encuentra cada cual de estos valores.
2 3 44. Espectáculo que el distributive propiedad de
a) (99 mod 32) mod 15
4 2 multiplicación encima controles de adición para Zm,
b) (3 mod 17) mod 11 donde m ≥ 2 es un entero.
3 2
c) (19 mod 23) mod 31 45. Escribe fuera de la adición y mesas de multiplicación para
3 4
d) (89 mod 79) mod 26 Z5 (dónde por adición y multiplicación significamos +5 y
· 5).
46. Escribe fuera de la adición y mesas de multiplicación para
Z6 (dónde por adición y multiplicación significamos +6 y
· 6).
47. Determinar si cada cual de las funciones f (un) = un div d
y g(un) = un mod d, donde d es un entero positivo fijo,
del conjunto de enteros al conjunto de enteros, es un-a-un,
y determinar si cada cual de estas funciones es a.

4.2 Representaciones de Entero y Algoritmos


Introducción
Los enteros pueden ser expresados utilizando cualquier entero más grande que uno como
base, cuando mostraremos en esta sección. A pesar de que nosotros generalmente decimal de
uso (base 10), representaciones, binarios (base 2), octal (base 8), y hexadecimal (base 16) las
representaciones son a menudo utilizadas, especialmente en informática. Dado una base b y
un entero n, mostraremos cómo para construir la base b representación de este entero.
También explicaremos cómo a deprisa covert entre binarios y octales y entre notaciones
binarias y hexadecimales.
246 4 / Teoría de Número y Criptografía

Cuando mencionado en Sección 3.1, el algoritmo de plazo originalmente referido a


procedimientos para por-formando operaciones de aritmética que utilizan las
representaciones decimales de enteros. Estos algoritmos, adaptados para uso con
representaciones binarias, es la base para aritmética de ordenador. Proporcionan
ilustraciones buenas del concepto de un algoritmo y la complejidad de algoritmos. Para estas
razones, serán hablados en esta sección.
También introduciremos un algoritmo para encontrar un div d y un mod d donde un y d es
enteros con > d 1. Finalmente, describiremos un algoritmo eficaz para modular exponentiation,
el cual es un algoritmo particularmente importante para criptografía, cuando veremos en Sección
4.6.

Representaciones de Enteros
En vida diaria utilizamos notación decimal para expresar enteros. Por ejemplo, 965 suele
2
denota 9 · 10 + 6 · 10 + 5. Aun así, es a menudo conveniente de utilizar bases otro que 10.
En particular, los ordenadores normalmente utilizan notación binaria (con 2 cuando la base)
cuándo llevando a cabo aritmética, y octal (base 8) o hexadecimal (base 16) notación cuándo
expresando caracteres, como letras o dígitos. De hecho, podemos utilizar cualquier entero
más grande que 1 cuando la base cuándo expresando enteros. Esto está declarado en Teorema
1.

TEOREMA 1 Dejado b ser un entero más grande que 1. Entonces si n es un entero positivo, pueda ser
expresado singularmente en la forma
k k−1
n = Unk b + unk−1b + · · · + un1b + un0,

Dónde k es un nonnegative entero, un0, un1, . . . , unk es nonnegative enteros menos de


b , y un k = 0.

Una prueba de este teorema puede ser construida utilizando inducción matemática, un
método de prueba que está hablado en Sección 5.1. También pueda ser encontrado en [Ro10].
La representación de n dado en Teorema 1 se apellida la base b expansión de n . La base b
expansión de n está denotado por (unk unk−1 . . . Un1un0)b . Para caso, (245)8 representa
2
2 · 8 + 4 · 8 + 5 = 165. Típicamente, el sub-guión 10 está omitido para base 10 expansiones
de enteros porque base 10, o expansiones decimales, es generalmente utilizado para
representar enteros.

Las EXPANSIONES BINARIAS que Escogen 2 cuando la base da expansiones binarias de


enteros. En notación binaria cada dígito es tampoco un 0 o un 1. En otras palabras,, la expansión
binaria de un entero es justo un poco cuerda. Expansiones binarias (y relacionó expansiones que
es variantes de expansiones binarias) está utilizado por ordenadores para representar y hacer
aritmética con enteros.

EJEMPLO 1 Qué es la expansión decimal del entero que tiene (1 0101 1111)2 cuando su expansión binaria?

Solución: tenemos

8 7 6 5 4
(1 0101 1111)2 = 1 · 2 + 0 · 2 + 1 · 2 + 0 · 2 + 1 · 2
3 2 1 0
+ 1 · 2 + 1 · 2 + 1 · 2 + 1 · 2 = 351.
EXPANSIONES OCTALES Y HEXADECIMALES Entre las bases más importantes en com-
puter la ciencia es base 2, base 8, y base 16. Base 8 expansiones se apellidan base y expansiones
octales 16 expansiones son expansiones hexadecimales .
4.2 Representaciones de Entero y Algoritmos 247

EJEMPLO 2 Qué es la expansión decimal del número con expansión octal (7016)8?

Solución: Utilizando la definición de una base b expansión con b = 8 nos digo aquello
3 2
(7016)8 = 7 · 8 + 0 · 8 + 1 · 8 + 6 = 3598.


Dieciséis dígitos diferentes están requeridos para expansiones hexadecimales. Normalmente,
los dígitos hexadecimales utilizaron es 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, Un, B, C, D, E, y F, donde las
letras Un a través de F representar los dígitos que corresponden a los números 10 a través de 15
(en notación decimal).

EJEMPLO 3 Qué es la expansión decimal del número con expansión hexadecimal (2AE0B)16?

Solución: Utilizando la definición de una base b expansión con b = 16 nos digo aquello
4 3 2


(2AE0B)16 = 2 · 16 + 10 · 16 + 14 · 16 + 0 · 16 + 11 = 175627.

Cada dígito hexadecimal puede ser representado utilizando cuatro bits. Para caso, vemos
aquello
(1110 0101)2 = (E5)16 porque (1110)2 = (E)16 y ( 0101)2 = (5)16. Bytes, los cuales son
mordió cuerdas de longitud ocho, puede ser representado por dos dígitos hexadecimales.

CONVERSIÓN de BASE ahora describiremos un algoritmo para construir la base b expan-sion


de un entero n. Primero, divide n por b para obtener un cociente y resto, aquello es,

n = bq0 + un0, 0 ≤ un0 < b.

El resto, un0, es el rightmost dígito en la base b expansión de n . Luego, divide q0 por b para
obtener

q0 = bq1 + un1, 0 ≤ un1 < b.

Vemos que un1 es el segundo dígito del correcto en la base b expansión de n . Continuar
este proceso, sucesivamente dividiendo los cocientes por b, obteniendo base adicional b
dígitos como los restos. Este proceso rescinde cuándo obtenemos un cociente igual a cero.
Produce la base b dígitos de n del correctos a la izquierda.

EJEMPLO 4 Encuentra la expansión octal de ( 12345)10.

Solución: Primero, divide 12345 por 8 para obtener

12345 = 8 · 1543 + 1.

Sucesivamente dividiendo cocientes por 8 da

1543 = 8 · 192 + 7,
192 = 8 · 24 + 0,
24 = 8 · 3 + 0,
3 = 8 · 0 + 3.

Los restos sucesivos que hemos encontrado, 1, 7, 0, 0, y 3, es los dígitos del correctos a la
izquierda de 12345 en base 8. De ahí,

(12345)10 = (30071)8.
248 4 / Teoría de Número y Criptografía

EJEMPLO 5 Encuentra la expansión hexadecimal de (177130) 10.

Solución: Primero dividir 177130 por 16 para obtener

177130 = 16 · 11070 + 10.

Sucesivamente dividiendo cocientes por 16 da

11070 = 16 · 691 + 14,


691 = 16 · 43 + 3,
43 = 16 · 2 + 11,
2 = 16 · 0 + 2.

Los restos sucesivos que hemos encontrado, 10, 14, 3, 11, 2, darnos los dígitos del correctos a la
izquierda de 177130 en el hexadecimales (base 16) expansión de (177130) 10. Sigue aquello

(177130)10 = (2B3EA)16.

(Recuerda que los enteros 10, 11, y 14 corresponde a los dígitos hexadecimales Un, B, y E,
Respectivamente.) ▲

EJEMPLO 6 Encuentra la expansión binaria de ( 241)10.

Solución: Primero dividir 241 por 2 para obtener

241 = 2 · 120 + 1.

Sucesivamente dividiendo cocientes por 2 da

120 = 2 · 60 + 0,
60 = 2 · 30 + 0,
30 = 2 · 15 + 0,
15 = 2 · 7 + 1,
7 = 2 · 3 + 1,
3 = 2 · 1 + 1,
1 = 2 · 0 + 1.

Los restos sucesivos que hemos encontrado, 1, 0, 0, 0, 1, 1, 1, 1, es los dígitos del correctos a
la izquierda en el binarios (base 2) expansión de ( 241)10. De ahí,

(241)10 = (1111 0001)2.


El pseudocode dado en Algoritmo 1 encuentra la base b expansión


. . . Un1un0)b del
(unk−1 entero n.
4.2 Representaciones de Entero y Algoritmos 249

MESA 1 Hexadecimal, Octal, y Representación Binaria de los Enteros 0 a través de 15.


Decimal 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

Hexadecimal 0 1 2 3 4 5 6 7 8 9 Un B C D E F

Octal 0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17

Binario 0 1 10 11 100 101 110 111 1000 1001 1010 1011 1100 1101 1110 1111

ALGORITMO 1 Construyendo Base b Expansiones.

Base de procedimiento b expansión(n, b: enteros positivos con b > 1)


q := n
k := 0
Mientras q = 0
Unk := q mod b
q := q div b
k := k + 1
Regreso (unk−1, . . . , un1, un0) {(unk−1 . . . Un1un0)b es la base b expansión de n }

En Algoritmo 1, q representa el cociente obtenido por divisiones sucesivas por b, empezando con
q = n. Los dígitos en la base b la expansión es los restos de estas divisiones y está dado por
q mod b. El algoritmo rescinde cuándo un cociente q = 0 está logrado.

Comentario: Nota que Algoritmo 1 puede ser pensado de como algoritmo codicioso, cuando
la base b los dígitos están tomados como grandes como posibles en cada paso.

CONVERSIÓN ENTRE BINARIO, OCTAL, Y EXPANSIONES HEXADECIMALES


Conversión entre binario y octal y entre expansiones binarias y hexadecimales es ex-tremely
fáciles porque cada dígito octal corresponde a un bloque de tres dígitos binarios y cada dígito
hexadecimal corresponde a un bloque de cuatro dígitos binarios, con estas correspondencias
mostradas en Mesa 1 sin inicial 0s mostrado. ( Lo dejamos tan Ejercicios 13–16 para mostrar
que esto es el caso .) Esta conversión está ilustrada en Ejemplo 7.

EJEMPLO 7 Encuentra las expansiones octales y hexadecimales de (11 1110 1011 1100)2 y las
expansiones binarias de (765)8 y (Un8D)16.

Solución: para convertir (11 1110 1011 1100)2 a notación octal agrupamos el binarios cavar-
su a bloques de tres, añadiendo ceros iniciales en el inicio del leftmost bloque si es necesario.
Estos bloques, de izquierdos a correctos, es 011, 111, 010, 111, y 100, correspondiendo a 3,
7, 2, 7, y 4, respectivamente. Consiguientemente, (11 1110 1011 1100)2 = (37274)8. Para
convertir (11 1110 1011 1100)2 a notación hexadecimal agrupamos los dígitos binarios a
bloques de cuatro, añadiendo ceros iniciales en el inicio del leftmost bloque si es necesario.
Estos bloques, de izquierdos a correctos, es 0011, 1110, 1011, y 1100, correspondiendo a los
dígitos hexadecimales 3, E, B, y C, respectivamente. Consiguientemente, (11 1110 1011
1100)2 = (3EBC)16.
Para convertir (765)8 a notación binaria, reemplazamos cada dígito octal por un bloque de tres
dígitos binarios. Estos bloques son 111, 110, y 101. De ahí, (765)8 = (1 1111 0101)2. Para convertir
(Un8D)16 a notación binaria, reemplazamos cada dígito hexadecimal por un bloque de cuatro dígitos
binarios. Estos
Los bloques son 1010, 1000, y 1101. De ahí, (Un8D)16 = (1010 1000 1101)2. ▲
250 4 / Teoría de Número y Criptografía

Algoritmos para Operaciones de Entero


Los algoritmos para actuar operaciones con los enteros que utilizan sus expansiones binarias son
ex-tremely importantes en aritmética de ordenador. Describiremos algoritmos para la adición y la
multiplicación de dos enteros expresó en notación binaria. También analizaremos el compu-
tational complejidad de estos algoritmos, en plazos del número real de mordió las operaciones
utilizaron. Durante esta discusión, supone que las expansiones binarias de un y b es

Un = (unn−1unn−2 . . . Un1un0)2, b = (bn−1bn−2 . . . b1b0)2,

De modo que un y b cada cual tiene n bits (poniendo los bits iguales a 0 a principios de uno
de estas expansiones si es necesario).
Mediremos la complejidad de algoritmos para aritmética de entero en plazos del número
de bits en estos números.

ALGORITMO de ADICIÓN Considera el problema de añadir dos enteros en notación binaria. Un


procedimiento para actuar la adición puede ser basada en el método habitual para añadir números
con lápiz y papel. Este método procede por añadir pares de dígitos binarios junto con lleva,
cuándo ocurren, para computar la suma de dos enteros. Este procedimiento ahora será
especificado en detalle.

Para añadir un y b , primero añadir su rightmost bits. Esto da

Un0 + b0 = c0 · 2 + s0,

Dónde s0 es el rightmost mordió en la expansión binaria de un + b y c 0 es el llevar, el cual


es cualquiera 0 o 1. Entonces añadir el par próximo de bits y el llevar,

Un1 + b1 + c0 = c1 · 2 + s1,

Dónde s1 es el bit próximo (del correcto) en la expansión binaria de un + b, y c 1 es el llevar.


Continuar este proceso, añadiendo los bits correspondientes en las dos expansiones binarias y el
llevar, para determinar el luego mordió del correcto en la expansión binaria de un + b. En la
última etapa, añade
Unn−1, bn−1, y c n−2 para obtener cn−1 · 2 + sn−1. El bit principal de la suma es s n = cn−1.
Este procedimiento produce la expansión binaria de la suma, concretamente, un + b =
(snsn−1sn−2 . . . s1s0)2.

EJEMPLO 8 Añade un = (1110)2 y b = (1011)2.

Solución: Siguiendo el procedimiento especificado en el algoritmo, primera nota que

Un0 + b0 = 0 + 1 = 0 · 2 + 1,

De modo que c0 = 0 y s 0 = 1. Entonces, porque

Un1 + b1 + c0 = 1 + 1 + 0 = 1 · 2 + 0,

Sigue que c1 = 1 y s 1 = 0. Continuando,


Un2 + b2 + c1 = 1 + 0 + 1 = 1 · 2 + 0,
111 4.2 Representaciones de Entero y Algoritmos 251
1 11 0
+1011
De modo que c2 = 1 y s 2 = 0. Finalmente, porque
11001

FIGURA 1 Un3 + b3 + c2 = 1 + 1 + 1 = 1 · 2 + 1,
Añadiendo
(1110)2 Sigue que c3 = 1 y s 3 = 1. Esto significa que s4 = c3 = 1. Por tanto, s = un + b = (1 1001)2.
Y (1011)2. Esta adición está mostrada en Figura 1, dónde lleva está mostrado en azul. ▲

El algoritmo para adición puede ser descrito utilizando pseudocode como sigue.

ALGORITMO 2 Adición de Enteros.

El procedimiento añade(un, b: enteros positivos)


{Las expansiones binarias de un y b es (unn−1unn−2 . .
. Un1un0)2 y (b n−1bn−2 . . . b1b0)2,
respectivamente}
c := 0
Para j := 0 a n − 1
d := (Unj + bj + c)/2 sj
:= unj + bj + c − 2d c
:= d
sn := c
Regreso (s0, s1, . . . , sn) {la expansión binaria de la suma es (snsn−1 . . . s0)2}

Luego, el número de las adiciones de bits utilizaron por Algoritmo 2 será analizado.

EJEMPLO 9 Cuántas adiciones de bits están requeridas para utilizar Algoritmo 2 para añadir dos enteros
con n bits (o menos) en sus representaciones binarias?

Solución: Dos enteros están añadidos por sucesivamente añadiendo pares de bits y, cuándo
ocurre, un llevar. Añadiendo cada par de bits y el llevar requiere dos adiciones de bits. Así, el
número total de las adiciones de bits utilizaron es menos de dos veces el número de bits en la
expansión. De ahí, el número
De las adiciones de bits utilizaron por Algoritmo 2 para añadir dos n-mordió los enteros es
O(n). ▲

ALGORITMO de MULTIPLICACIÓN Luego, considerar la multiplicación de dos n-mordió


enteros un y b . El algoritmo convencional (utilizado cuándo multiplicando con lápiz y papel)
trabaja como sigue. Utilizando el distributive ley, vemos aquello

0 1 n−1
ab = Un(b02 + b12 + · · · + bn−12 )
0 1 n−1
= Un(b02 ) + un(b12 ) + · · · + un(bn−12 ).

Podemos computar ab utilizando esta ecuación. Primero notamos que abj = un si bj = 1 y


ab j = 0 si bj = 0. Cada vez multiplicamos un plazo por 2, cambiamos su expansión binaria
uno coloca a la izquierda y añadir un cero en el fin de cola de la expansión.
j
Consiguientemente, podemos obtener (abj )2 por cambiar la expansión binaria de ab j j
coloca a la izquierda, añadiendo j cero bits en el fin de cola de esta expansión binaria.
j
Finalmente, obtenemos ab por añadir el n enteros abj 2 , j = 0, 1, 2, . . . , n − 1.
Algoritmo 3 exhibiciones este procedimiento para multiplicación.
252 4 / Teoría de Número y Criptografía

ALGORITMO 3 Multiplicación de Enteros.

El procedimiento multiplica(un, b: enteros positivos)


{Las expansiones binarias de un y b es (unn−1unn−2 . . . Un1un0)2
Y (b n−1bn−2 . . . b1b0)2, respectivamente}
Para j := 0 a n − 1
Si bj = 1 entonces cj := un cambiado j sitios
Más cj := 0
{c0, c1, . . . , cn−1 es los productos parciales}
p := 0
Para j := 0 a n − 1
p := p + cj
Regreso p {p es el valor de ab }

Ejemplo 10 ilustra el uso de este algoritmo.


EJEMPLO 10 Encontrar el producto de un = (110)2 y b = (101)2.

Solución: Primera nota que


0 0
ab0 · 2 = (110)2 · 1 · 2 = (110)2,
1 1
110 ab1 · 2 = (110)2 · 0 · 2 = (0000)2,
× 101 Y
110
2 2
000 ab2 · 2 = (110)2 · 1 · 2 = (11000)2.
110
Para encontrar el producto, añade (110)2, (0000)2, y ( 11000)2. Llevando a cabo estas
11110 adiciones (nos-ing Algoritmo 2, incluyendo inicial cero bits cuándo necesarios) muestra que
FIGURA 2 ab = (1 1110)2. Esto
La multiplicación está mostrada en Figura 2. ▲
Multiplicando
(110)2 y (101)2.
Luego, determinamos el número de adiciones de los bits y los cambios de bits utilizaron
por Algoritmo 3 para multiplicar dos enteros.
EJEMPLO 11
Cuántas adiciones de los bits y los cambios de bits suelen multiplicar un y b utilizando
Algoritmo 3?

Solución: Algoritmo 3 computa los productos de un y b por añadir los productos parciales
c0, c1, c2, . . . , y c n−1. Cuándo bj = 1, computamos el producto parcial cj por cambiar la
expansión binaria de un por j bits. Cuándo bj = 0, ningún cambio está requerido porque cj =
j
0. De ahí, para encontrar todo n de los enteros abj 2 , j = 0, 1, . . . , n − 1, requiere como
máximo
0+1+2+···+n−1
2
Cambios. De ahí, por Ejemplo 5 en Sección 3.2 el número de cambios requirió es O(n ).
Para añadir los enteros abj de j = 0 a j = n − 1 requiere la adición de un n-mordió entero, Ejemplo 9 que cada cual
de estos
Un (n + 1)-mordió entero, . . . , y un (2n)-mordió entero. Sabemos de 2
Las adiciones requiere O(n) adiciones de bits. Consiguientemente, un ) Las adiciones de
total de O(n. bits son
Requerido para todo n adiciones.

Sorprendentem
ente, hay
algoritmos más
eficaces que el
algoritmo
convencional para
mul-tiplying
enteros. Uno tal
algoritmo, el cual
1.585
utiliza O(n )
mordió operaciones
para multiplicar n-
mordió números,
será descrito en
Sección 8.3.
4.2 Representaciones de Entero y Algoritmos 253

ALGORITMO PARA div Y mod enteros Dados un y d , d > 0, podemos encontrar q


=
a div d Y r = un mod d utilizando Algoritmo 4. En este brute-algoritmo de fuerza, cuándo
un es pos-itive restamos d de un tan muchas veces tan necesarios hasta qué queda es menos
de d . El número de tiempo actuamos esta sustracción es el cociente y qué queda encima
después de todo estas sustracciones es el resto . Algoritmo 4 también cubre el caso donde un
es negativo. Este algo-rithm encuentra el cociente q y resto r cuándo |un| está dividido por d .
Entonces, cuándo un < 0 y r > 0, utiliza estos para encontrar el cociente −(q + 1) y resto d
− r cuándo un está dividido por d . Lo dejamos al lector (Ejercicio 59) para mostrar que,
suponiendo que un > d, estos usos de algoritmo O(q registro un) mordió operaciones.

ALGORITMO 4 Informática div y mod.

Algoritmo de división del procedimiento(un: entero, d: entero positivo)


q := 0 r
:= |un|
Mientras r ≥ d
r := r − d
q := q + 1
Si un < 0 y r > 0 entonces
r := d − r
q := −(q + 1)
Regreso (q, r ) {q = un div d es el cociente, r = un mod d es el resto}

Hay algoritmos más eficaces que Algoritmo 4 para determinar el cociente q =


a div d Y el resto r = un mod d cuándo un entero positivo un está dividido por un entero positivo
d (ve [Kn98] para detalles). Estos algoritmos requieren O(registro un · registro d ) mordió
operaciones. Si ambos de las expansiones binarias de un y d contener n o menos bits, entonces
n 2 2
podemos reemplazar registro un · registro d por . Esto significa que necesitamos O(n )
mordió operaciones para encontrar el cociente y resto cuando
a Está dividido por d .

Modular Exponentiation
n
En criptografía es importante de ser capaz de encontrar b mod m efficiently, donde b, n, y m es
n
enteros grandes. Es poco práctico a primero computar b y entonces encontrar su resto cuándo
n
dividido por m porque b será un número enorme. En cambio, podemos utilizar un algoritmo
que emplea la expansión binaria del exponente n.
Antes de que presentamos este algoritmo, ilustramos su idea básica. Explicaremos
cómo para utilizar la expansión binaria de n , dice n = (unk−1 . . . Un1un0)2, para computar
n
b . Primero, nota que
n Un 2k−1 un 2 un un 2k−1 un 2 un
b =b k−1· +···+ 1· + 0 =b k−1· ··· b 1· · b 0 .

n 2 22 4 42
Esto muestra que para computar b , necesitamos sólo computar los valores de b , b , (b ) = b , (b )
8 2 2
= b , . . . , b k . Una vez tenemos estos valores, multiplicamos los plazos b j en esta lista, donde un j
= 1. (Para eficacia, después de multiplicar por cada plazo, reducimos el resultado modulo m.) Esto nos
doy b n 11 11
. Por ejemplo, para computar 3 primero notamos que 11 = (1011)2, de modo que 3 =
8 2 1
3 3 3 . Por sucesivamente
2 4 2 8 2
Cuadrando, encontramos que 3 = 9, 3 = 9 = 81, y 3 = (81) = 6561. Consiguientemente,
11 8 2 1
3 = 3 3 3 = 6561 · 9 · 3 = 177,147.
254 4 / Teoría de Número y Criptografía

2 4 2k−1
El algoritmo sucesivamente encuentra b mod m, b mod m, b mod m, . . . , b
2
mod m y multiplica junto aquellos denomina b j mod m donde un j = 1, encontrando el resto
del producto cuándo dividido por m después de cada multiplicación. Pseudocode Para este
Ser seguro para
algoritmo está mostrado en Algoritmo 5. Nota que en Algoritmo 5 podemos utilizar el
reducir algoritmo más eficaz disponible de computar valores del mod función, no necesariamente
modulo m Después Algoritmo 4.
de que cada cual
Multiplicación!

ALGORITMO 5 Modular Exponentiation.

El procedimiento modular exponentiation(b: entero, n = (unk−1unk−2 . . . Un1un0)2,


m: Enteros positivos)
x := 1
Poder := b mod m
Para i := 0 a k − 1
Si uni = 1 entonces x := (x · poder) mod m
Poder := (poder · poder) mod m
n
Regreso x{x equals b mod m}

Ilustramos qué Algoritmo 5 trabajos en Ejemplo 12.

EJEMPLO 12 Algoritmo de Uso 5 para encontrar 3644 mod 645.


Solución: Algoritmo 5 inicialmente pone x = 1 y poder = 3 mod 645 = 3. En la computación
644 2
de 3 mod 645, este algoritmo determina 3 j mod 645 para j = 1, 2, . . . , 9 por
sucesivamente cuadrando y reduciendo modulo 645. Si unj = 1 (dónde un j es el bit en el j th
posición en el
2
Expansión binaria de 644, el cual es (1010000100)2), multiplica el valor actual de x por 3 j
mod 645 y reduce el resultado modulo 645. Aquí es los pasos utilizaron:

2
i = 0: Porque un0 = 0, hemos x = 1 y poder = 3 mod 645 = 9 mod 645 = 9;
2
i = 1: Porque un1 = 0, hemos x = 1 y poder = 9 mod 645 = 81 mod 645 = 81;
2
i = 2: Porque un2 = 1, hemos x = 1 · 81 mod 645 = 81 y poder = 81 mod 645 = 6561 mod 645 = 111;
2
i = 3: Porque un3 = 0, hemos x = 81 y poder = 111 mod 645 = 12,321 mod 645 = 66;
2
i = 4: Porque un4 = 0, hemos x = 81 y poder = 66 mod 645 = 4356 mod 645 = 486;
2
i = 5: Porque un5 = 0, hemos x = 81 y poder = 486 mod 645 = 236,196 mod 645 = 126;
2
i = 6: Porque un6 = 0, hemos x = 81 y poder = 126 mod 645 = 15,876 mod 645 = 396;
2
i = 7: Porque un7 = 1, encontramos que x = (81 · 396) mod 645 = 471 y poder = 396 mod 645 =
156,816 mod 645 = 81;
2
i = 8: Porque un8 = 0, hemos x = 471 y poder = 81 mod 645 = 6561 mod 645 = 111;
i = 9: Porque un9 = 1, encontramos que x = (471 · 111) mod 645 = 36.

644
Esto muestra que siguiendo los pasos de Algoritmo 5 productos el resultado 3 mod 645 = 36.

2
Algoritmo 5 es bastante eficaz; utiliza O((registro m) registro n) mordió operaciones para
n
encontrar b mod m (ve Ejercicio 58).
4.2 Representaciones de Entero y Algoritmos 255

Ejercicios
15. Espectáculo que la expansión octal de un entero positivo
1. Convertir la expansión decimal de cada de estos enteros puede ser obtenida de su expansión binaria por agrupar
a una expansión binaria. bloques juntos de tres dígitos binarios, añadiendo ceros
iniciales si nec-
Un) 231 b) 4532 c)
97644
2. Convertir la expansión decimal de cada de estos enteros
a una expansión binaria.
Un) 321 b) 1023 c)
100632
3. Convertir la expansión binaria de cada de estos enteros
a una expansión decimal.
U
n) (1 1111)2 b) (10 0000 0001)2
c) (1 0101 0101)2 d) (110 1001 0001 0000)2
4. Convertir la expansión binaria de cada de estos enteros
a una expansión decimal.
U
n) (1 1011)2 b) (10 1011 0101)2
c) (11 1011 1110)2 d) (111 1100 0001 1111)2
5. Convertir la expansión octal de cada de estos enteros a
una expansión binaria.
U
n) (572)8 b) (1604)8
c) (423)8 d) (2417)8
6. Convertir la expansión binaria de cada de estos enteros
a una expansión octal.
a) (1111 0111)2
b) (1010 1010 1010)2
c) (111 0111 0111 0111)2
d) (101 0101 0101 0101)2
7. Convertir la expansión hexadecimal de cada de estos
en-tegers a una expansión binaria.
U
n) (80E)16 b) (135AB)16
c) (ABBA)16 d) (DEFACED)16
8. Convierte (BADFACED)16 de su hexadecimal expan-sion
a su expansión binaria.
9. Convierte (ABCDEF)16 de su expansión hexadecimal a
su expansión binaria.
10. Convierte cada cual de los enteros en Ejercicio 6 de una
expansión binaria a una expansión hexadecimal.
11. Convierte (1011 0111 1011)2 de su expansión binaria a
su expansión hexadecimal.
12. Convierte (1 1000 0110 0011)2 de su expansión binaria
a su expansión hexadecimal.
13. Espectáculo que la expansión hexadecimal de un entero
positivo puede ser obtenida de su expansión binaria por
agrupar a-gether bloques de cuatro dígitos binarios,
añadiendo ceros iniciales si es necesario, y traduciendo
cada bloque de cuatro dígitos binarios a un dígito
hexadecimal solo.
14. Espectáculo que la expansión binaria de un entero
positivo puede ser obtenida de su expansión
hexadecimal por translat-ing cada cual dígito
hexadecimal a un bloque de cuatro dígitos binarios.
essary, y traduciendo cada bloque de tres dígitos
binarios a un dígito octal solo.
16. Espectáculo que la expansión binaria de un entero
positivo puede ser obtenida de su expansión octal por
traducir cada dígito octal a un bloque de tres dígitos
binarios.
17. Convierte (7345321)8 a su expansión binaria y (10 1011
1011)2 a su expansión octal.
18. Dar un procedimiento para convertir del hexadecimal
ex-pansion de un entero a su expansión octal que utiliza
notación binaria como un paso intermedio.
19. Dar un procedimiento para convertir de la expansión
octal de un entero a su expansión hexadecimal que
utiliza notación binaria como un paso intermedio.
20. Explicar cómo para convertir de binario de basar 64
expan-sions y de base 64 expansiones a expansiones
binarias y de octales de basar 64 expansiones y de base
64 expansiones a expansiones octales.
21. Encontrar la suma y el producto de cada de estos pares
de números. Expresar vuestras respuestas como
expansión binaria.
a) (100 0111)2, (111 0111)2
b) (1110 1111)2, (1011 1101)2
c) (10 1010 1010)2, (1 1111 0000)2
d) (10 0000 0001)2, (11 1111 1111)2
22. Encontrar la suma y producto de cada de estos pares de
num-bers. Expresar vuestras respuestas como base 3
expansión.
a) (112)3, (210)3
b) (2112)3, (12021)3
c) (20001)3, (1111)3
d) (120021)3, (2002)3
23. Encontrar la suma y producto de cada de estos pares de
num-bers. Expresar vuestras respuestas como una
expansión octal.
a) (763)8, (147)8
b) (6001)8, (272)8
c) (1111)8, (777)8
d) (54321)8, (3456)8
24. Encontrar la suma y producto de cada de estos pares de
num-bers. Expresar vuestras respuestas como
hexadecimales expan-sion.
a) (1AE)16, (BBC)16
b) (20CBA)16, (Un01)16
c) (ABCDE)16, (1111)16
d) (E0000E)16, (BAAA)16
644
25. Algoritmo de uso 5 para encontrar 7 mod 645.
644
26. Algoritmo de uso 5 para encontrar 11 mod 645.
2003
27. Algoritmo de uso 5 para encontrar 3 mod 99.
1001
28. Algoritmo de uso 5 para encontrar 123 mod 101.
29. Espectáculo que cada entero positivo puede ser
representado singularmente como la suma de poderes
distintos de 2. [Pista: Con-sider expansiones binarias de
enteros.]
256 4 / Teoría de Número y Criptografía 39. Espectáculo que el entero m con uno es
complementa
Representación (unn−1unn−2 . . . Un1un0) puede ser
−1
30. Pueda ser mostrado que cada entero puede ser encontrado nos-ing la ecuación m = −unn−1(2n − 1) +
singularmente repre-sented en la forma n−2
unn−22 +
k k−1
ek 3 + ek−13 + · · · + e1 3 + e0 , · · · + Un1 · 2 + un0.
Dos es complementar las representaciones de enteros son
Dónde ej = −1, 0, o 1 para j = 0, 1, 2, . . . , k. Expan- también utilizados para simplificar aritmética de ordenador y
sions De este tipo se apellida equilibrado ternario está utilizado más generalmente
expan-sions. Encontrar las expansiones ternarias
equilibradas de
Un) 5.b) 13.c) 37.d) 79.
31. Espectáculo que un entero positivo es divisible por 3 si
y sólo si la suma de sus dígitos decimales es divisible
por 3.
32. Espectáculo que un entero positivo es divisible por 11
si y sólo si la diferencia de la suma de sus dígitos
decimales en incluso-numeró posiciones y la suma de
sus dígitos decimales en extraños-numeró las
posiciones es divisible por 11.
33. Espectáculo que un entero positivo es divisible por 3 si
y sólo si la diferencia de la suma de sus dígitos binarios
en incluso-numeró posiciones y la suma de sus dígitos
binarios en extraños-numeró las posiciones es divisible
por 3.
Uno es complementar las representaciones de enteros
suelen simplifica aritmética de ordenador. Para representar
positivo y nega-tive enteros con valor absoluto menos de
n−1
2 , un total de n los bits está utilizado. El leftmost el bit
suele representar la señal. Un 0 mordió en esta posición está
utilizada para enteros positivos, y un 1 mordió en esta
posición está utilizada para enteros negativos. Para enteros
positivos, los bits restantes son idénticos a la expansión
binaria del entero. Para enteros negativos, los bits restantes
están obtenidos por primer hallazgo la expansión binaria del
valor absoluto del entero, y entonces tomando el
complementar de cada de estos bits, donde el complementar
de un 1 es un 0 y el complementar de un 0 es un 1 .
34. Encuentra el es complementar representaciones,
utilizando mordió cuerdas de longitud seis, de los
enteros siguientes.
Un) 22 b) 31 c) −7
d) −19
35. Qué entero cada cual del siguiente uno es comple-ment
representaciones de longitud cinco representa?
U
n) 11001 b) 01101
c) 10001 d) 11111
n−1
36. Si m es un entero positivo menos de 2 , cómo es el
es complementa representación de − m obtenido del es
complementar de m , cuando mordió cuerdas de
longitud n está utilizado?
37. Cómo es el es complementa representación de la suma
de dos enteros obtuvo del es complementa rep-
resentations de estos enteros?
38. Cómo es el es complementa representación del diferir-
ence de dos enteros obtuvieron del es complementar
representaciones de estos enteros?
Que uno es complementar representaciones. Para 52. Multiplica (1110)2 y ( 1010)2 por laborable a través de
n−1 n−1
representar un inte-ger x con −2 ≤x≤2 − 1 para cada paso del algoritmo para la multiplicación dada en el
un entero positivo especificado n, un total de n los bits está texto.
utilizado. El leftmost el bit suele representar la señal. Un 0 53. Describir un algoritmo para encontrar la diferencia de
mordió en esta posición está utilizada para enteros dos expansiones binarias.
positivos, y un 1 mordió en esta posición está utilizada para
negativo inte-gers, tan en uno es complementar 54. Estimación el número de mordió las operaciones
expansiones. Para un entero positivo, los bits restantes son utilizaron para restar dos expansiones binarias.
idénticos al binarios expan-sion del entero. Para un entero
negativo, los bits restantes son los bits de la expansión
n−1
binaria de 2 − |x|. Dos com-plement las expansiones de
enteros son a menudo utilizados por ordenadores porque la
adición y la sustracción de enteros pueden ser actuadas
fácilmente utilizando estas expansiones, donde estos enteros
pueden ser ei-ther positivos o negativos.
40. Ejercicio de respuesta 34, pero estos tiempos
encuentran el dos comple-ment la expansión que
utiliza mordió cuerdas de longitud seis.
41. Ejercicio de respuesta 35 si cada expansión es una dos
comple-ment expansión de longitud cinco.
42. Ejercicio de respuesta 36 para dos es complementar
expansiones.
43. Ejercicio de respuesta 37 para dos es complementar
expansiones.
44. Ejercicio de respuesta 38 para dos es complementar
expansiones.
45. Espectáculo que el entero m con dos es complementa
representación (unn−1unn−2 . . . Un1un0) puede ser
n−1
encontrado nos-ing la ecuación m = −unn−1 · 2 +
n−2
unn−22 + · · · + un1 · 2 + un0.
46. Dar un algoritmo sencillo para formar el dos comple-
ment representación de un entero de su un comple-
ment representación.
47. A veces los enteros están codificados por utilizar cuatro-
dígito bi-nary expansiones para representar cada dígito
decimal. Este pro-duces el binario coded forma decimal
del entero. Para caso, 791 está codificado de este modo por
011110010001. Cuántos bits están requeridos para
representar un número con n los dígitos decimales que
utilizan este tipo de codificar?
Un Cantor expansión es una suma de la forma

Unnn! + Unn−1(n − 1)! + · · · + Un22! + Un11!,

Dónde un i es un entero con 0 ≤ uni ≤ i para i = 1, 2, . . . ,


n.
48. Encontrar el Cantor expansiones de
U
n) 2. b) 7.
c) 19. d) 87.
e) 1000. f ) 1,000,000.
∗ 49. Describir un algoritmo que encuentra el Cantor expansión de
un entero.
∗ 50. Describir un algoritmo para añadir dos enteros de su Puede-tor
expansiones.
51. Añade (10111)2 y ( 11010)2 por laborable a través de
cada paso del algoritmo para la adición dada en el
texto.
55. Ingeniar un algoritmo que, dado las expansiones 4.3 Albores y más Grandes Comunes Divisors 257
binarias de los enteros un y b , determina si un > b, un
= b, o un <b .
57. Estimación la complejidad de Algoritmo 1 para
56. Cuántas operaciones de bit hace la comparación algo- encontrar la base b expansión de un entero n en plazos
rithm de Ejercicio 55 uso cuándo el más grande de un del número de divisiones utilizó.
∗ 58. Espectáculo que Algoritmo 5 usos O((registro m)2 registro n)
y b tiene n bits en su expansión binaria?
mordió ópera-tions para encontrar bn mod m.
59. Espectáculo que Algoritmo 4 usos O(q registro un)
mordió operaciones, suponiendo que un > d.

4.3 Albores y más Grandes Comunes Divisors


Introducción
En Sección 4.1 estudiamos el concepto de divisibility de enteros. Uno el concepto importante
basado en divisibility es que de un número primo. Un albor es un entero más grande que 1
aquello es divisible por ningún entero positivo otro que 1 y él. El estudio de números primos
vuelve a tiempo antiguo. Miles de hace años sea sabido que hay infinitamente muchos
albores; la prueba de este hecho, encontrado en los trabajos de Euclides, es famoso para su
elegancia y belleza.
Hablaremos la distribución de albores entre los enteros. Describiremos algunos de los
resultados sobre los albores encontrados por matemáticos en los últimos 400 años. En
particular, introduciremos un teorema importante, el teorema fundamental de aritmética. Este
teorema, el cual afirma que cada entero positivo puede ser escrito singularmente como el
producto de albores en nondecreasing orden, tiene muchos consecuencias interesantes.
También hablaremos algunos de las muchas conjeturas viejas sobre albores que queda
unsettled hoy.
Los albores han devenido esenciales en modernos cryptographic sistemas, y desarrollaremos
algunos de sus propiedades importantes en criptografía. Por ejemplo, encontrando los albores
grandes es esenciales en criptografía moderna. La longitud de cronometrar requerido a factor los
enteros grandes a sus factores primos es la base para la fuerza de algún importante moderno
cryptographic sistemas.
En esta sección también estudiaremos el más grandes comunes divisor de dos enteros, así
como el múltiplo menos común de dos enteros. Desarrollaremos un algoritmo importante
para computar más grande común divisors, llamó el algoritmo euclidiano.

Albores
Cada entero más grande que 1 es divisible por al menos dos enteros, porque un entero
positivo es divisible por 1 y por él. Enteros positivos que tiene exactamente dos entero
positivo diferente los factores se apellidan albores.

DEFINICIÓN 1 Un entero p más grande que 1 se apellida primo si los factores positivos únicos de p es 1 y
p.
Un entero positivo que es más grande que 1 y no es primo se apellida composite.

Comentario: El entero n es composite si y sólo si allí existe un entero un tal que un | n y 1 <
un < n.

EJEMPLO 1 El entero 7 es primo porque sus factores positivos únicos son 1 y 7, mientras que el entero 9
es
composite Porque es divisible por 3. ▲
Los albores son los bloques de edificio de enteros positivos, cuando el teorema
fundamental de espectáculos de aritmética. La prueba será dada en Sección 5.2.
258 4 / Teoría de Número y Criptografía

TEOREMA 1 EL TEOREMA FUNDAMENTAL DE ARITMÉTICA Cada entero más grande que 1


puede ser escrito singularmente como primo o cuando el producto de dos o más albores
donde los factores primos están escritos por orden de nondecreasing medida.

Ejemplo 2 da algunos factorizaciones primas de enteros.

EJEMPLO 2 Las factorizaciones primas de 100, 641, 999, y 1024 está dado por


2 2
100 = 2 · 2 · 5 · 5 = 2 5 ,
641 = 641,
3
999 = 3 · 3 · 3 · 37 = 3 · 37,
10
1024 = 2 · 2 · 2 · 2 · 2 · 2 · 2 · 2 · 2 · 2 = 2 .

División de prueba
Es a menudo importante de mostrar que un entero dado es primo. Para caso, en cryptology,
los albores grandes están utilizados en algunos métodos para hacer secreto de mensajes. Un
procedimiento para mostrar que un entero es primo está basado en la observación siguiente.


TEOREMA 2 Si n es un composite entero, entonces n tiene un primo divisor menos de o igual a n.

Prueba: Si n es composite, por la definición de un composite entero, sabemos que tiene un


factor
a Con 1 < un < n. De ahí, por la definición de un factor de un entero positivo, hemos n = ab,
√ √√ ≤ n O b ≤ n. Si un > n y

√√√√√
· n = n, El cual es una contradicción . Consiguientemente, un ≤ n o b ≤
Dóndebisapositiveintegergreaterthan1.WewillshowthatUn
√n. >b n,entoncesab>n
Porque ambos un y b es divisors de n , vemos que n tiene un positivo divisor no superando
n.
Este divisor es cualquier primo o, por el teorema fundamental de aritmética, tiene un primo divisor

Menos de él. En cualquier caso, n tiene un primo divisor menos de o igual a n.

De Teorema 2, sigue que un entero es primo si no es divisible por cualquier primo


menos
Que o igual a su raíz cuadrada. Estas ventajas al brute-algoritmo de fuerza sabido cuando división de prueba.

Para utilizar división de prueba dividimos n por todos los albores no superando n y concluir
que n es primo si no es divisible por cualquier de estos albores. En Ejemplo 3 utilizamos
división de prueba para mostrar que 101 es primo.

EJEMPLO 3 Espectáculo que 101 es primo.



Solución: Los albores únicos no superando 101 es 2, 3, 5, y 7. Porque 101 no es divisible por 2, 3,
5, o 7 (el cociente de 101 y cada cual de estos enteros no es un entero), sigue aquello
101 es primo. ▲
Porque cada entero tiene una factorización prima, sea útil de tener un procedimiento para
encontrar esta factorización prima. Considerar el problema de encontrar la factorización prima de
n . Empieza por dividir n por albores sucesivos, empezando con el albor más pequeño, 2. Si n
tiene un albor

Factor, entonces por Teorema 3 un factor primo p no superando n será encontrado.
Tan, si ningún albor
4.3 Albores y más Grandes Comunes Divisors
259


Factor no superando n está encontrado, entonces n es primo. Otherwise, si un factor primo p está
encontrado, continúa por factoring n/p. Nota que n/p tiene no factores primos menos de p . Otra


vez, si n/p tiene no el factor primo más grande que o igual a p y no superando su raíz cuadrada,
entonces es primo. Otherwise, si tiene un factor primo q, continúa por factoring n/(pq). Este
procedimiento está continuado hasta la factorización ha sido reducida a un albor. Este
procedimiento está ilustrado en Ejemplo 4.
EJEMPLO 4 Encuentra la factorización prima de 7007.

Solución: para encontrar la factorización prima de 7007, primero actuar divisiones de 7007
por succes-sive albores, empezando con 2. Ninguno de los albores 2, 3, y 5 divide 7007. Aun
así, 7 di-vides 7007, con 7007/7 = 1001. Luego, divide 1001 por albores sucesivos,
empezando con 7. Es inmediatamente visto que 7 también divide 1001, porque 1001/7 = 143.
Continúa por divid-ing 143 por albores sucesivos, empezando con 7. A pesar de que 7 no
divide 143, 11 divide 143, y 143/11 = 13. Porque 13 es primo, el procedimiento está
completado. Sigue aquello
13. Consiguientemente, la factorización prima de
7 7 143 7 7 11 7007
7007 = 7 · 1001 = 2· · = · · ·
Es 7 · 7 · 11 · 13 = 7 · 11 · 13.
Los números primos estuvieron estudiados en tiempo antiguo para razones filosóficas.
Hoy, hay altamente razones prácticas para su estudio. En particular, los albores grandes
juegan una función crucial en cryp-tography, cuando veremos en Sección 4.6.

El Tamiz de Eratóstenes
Nota que composite enteros no superando 100 tiene que tener un factor primo no superando
10. Porque los albores únicos menos de 10 es 2, 3, 5, y 7, los albores no superando 100 es
estos cuatro albores y aquellos enteros positivos más grandes que 1 y no superando 100
aquello es divisible por ninguno de 2, 3, 5, o 7.

El tamiz de Eratóstenes suele encontrar todo prepara no superando un entero positivo


especificado. Para caso, el procedimiento siguiente suele encontrar los albores no superando 100.
Empezamos con la lista de todos los enteros entre 1 y 100. Para empezar el proceso de cribar, los
enteros que es divisible por 2, otro que 2, está eliminado. Porque 3 es el primer entero más grande
que 2 aquello queda, todos aquellos enteros divisible por 3, otro que 3, está eliminado. Porque 5 es
el entero próximo dejó después 3, aquellos enteros divisible por 5, otro que 5, está eliminado. El
entero próximo a la izquierda es 7, así que aquellos enteros divisible por 7, otro que 7, está
eliminado. Porque todo composite enteros no superando 100 es divisible por 2, 3, 5, o 7, todo los
enteros restantes exceptúan 1 es primo. En Mesa 1, los tableros muestran aquellos enteros
eliminaron en cada etapa, donde cada entero divisible por 2, otro que 2, está subrayado en el
primer tablero, cada entero divisible por 3, otro que 3, está subrayado en el segundo tablero, cada
entero divisible por 5, otro que 5, está subrayado en el tercer tablero, y cada entero divisible por 7,
otro que 7, está subrayado en el cuarto tablero. Los enteros no subrayados es los albores no
superando 100. Concluimos que los albores menos de 100 es 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31,
37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, y 97.

EL INFINITUDE DE ALBORES mucho tiempo ha sido sabido que hay infinitamente muchos
albores. Esto significa que siempre que p1, p2, . . . , pn es el n albores más pequeños, sabemos hay
un más grandes

ERATÓSTENES (276 B.C.E.–194 B.C.E.) Es sabido que Eratóstenes nació en Cyrene, un oeste de colonia
griego de Egipto, y el tiempo gastado que estudia en la academia de Platón en Atenas. También sabemos que
King Tolomeo II invitó Eratóstenes a Alexandria a tutor su hijo y que Eratóstenes más tardío devenía
bibliotecario de jefe en la biblioteca famosa en Alexandria, un repositorio central de cordura antigua.
Eratóstenes era un becario extremadamente versátil , escribiendo en matemáticas, geografía, astronomía,
historia, filosofía, y crítica literaria. Además su trabajo en matemáticas, es más notado para su cronología de
historia antigua y para su medida famosa de la medida de la tierra.
260 4 / Teoría de Número y Criptografía

MESA 1 El Tamiz de Eratóstenes.


Enteros divisible por 2 otro que 2 Enteros divisible por 3 otro que 3
Recibir un subrayar. Recibir un subrayar.

1 2 3 4 5 6 7 8 9 10 1 2 3 4 5 6 7 8 9 10
11 12 13 14 15 16 17 18 19 20 11 12 13 14 15 16 17 18 19 20
21 22 23 24 25 26 27 28 29 30 21 22 23 24 25 26 27 28 29 30
31 32 33 34 35 36 37 38 39 40 31 32 33 34 35 36 37 38 39 40
41 42 43 44 45 46 47 48 49 50 41 42 43 44 45 46 47 48 49 50
51 52 53 54 55 56 57 58 59 60 51 52 53 54 55 56 57 58 59 60
61 62 63 64 65 66 67 68 69 70 61 62 63 64 65 66 67 68 69 70
71 72 73 74 75 76 77 78 79 80 71 72 73 74 75 76 77 78 79 80
81 82 83 84 85 86 87 88 89 90 81 82 83 84 85 86 87 88 89 90
91 92 93 94 95 96 97 98 99 100 91 92 93 94 95 96 97 98 99 100

Enteros divisible por 5 otro que 5 Enteros divisible por 7 otro que 7 recibe
Un subrayar; los enteros en color son
Recibir un subrayar. primos.

1 2 3 4 5 6 7 8 9 10 1 2 3 4 5 6 7 8 9 10
11 12 13 14 15 16 17 18 19 20 11 12 13 14 15 16 17 18 19 20
21 22 23 24 25 26 27 28 29 30 21 22 23 24 25 26 27 28 29 30
31 32 33 34 35 36 37 38 39 40 31 32 33 34 35 36 37 38 39 40
41 42 43 44 45 46 47 48 49 50 41 42 43 44 45 46 47 48 49 50
51 52 53 54 55 56 57 58 59 60 51 52 53 54 55 56 57 58 59 60
61 62 63 64 65 66 67 68 69 70 61 62 63 64 65 66 67 68 69 70
71 72 73 74 75 76 77 78 79 80 71 72 73 74 75 76 77 78 79 80
81 82 83 84 85 86 87 88 89 90 81 82 83 84 85 86 87 88 89 90
91 92 93 94 95 96 97 98 99 100 91 92 93 94 95 96 97 98 99 100

Prepara no listado. Probaremos este hecho que utiliza una prueba dada por Euclides en su
texto de matemática famoso, Los Elementos. Este sencillo, todavía elegante, la prueba está
considerada por muchos matemáticos para ser entre las pruebas más bonitas en matemáticas.
Es la primera prueba presentado en las Pruebas de libro del LIBRO[AiZi10], donde EL
LIBRO refiere a la colección imaginada de pruebas perfectas que el matemático famoso Paul
Erd˝os reclamó está mantenido por Dios. Por cierto, hay un número vasto de pruebas
diferentes que hay un infinitude de albores, y nuevos unos están publicados
sorprendentemente frecuentemente.

TEOREMA 3 hay infinitamente muchos albores.

Prueba: probaremos este teorema que utiliza una prueba por contradicción. Suponemos que
hay sólo finitely muchos albores, p1, p2, . . . , pn. Dejado

Q = p1p2 · · · pn + 1.
Por el teorema fundamental de aritmética, Q es primo o más pueda ser escrito como el producto
de dos o más albores. Aun así, ninguno de los albores pj divide Q, para si p j | Q, entonces pj
divide
4.3 Albores y más Grandes Comunes Divisors
261

Q − p1p2 · · · pn = 1. De ahí, hay un primo no en la lista p1, p2, . . . , pn. Este albor es
cualquier Q, si es primo, o un factor primo de Q . Esto es una contradicción porque
supusimos que hemos listado todos los albores. Consiguientemente, hay infinitamente
muchos albores.

Comentario: Nota que en esta prueba no declaramos que Q es primo! Además, en esta
prueba, hemos dado un nonconstructive prueba de existencia que dado cualquier n albores,
hay un primos no en esta lista. Para esta prueba para ser constructiva, tendríamos tuvo que
explícitamente dar un primo no en nuestra lista original de n albores.

Porque hay infinitamente muchos albores, dados cualquier entero positivo allí es prepara
más grande que este entero. Hay una búsqueda actual para descubrir más grande y números
primos más grandes; para casi todo los últimos 300 años, el más grandes primos sabidos ha
p n
sido un entero de la forma especial 2 − 1, donde p es también primo. (Nota que 2 − 1 no
puede ser primo cuándo n no es primo; ve Ejercicio 9.) Tales albores se apellidan Mersenne
albores, después del monje francés Marin Mersenne, quién les estudió en el decimoséptimo
siglo. La razón que el albor sabido más grande normalmente ha sido un Mersenne el albor es
que hay una prueba extremadamente eficaz, sabido como el Lucas–Lehmer prueba, para
p
determinar si 2 − 1 es primo. Además, no es actualmente posible a la prueba numera no de
este o seguro otras formas especiales anywhere acercarse tan deprisa para determinar si son
primos.


EJEMPLO 5 El 11 − = 3− = 5− = 7 − =
Números 22 1 3, 2 1 7, 2 1 31 y 2 1 127 es Mersenne albores,
Mientras 2 − 1 = 2047 no es un Mersenne albor porque 2047 = 23 · 89.
Progreso en encontrar Mersenne los albores ha sido firmes desde los ordenadores
estuvieron inventados. Cuando de temprano 2011, 47 Mersenne los albores eran sabidos, con
16 encontrados desde entonces 1990. El más grande Mersenne primo sabido (otra vez tan de
43,112 ,609
temprano 2011) es 2 − 1, un número con casi 13 millones de dígitos decimales, el
cual estuvo mostrado para ser primo en 2008. Un esfuerzo comunal, el Internet Grande
Mersenne Búsqueda Prima (GIMPS), está dedicado al buscar nuevo Mersenne albores.
Puedes unir esta búsqueda, y si eres afortunado, encontrar un nuevo Mersenne albor y
posiblemente incluso ganar un premio de dinero efectivo. Por cierto, incluso el buscar
Mersenne los albores tiene implicaciones prácticas. Un control de calidad prueba para
supercomputers ha sido a replicate el Lucas–Lehmer prueba que establece el primality de un
grande Mersenne albor. (Ve [Ro10] para más información sobre la búsqueda para encontrar
Mersenne albores.)

LA DISTRIBUCIÓN DE Teorema de ALBORES 3 nos digo que hay infinitamente muchos


albores. Aun así, cuántos prepara es menos de un número positivo x? Esta cuestión interesó
mathe-maticians desde hace muchos años; en el decimoctavo siglo tardío, los matemáticos
produjeron mesas grandes

MARIN MERSENNE (1588–1648) Mersenne nació en Maine, Francia, a una familia de peones y atendió la
Universidad de Mans y el Jesuit Universidad en La Flèche. Continúe su educación en el Sor-bonne, estudiando
teología de 1609 a 1611. Una el orden religioso del Minims en 1611, un grupo cuyo nombre proviene la palabra
minimi (los miembros de este grupo eran extremadamente humildes; ellos consid-ered ellos el menos de todos los
órdenes religiosos). Además oración, los miembros de este grupo dedicaron su energía a beca y estudio. En 1612
devenga un sacerdote en el Sitio Royale en París; entre 1614 y 1618 enseñe filosofía en el Minim Convento en
Nevers. Regrese a París en 1619, donde su célula en el Minims de l'Annociade devenía un sitio para reuniones de
científicos franceses, filósofos, y mathe-maticians, incluyendo Fermat y Pascal. Mersenne Correspondió
extensamente con becarios por todas partes Europa,
Sirviendo como clearinghouse para conocimiento matemático y científico, una función más tarde servida por revistas
matemáticas (y hoy también por el Internet). Mersenne Escribió libros cubriendo mecánica, física matemática, matemática,
música, y acústica. Estudie números primos y probó unsuccessfully para construir una fórmula que representa todos los albores.
p
En 1644 Mersenne reclamó que 2 − 1 es primo para p = 2, 3, 5, 7, 13, 17, 19, 31, 67, 127, 257 pero es composite para todos
otros albores menos de 257. Tome encima 300 años para determinar que Mersenne la reclamación era incorrecta cinco tiempo.
p
Específicamente, 2 − 1 no es preparar para p = 67 y p = 257 pero es primo para p = 61, p = 87, y p = 107. Es también digno de
mención que Mersenne defendió dos de los hombres más famosos de su tiempo, Descartes y Galileo, de críticos religiosos. Él
también ayudado exponer alquimistas y astrologers como fraudes.
262 4 / Teoría de Número y Criptografía

De números primos para reunir evidencia respecto de la distribución de albores. Utilizando


esta evidencia, los matemáticos grandes del día, incluyendo Gauss y Legendre, conjectured,
pero no probó, Teorema 4.

TEOREMA 4 EL TEOREMA de NÚMERO PRIMO La proporción del número de albores no


superando
x Y x/ ln x se acerca 1 cuando x crece sin ató. (Aquí ln x es el natural logarithm de x .)

El teorema de número primo era primero probado en 1896 por el matemático francés Jacques
Hadamard y el matemático belga Charles-Jean-Gustave-Nicholas de la Vallée-Poussin utilizando
la teoría de variables complejas. A pesar de que pruebas no utilizando las variables complejas han
sido encontradas, todo las pruebas sabidas del teorema de número primo son bastante
complicadas.
Podemos utilizar el teorema de número primo para estimar el odds que un número
aleatoriamente escogido es primo. El teorema de número primo nos digo que el número de albores
no superando x puede ser aproximado por x/ ln x. Consiguientemente, el odds que un entero
positivo aleatoriamente seleccionado menos de n es primo es aproximadamente (n/ ln n)/n = 1/ ln
n. A veces necesitamos encontrar un albor con un número particular de dígitos. Nos gustaría una
estimación de cuántos enteros con un número particular de dígitos necesitamos seleccionar antes
de que encontramos un albor. Utilizando el albor
Teorema de número y cálculo, pueda ser mostrado que la probabilidad que un entero n es
primo es también aproximadamente 1/ ln n. Por ejemplo, el odds que un entero cercano
1000
10 es primo es
1000
Aproximadamente 1/ ln 10 , el cual es aproximadamente 1/2300. (Naturalmente, por
escoger números extraños únicos, plegamos nuestras posibilidades de encontrar un albor.)
Utilizando división de prueba con Teorema 2 da procedimientos para factoring y para
primality testaje. Aun así, estos procedimientos no son algoritmos eficaces; muchos mucho más
algoritmos prácticos y eficaces para estas tareas han sido desarrollados. Factoring Y primality el
testaje ha devenido importante en las aplicaciones de teoría de número a criptografía. Esto ha
dirigido a un interés grande en algoritmos eficaces en desarrollo para ambas tareas. Clever
procedimientos ha sido ingeniado en los últimos 30 años para efficiently generando albores
grandes. Además, en 2002, un descubrimiento teórico importante estuvo hecho por Manindra
Agrawal, Neeraj Kayal, y Nitin Saxena. Mostraron hay un algoritmo de tiempo polinómico en el
número de bits en la expansión binaria de un entero para determinar si un entero positivo es
6
primo. Los algoritmos basaron en su uso de trabajo O((registro n) ) mordió operaciones para
determinar si un entero positivo n es primo.
Aun así, incluso aun así métodos de factorización nuevos potentes han sido desarrollados
en el mismo marco de tiempo, factoring los números grandes queda extraordinariamente más
que consumen tiempo que primality testaje. Ningún algoritmo de tiempo polinómico para
factoring los enteros es sabidos. No obstante, el reto de factoring los números grandes
interesa muchas personas. Hay un esfuerzo comunal en el Internet a factor números grandes,
n
especialmente aquellos de la forma especial k ± 1, donde k es un entero positivo pequeño y
n es un entero positivo grande (tales números se apellidan Cunningham números). En
cualquier tiempo dado, hay una lista de los “Diez números grandes” Más Queridos de este
tipo que aguarda factorización.

ALBORES Y PROGRESIONES de ARITMÉTICA Cada entero extraño es en uno de las dos


progresiones de aritmética 4k + 1 o 4k + 3, k = 1, 2, . . .. Porque sabemos que hay infinitamente
muchos albores, podemos preguntar si hay infinitamente muchos albores en ambos de estas
progresiones de aritmética. Los albores 5, 13, 17, 29, 37, 41, . . . Es en la progresión de aritmética
4k + 1; los albores 3, 7, 11, 19, 23, 31, 43, . . . Es en la progresión de aritmética 4k + 3. Mirando
en la evidencia da a entender que puede haber infinitamente muchos albores en ambas
progresiones. Qué sobre otras progresiones de aritmética ak + b, k = 1, 2, . . ., donde ningún
entero más grande que uno divide ambos un y b ? Contienen infinitamente muchos albores? La
respuesta estuvo proporcionada por el G de matemático alemán. Lejeune Dirichlet, quién probó
que cada tal progresión de aritmética contiene infinitamente muchos albores. Su prueba, y todas
las pruebas encontradas más tarde, es allende el alcance de este libro.
4.3 Albores y más Grandes Comunes Divisors 263

Aun así, es posible de probar casos especiales de Dirichlet el teorema que utiliza las ideas
desarrollaron en este libro. Por ejemplo, Ejercita 54 y 55 pide pruebas que hay infinitamente
muchos albores en las progresiones de aritmética 3k + 2 y 4k + 3, donde k es un entero
positivo. (La pista para cada de estos ejercicios suministra la idea básica necesitada para la
prueba.)
Hemos explicado que cada progresión de aritmética ak + b, k = 1, 2, . . ., donde un y b
tiene no el factor común más grande que uno, contiene infinitamente muchos albores. Pero es
allí progresiones de aritmética larga hicieron de albores justos? Por ejemplo, alguna
exploración muestra que 5, 11, 17, 23, 29 es una progresión de aritmética de cinco albores y
199, 409, 619, 829, 1039, 1249, 1459, 1669, 1879, 2089 es una progresión de aritmética de
diez albores. En el 1930s, el matemático famoso Paul Erd˝os conjectured que para cada
entero positivo n más grande que dos, hay una progresión de aritmética de longitud n hizo
enteramente de albores. En 2006, Ben Verde y Terence Tao era capaz de probar esta
conjetura. Su prueba, considerado para ser una visita matemática de fuerza, es un
nonconstructive prueba que combina ideas potentes de varios adelantó áreas de matemáticas.

Conjeturas y Problemas Abiertos Sobre Albores


Teoría de número está notada como subject para qué es fácil de formular conjeturas, algunos
de los cuales son difíciles de probar y otros aquello quedó problemas abiertos desde hace
muchos años. Describiremos algunas conjeturas en teoría de número y hablar su estado en
Ejemplos 6–9.

EJEMPLO 6 Lo sería útil de tener una función f (n) tal que f (n) es primo para todos los enteros positivos n. Si
nosotros
Tenido tal función, podríamos encontrar albores grandes para uso en criptografía y otras
aplicaciones. Buscando tal función, podríamos comprobar funciones polinómicas diferentes,
cuando algunos matemáticos hicieron varios años de centenar hace. Después de que mucha
2
computación podemos encontrar el polinómicos f (n) = n − n + 41. Este polinomio tiene la
propiedad interesante que f (n) es primo para todos los enteros positivos n no superando 40. [
Hemos f (1) = 41, f (2) = 43, f (3) = 47, f (4) = 53, y tan encima.] Esto nos puede dirigir a la
conjetura que f (n) es primo para todos los enteros positivos n. Puede resolvemos esta
conjetura?

Solución: Quizás no sorprendentemente, esta conjetura resulta para ser falso; no tenemos que
2
mirar lejos para encontrar un entero positivo n para qué f (n) es composite, porque f (41) = 41 −
2 2
41 + 41 = 41 . Porque f (n) = n − n + 41 es primo para todos los enteros positivos n con 1 ≤ n ≤
40, podemos

TERENCE TAO (NACIDO 1975) Tao nació en Australia. Su padre es un pediatra y su madre matemática
enseñada en un Hong Kong escuela secundaria. Tao Era un niño prodigy, enseñanza él aritmética en la edad
de dos. En 10, devenga el más joven contestant en el Internacional Matemático Olympiad (IMO); gane un
IMO medalla de oro en 13. Tao Recibió su bachelors y grados de maestros cuándo sea 17, y empezó
estudios de licenciado en Princeton, recibiendo su Ph.D. En tres años. En 1996 devenga un miembro de
facultad en UCLA, donde continúa trabajar.
Tao Es extremadamente versátil; disfruta trabajar en problemas en áreas diversas, incluyendo
armónicos analy-sis, ecuaciones diferenciales parciales, teoría de número, y combinatoria. Puedes seguir su
trabajo por leer su blog donde habla progreso en varios problemas. Su la mayoría de resultado famoso es el
Verde-Tao teorema,
Cuál dice que hay arbitrariamente progresiones de aritmética larga de albores. Tao Ha hecho contribuciones importantes a las
aplicaciones de matemáticas, como en desarrollo un método para reconstruir las imágenes digitales que utilizan la cantidad
menos posible de información. Tao Tiene una reputación asombrosa entre matemáticos; ha devenido un Señor Fija-Él para
investigadores en matemáticas. El matemático bien sabido Charles Fefferman, él un niño prodigy, ha dicho que “si estás
enganchado en un problema, entonces una manera fuera es para interesar Terence Tao.” En 2006 Tao estuvo otorgado una
Medalla de Campos, la mayoría de premio prestigioso para matemáticos bajo la edad de 40. Sea también otorgó un MacArthur
Camaradería en 2006, y en 2008, reciba el Allan T. Waterman Premio, el cual vino con un $500,000 premio de dinero efectivo
para apoyar trabajo de búsqueda de científicos temprano en su carrera. Tao mujer Laura es una ingeniera en el Laboratorio de
Propulsión del Jet.
264 4 / Teoría de Número y Criptografía

Ser tentado para encontrar un polinomio diferente con la propiedad que f (n) es primo para
todos los enteros positivos n. Aun así, hay no tal polinomio. Pueda ser mostrado que para
cada polinómico f (n) con coeficientes de entero, hay un entero positivo y tal que f (y) es
composite. (Ve


Ejercicio 23 en los Ejercicios Suplementarios.)

Muchos problemas famosos sobre los albores todavía aguardan resolución definitiva por
personas listas. Describimos unos cuantos del más accesibles y mejores sabidos de estos
problemas abiertos en Ejemplos 7–9. Teoría de número está notada para su riqueza de fácil-a-
entender conjeturas que resiste ataque por todo pero la mayoría de técnicas sofisticadas, o
sencillamente resistir todos los ataques. Presentamos estas conjeturas para mostrar que
muchos cuestiona aquello parece relativamente sencillo queda unsettled incluso en el veinte-
primer siglo.

EJEMPLO la conjetura de 7 Goldbach En 1742, Goldbach cristiano, en una letra a Leonhard Euler,
conjec-tured que cada entero extraño n, n > 5, es la suma de tres albores. Euler respondió que esta
conjetura es equivalente a la conjetura que cada incluso entero n, n > 2, es la suma de dos albores
(ve Ejercicio 21 en los Ejercicios Suplementarios). La conjetura que cada incluso entero n, n > 2,
es la suma de dos albores es Goldbach llamada ahora conjetura. Podemos comprobar esta
conjetura para pequeño incluso números. Por ejemplo, 4 = 2 + 2, 6 = 3 + 3, 8 = 5 + 3, 10 = 7 + 3,
12 = 7 + 5,
Y tan encima. La conjetura de Goldbach estuvo verificada a mano cálculos para números hasta el
mil-
Leones con anterioridad al advenimiento de ordenadores. Con ordenadores pueda ser
comprobado para extremadamente grande
Números. Cuando de mid 2011, la conjetura ha sido comprobada para todo positivo incluso
18
enteros hasta 1.6 · 10 .
A pesar de que ninguna prueba de la conjetura de Goldbach ha sido encontrada, más los
matemáticos creen que es cierto. Varios teoremas han sido probados, utilizando complicó métodos
de teoría de número analítico lejos allende el alcance de este libro, estableciendo los resultados
más débiles que la conjetura de Goldbach. Entre estos es el resultado que cada incluso el entero
más grande que 2 es la suma de como máximo seis albores (probados en 1995 por O. Ramaré) Y
que cada entero positivo suficientemente grande es la suma de un primo y un número que es
cualquier primo o el producto de dos albores (probados en 1966 por J. R.
Chen). Quizás la conjetura de Goldbach será resuelta en el no futuro demasiado distante. ▲

EJEMPLO 8 hay muchas conjeturas afirmando que hay infinitamente muchos albores de formas especiales
2
seguras. Una conjetura de esta clase es la conjetura que hay infinitamente muchos albores de la forma n + 1,
2 2 2
donde n es un entero positivo. Por ejemplo, 5 = 2 + 1, 17 = 4 + 1, 37 = 6 + 1, y Tan encima. El
2
resultado mejor actualmente sabido es que hay infinitamente muchos enteros positivos n tal aquel n + 1 es
primo o el producto de como máximo dos albores (probados por Henryk Iwaniec en 1973 utilizando adelantó
técnicas de teoría de número analítico, lejos allende el alcance de este libro).▲

EJEMPLO 9 El Gemelo albores de Gemelo de Conjetura Primos son pares de albores que difiere por 2,
como 3 y 5, 5 y 7, 11 y 13, 17 y 19, y 4967 y 4969. El gemelo la conjetura prima afirma aquello hay
infinitamente muchos albores de gemelo. El resultado más fuerte probó preocuparse albores de gemelo es que
hay infinitamente muchos pares p y p + 2, donde p es primo y p + 2 es primo o el
Producto de dos albores (probados por J. R. Chen En 1966). El registro del mundo para albores de
333,333
gemelo, cuando de mid 2011, consta de los números 65,516,468,355 · 2 ± 1, los cuales
tienen 100,355 decimal
Dígitos. ▲
GOLDBACH CRISTIANO (1690–1764) Goldbach cristiano nació en Königsberg, Prussia, la ciudad notada para su problema de
puente famoso (cuál será estudiado en Sección 10.5). Devenga profesor de matemáticas en la Academia en San Petersburgo en
1725. En 1728 Goldbach fue a Moscú a tutor el hijo del Tsar. Introduzca el mundo de políticas cuándo, en 1742, devenga un
miembro de personal en el Ministerio ruso de Asuntos Exteriores. Goldbach es más sabido para su correspondencia con
matemáticos eminentes, incluyendo Euler y Bernoulli, para sus conjeturas famosas en teoría de número, y para varias
contribuciones a análisis.
4.3 Albores y más Grandes Comunes Divisors 265

Más grande Común Divisors y Menos Múltiplos Comunes


El entero más grande que divide ambos de dos enteros se apellida el más grandes comunes
divisor de estos enteros.

DEFINICIÓN 2 Dejado un y b ser enteros, no ambos cero. El entero más grande d tal que d | un y d | b se
apellida el más grande común divisor de un y b . El más grande común divisor de un y b
está denotado por gcd(un, b).

El más grande común divisor de dos enteros, no ambos cero, existe porque el conjunto de
común divisors de estos enteros es nonempty y finitos. Una manera para encontrar el más
grande común divisor de dos enteros es para encontrar todo el positivo común divisors de
ambos enteros y entonces tomar el más grande divisor. Esto está hecho en Ejemplos 10 y 11.
Más tarde, un método más eficaz de encontrar más grande común divisors será dado.

EJEMPLO 10 Qué es el más grande común divisor de 24 y 36?

Solución: El positivo común divisors de 24 y 36 es 1, 2, 3, 4, 6, y 12. De ahí,


gcd(24, 36) = 12. ▲

EJEMPLO 11 Qué es el más grande común divisor de 17 y 22?

Solución: Los enteros 17 y 22 tiene no positivo común divisors otro que 1, de modo que
gcd(17, 22) = 1. ▲

Porque es a menudo importante de especificar que dos enteros tienen no comunes


positivos divisor otro que 1, tenemos Definición 3.

DEFINICIÓN 3 Los enteros un y b es relativamente primo si su más grande común divisor es 1.

EJEMPLO 12 Por Ejemplo 11 sigue que los enteros 17 y 22 es relativamente primo, porque
gcd(17, 22) = 1. ▲

Porque a menudo necesitamos especificar que ninguno dos enteros en un conjunto de


enteros tiene un común positivo divisor más grande que 1, hacemos Definición 4.

DEFINICIÓN 4 Los enteros un1, un2, . . . , unn es pairwise relativamente primo si gcd(uni , unj ) = 1 siempre
que 1 ≤
i < j ≤ n.

EJEMPLO 13 Determina si los enteros 10, 17, y 21 es pairwise relativamente primo y si los enteros 10, 19,
y 24 es pairwise relativamente primo.

Solución: Porque gcd(10, 17) = 1, gcd(10, 21) = 1, y gcd(17, 21) = 1, concluimos que 10,
17, y 21 es pairwise relativamente primo.
Porque gcd(10, 24) = 2 > 1, vemos que 10, 19, y 24 no es pairwise relativamente
Primo. ▲
266 4 / Teoría de Número y Criptografía

Otra manera de encontrar el más grande común divisor de dos enteros positivos es para
utilizar las factorizaciones primas de estos enteros. Supone que las factorizaciones primas de
los enteros positivos un y b es

un1 un2 unn b1 b2 bn


Un = p1 p2 · · · pn , b = p1 p2 · · · pn ,

Dónde cada exponente es un nonnegative entero, y donde todos los albores que ocurren en la
factorización prima de cualquier un o b está incluido en ambas factorizaciones, con cero
exponentes si es necesario. Entonces gcd(un, b) está dado por
min(un , b ) min(un , b ) min(un , b )
gcd(Un, b) = p1 1 1 p2 2 2 · · · pn n n ,
Dónde min(x, y) representa el mínimo de los dos números x y y. Para mostrar que esta fórmula
para gcd(un, b) es válido, tenemos que mostrar que el entero en el lado derecho divide ambos un
y b , y que no el entero más grande también hace. Este entero divide ambos un y b , porque el
poder de cada albor en la factorización no supera el poder de este albor en cualquier la
factorización de un o que de b . Más allá, ningún entero más grande puede dividir ambos un y b ,
porque los exponentes de los albores en esta factorización no puede ser aumentada, y no otros
albores pueden ser incluidos.
3 2 3
EJEMPLO 14 Porque las factorizaciones primas de 120 y 500 es 120 = 2 · 3 · 5 y 500 = 2 · 5 , el más
grande común divisor es

gcd(120, 500) = 2min(3, 2)3min(1, 0)5min(1, 3) = 223051 = 20.


Las factorizaciones primas también pueden soler encontrar el múltiplo menos común de
dos enteros.

DEFINICIÓN 5 El múltiplo menos común de los enteros positivos un y b es el entero positivo más pequeño que
es divisible por ambos un y b . El múltiplo menos común de un y b está denotado por lcm(un, b).

El múltiplo menos común existe porque el conjunto de enteros divisible por ambos un y b es
nonempty (como ab pertenece a este conjunto, para caso), y cada nonempty el conjunto de
enteros positivos tiene un menos elemento (por la propiedad que ordena bien, el cual será
hablado en Sección 5.2). Supone que las factorizaciones primas de un y b es tan antes.
Entonces el múltiplo menos común de un y b está dado por

max(un , b ) max(un , b ) max(un , b )


lcm(Un, b) = p1 1 1 p2 2 2 · · · pn n n ,
Dónde max(x, y) denota el máximo de los dos números x y y. Esta fórmula es válida porque un
múltiplo común de un y b ha al menos max(uni , bi ) factores de p i en su factorización prima, y
el múltiplo menos común tiene no otros factores primos además aquellos en un y b .

EJEMPLO 15 Qué es el múltiplo menos común de 233572 y 2433?


Solución: tenemos

lcm(233572, 2433) = 2max(3, 4)3max(5, 3)7max(2, 0) = 243572.


Teorema 5 da la relación entre el más grande común divisor y menos múltiplo común de
dos enteros. Pueda ser probado utilizando el formulae hemos derivado para estas cantidades.
La prueba de este teorema queda tan Ejercicio 31.
4.3 Albores y más Grandes Comunes Divisors 267

TEOREMA 5 Dejado un y b ser enteros positivos. Entonces

ab = gcd(Un, b) · lcm(un, b).

El Algoritmo euclidiano
Computando el más grande común divisor de dos enteros directamente de las factorizaciones
primas de estos enteros es inefficient. La razón es que es que consume tiempo para encontrar
primo factoriza-tions. Daremos un método más eficaz de encontrar el más grande común
divisor, llamó el algoritmo euclidiano. Este algoritmo ha sido sabido desde tiempo antiguo.
Está nombrado después del matemático griego antiguo Euclides, quién incluido una
descripción de este algoritmo en su libro Los Elementos.
Antes de describir el algoritmo euclidiano, mostraremos cómo suele encuentra gcd(91,
287). Primero, divide 287, el más grande de los dos enteros, por 91, el más pequeños, para
obtener

287 = 91 · 3 + 14.

Cualquier divisor de 91 y 287 mosto también ser un divisor de 287 − 91 · 3 = 14. También,
cualquier divisor de 91 y 14 mosto también ser un divisor de 287 = 91 · 3 + 14. De ahí, el
más grande común divisor de 91 y 287 es igual como el más grande común divisor de 91 y
14. Esto significa que el problema de encontrar gcd(91, 287) ha sido reducido al problema de
encontrar gcd(91, 14).
Luego, divide 91 por 14 para obtener

91 = 14 · 6 + 7.

Porque cualquier común divisor de 91 y 14 también divide 91 − 14 · 6 = 7 y cualquier común


divisor de 14 y 7 divide 91, sigue que gcd(91, 14) = gcd(14, 7).
Continúa por dividir 14 por 7, para obtener

14 = 7 · 2.

Porque 7 divide 14, sigue que gcd(14, 7) = 7. Además, porque gcd(287, 91) = gcd(91, 14) =
gcd(14, 7) = 7, el problema original ha sido solucionado.
Ahora describimos cómo los trabajos de algoritmo euclidianos en generalidad.
Utilizaremos divisiones sucesivas para reducir el problema de encontrar el más grande común
divisor de dos enteros positivos al mismo problema con enteros más pequeños, hasta que uno
de los enteros es cero.
El algoritmo euclidiano está basado en el resultado siguiente sobre más grande común
divisors y el algoritmo de división.

EUCLIDES (325 B.C.E.– 265 B.C.E.) Euclides era el autor de la matemática más exitosa el libro nunca
escrito, Los Elementos, el cual apareció en encima 1000 ediciones diferentes de antiguos a tiempo moderno.
Poco es sabido aproximadamente la vida de Euclides, otro que que enseñe en la academia famosa en
Alexandria en Egipto. Aparentemente, Euclides no acentuó aplicaciones. Cuándo un estudiante preguntó qué
consiga por aprender geometría, Euclides explicó que el conocimiento valió adquiriendo para su bien propio
y dijo su criado para dar el estudiantil una moneda “porque tenga que hacer un beneficio de qué aprende.”
268 4 / Teoría de Número y Criptografía

LEMA 1 Dejado un = bq + r, donde un, b, q, y r es enteros. Entonces gcd(un, b) = gcd(b, r ).

Prueba: Si podemos mostrar que el comunes divisors de un y b es igual como el común


divisors de b y r , habremos mostrado que gcd(un, b) = gcd(b, r ), porque ambos pares
tienen que tener el mismo más grandes comunes divisor.
Así que supone que d divide ambos un y b . Entonces sigue que d también divide un −
bq = r (de Teorema 1 de Sección 4.1). De ahí, cualquier común divisor de un y b es
también un común divisor de b y r .
Así mismo, supone que d divide ambos b y r . Entonces d también divide bq + r = un.
De ahí, cualquier común divisor de b y r es también un común divisor de un y b .
Consiguientemente, gcd(un, b) = gcd(b, r ).

Supone que un y b es enteros positivos con un ≥ b. Dejado r0 = un y r 1 = b. Cuándo


sucesivamente aplicamos el algoritmo de división, obtenemos

r0 = r1q1 + r2 0 ≤ r2 < r1,


r1 = r2q2 + r3 0 ≤ r3 < r2,
·
·
·
r r q r
0 ≤ rn < rn−1,
n−2 = n−1 n−1 + n
r = rnqn.
n−1

Finalmente un resto de cero ocurre en esta secuencia de divisiones sucesivas, porque la


secuencia de restos un = r0 > r1 > r2 > · · · ≥ 0 no puede contener más de unos plazos. Piel-
thermore, sigue de Lema 1 aquello

gcd(Un, b) = gcd(r0, r1) = gcd(r1, r2) = · · · = gcd(rn−2, rn−1)

= gcd(rn−1, rn) = gcd(rn, 0) = rn.

De ahí, el más grande común divisor es el último nonzero resto en la secuencia de divisiones.

EJEMPLO 16 Encuentra el más grande común divisor de 414 y 662 utilizando el algoritmo euclidiano.

Solución: los usos Sucesivos del algoritmo de división dan:

662 = 414 · 1 + 248


414 = 248 · 1 + 166
248 = 166 · 1 + 82
166 = 82 · 2 + 2
82 = 2 · 41.

De ahí, gcd(414, 662) = 2, porque 2 es el último nonzero resto.

El algoritmo euclidiano está expresado en pseudocode en Algoritmo 1.


4.3 Albores y más Grandes Comunes Divisors 269

ALGORITMO 1 El Algoritmo euclidiano.

Procedimiento gcd(un, b: enteros positivos)


x := Un
y := b
Mientras y = 0
r := x mod
y x := y
y := r
Regreso x{gcd(un, b) es x}

En Algoritmo 1, los valores iniciales de x y y es un y b , respectivamente. En cada etapa del


procedimiento, x está reemplazado por y, y y está reemplazado por x mod y, el cual es el
resto cuándo x está dividido por y. Este proceso está repetido mientras y = 0. El algoritmo
rescinde cuándo y = 0, y el valor de x en aquel punto, el último nonzero resto en el
procedimiento, es el más grande común divisor de un y b .
Estudiaremos la complejidad de tiempo del algoritmo euclidiano en Sección 5.3, donde
mostraremos que el número de divisiones requirió para encontrar el más grande común
divisor de un y b , donde un ≥ b, es O (registro b).

gcds Como Combinaciones Lineales


Un resultado importante utilizaremos durante el resto de esta sección es que el más grande
común divisor de dos enteros un y b puede ser expresado en la forma

sa + t b,

Dónde s y t es enteros. En otras palabras,, gcd(un, b) puede ser expresado como


combinación lineal con coeficientes de entero de un y b . Por ejemplo, gcd(6, 14) = 2, y 2 =
(−2) · 6 + 1 · 14. Declaramos este hecho cuando Teorema 6.

TEOREMA 6 BÉZOUT TEOREMA Si un y b es enteros positivos, entonces allí existir enteros s y t


tal que gcd(un, b) = sa + t b.

ÉTIENNE BÉZOUT (1730–1783) Bézout nació en Nemours, Francia, donde su padre era un magistrado .
Leyendo las escrituras del matemático grande Leonhard Euler enticed le para devenir un matemático. En
1758 esté nombrado a una posición en el Académie des Ciencias en París; en 1763 esté nombrado
examinador del Gardes de la Marine, donde esté asignado la tarea de escribir matemática textbooks. Esta
asignación dirigió a un cuatro-volumen textbook completó en 1767. Bézout Es bien sabido para su seis-el
volumen comprensible textbook en matemáticas. Su textbooks era extremadamente popular y estuvo
estudiado por muchas generaciones de estudiantes esperando introducir el École Polytechnique, la ingeniería
famosa y escuela de ciencia. Sus libros estuvieron traducidos a ingleses y utilizados en América del Norte,
incluyendo en Harvard.
Su la mayoría de trabajo original importante estuvo publicado en 1779 en el libro Théorie générale des
équations algébriques, donde introduzca métodos importantes para solucionar ecuaciones polinómicas simultáneas en muchos
unknowns. El más resultado bien sabido en este libro es ahora llamado Bézout teorema, el cual en su forma general nos digo que el
número de puntos comunes encima dos avión curvas algebraicas equals el producto de los grados de estas curvas. Bézout Es también
abonado con inventar el determinante (cuál se apellidó el Bézoutian por el matemático inglés grande James Joseph Sylvester). Esté
considerado para ser una persona amable con un corazón tibio, a pesar de que tenga un reservado y somber personalidad. Sea
afortunadamente casado y un padre.
270 4 / Teoría de Número y Criptografía

DEFINICIÓN 6 Si un y b es enteros positivos, entonces enteros s y t tal que gcd(un, b) = sa + t b se


apellida Bézout coeficientes de un y b (después de que Étienne Bézout, un matemático
francés del decimoctavo siglo). También, la ecuación gcd(un, b) = sa + t b se apellida
Bézout identidad.

No daremos una prueba formal de Teorema 6 aquí (ve Ejercicio 36 en Sección 5.2 y [Ro10]
para pruebas). Proporcionaremos un ejemplo de un método general que puede soler
encontrar una combinación lineal de dos enteros iguales a su más grandes comunes divisor.
(En esta sección, supondremos que una combinación lineal tiene coeficientes de entero.) El
método procede por laborable backward a través de las divisiones del algoritmo euclidiano,
así que este método requiere un pase de delantero y un backward pase a través de los pasos
del algoritmo euclidiano. (En los ejercicios describiremos un algoritmo llamó el algoritmo
euclidiano extendido, los cuales pueden soler expresar gcd(un, b) como combinación lineal
de un y b utilizando un pase solo a través de los pasos del algoritmo euclidiano; ver el
preámbulo para Ejercitar 41.)
EJEMPLO 17 Expresa gcd(252, 198) = 18 como combinación lineal de 252 y 198.

Solución: para mostrar que gcd(252, 198) = 18, el algoritmo euclidiano utiliza estas
divisiones:

252 = 1 · 198 + 54
198 = 3 · 54 + 36
54 = 1 · 36 + 18
36 = 2 · 18.

Utilizando el próximo-a-última división (la tercera división), podemos expresar gcd(252,


198) = 18 como combinación lineal de 54 y 36. Encontramos aquello

18 = 54 − 1 · 36.

La segunda división nos digo aquello

36 = 198 − 3 · 54.

Sustituyendo esta expresión para 36 a la ecuación anterior, podemos expresar 18 como


combinación lineal de 54 y 198. Tenemos

18 = 54 − 1 · 36 = 54 − 1 · (198 − 3 · 54) = 4 · 54 − 1 · 198.

La primera división nos digo aquello

54 = 252 − 1 · 198.

Sustituyendo esta expresión para 54 a la ecuación anterior, podemos expresar 18 como


combinación lineal de 252 y 198. Concluimos aquello

18 = 4 · (252 − 1 · 198) − 1 · 198 = 4 · 252 − 5 · 198,


Completando la solución.

Utilizaremos Teorema 6 para desarrollar varios resultados útiles. Uno de nuestros


objetivos será para probar la parte del teorema fundamental de la aritmética que afirma que
un entero positivo ha como máximo uno factorización prima. Mostraremos que si un entero
positivo tiene una factorización a albores, donde los albores están escritos en nondecreasing
orden, entonces esta factorización es única.
4.3 Albores y más Grandes Comunes Divisors
271

Primero, necesitamos desarrollar algunos resultados sobre divisibility.

LEMA 2 Si un, b, y c es enteros positivos tal que gcd(un, b) = 1 y un | bc, entonces un | c.

Prueba: Porque gcd(un, b) = 1, por Bézout el teorema allí es enteros s y t tal aquello

sa + t b = 1.

Multiplicando ambos lados de esta ecuación por c , obtenemos

Saco + t bc = c.

Podemos ahora Teorema de uso 1 de Sección 4.1 para mostrar que un | c. Por parte (ii ) de aquel
teorema, un | t bc.
Porque un | saco y un | t bc, por parte (i ) de aquel teorema, concluimos que un divide saco + t
bc.
Porque saco + t bc = c, concluimos que un | c, completando la prueba.

Utilizaremos la generalización siguiente de Lema 2 en la prueba de unicidad de


factorizaciones primas. (La prueba de Lema 3 queda tan Ejercicio 64 en Sección 5.1, porque
pueda ser más fácilmente llevó a cabo utilizar el método de inducción matemática, cubierto
en aquella sección.)

LEMA 3 Si p es un primo y p | un1un2 · · · unn, donde cada cual uni es un entero, entonces p | uni para
algún i.

Ahora podemos mostrar que una factorización de un entero a albores es único. Aquello
es, mostraremos que cada entero puede ser escrito como el producto de albores en
nondecreasing orden en como máximo una manera. Esto es parte del teorema fundamental
de aritmética. Probaremos la otra parte, que cada entero tiene una factorización a albores, en
Sección 5.2.

Prueba (de la unicidad de la factorización prima de un entero positivo): utilizaremos una prueba
por contradicción. Supone que el entero positivo n puede ser escrito como el producto de albores
en dos maneras diferentes, dice, n = p1p2 · · · ps y n = q1q2 · · · qt , cada pi y q j es prepara tal
Aquel p1 ≤ p2 ≤ · · · ≤ ps y q 1 ≤ q2 ≤ · · · ≤ qt .
Cuándo sacamos todos los albores comunes de las dos factorizaciones,
p p q q q ,
hemos p i1 i2 · ·· iu = j1 j2 · ·· jv

Dónde ningún albor ocurre en ambos lados de esta ecuación y u y v es enteros positivos.
Por Lema 3 sigue que pi1 divide qjk para algún k. Porque ningún albor divide otro albor,
esto es imposible. Consiguientemente, puede haber como máximo una factorización de n a
albores en nondecreasing orden.

Lema 2 también puede soler probar un resultado aproximadamente dividiendo ambos


lados de una congruencia por el mismo entero. Hemos mostrado (Teorema 5 en Sección 4.1)
que podemos multiplicar ambos lados de una congruencia por el mismo entero. Aun así,
dividiendo ambos lados de una congruencia por un entero no siempre produce una
congruencia válida, cuando Ejemplo 18 espectáculos.

EJEMPLO 18 La congruencia 14 ≡ 8 (mod 6) controles, pero ambos lados de esta congruencia no puede ser
dividida por 2
Para producir una congruencia válida porque 14/2 = 7 y 8/2 = 4, pero 7 ≡ 4 (mod 6). ▲
272 4 / Teoría de Número y Criptografía

A pesar de que no podemos dividir ambos lados de una congruencia por cualquier entero
para producir una congruencia válida, podemos si este entero es relativamente primo al
modulus. Teorema 7 establece este hecho importante. Utilizamos Lema 2 en la prueba.

TEOREMA 7 Dejado m ser un entero positivo y dejar un, b, y c ser enteros. Si ac ≡ bc (mod m) y
gcd(c, m) = 1, entonces un ≡ b (mod m).

Prueba: Porque ac ≡ bc (mod m), m | ac − bc = c(un − b). Por Lema 2, porque gcd(c, m) =
1, sigue que m | un − b. Concluimos que un ≡ b (mod m).

Ejercicios
con-secutive los enteros que empiezan con (n + 1)! +
2.]
1. Determinar si cada cual de estos enteros es primo. ∗ 13. Prueba o disprove que hay tres enteros positivos
U
n) 21 b) 29 extraños consecutivos que es albores, aquello es,
c) 71 d) 97 albores extraños de la forma p, p + 2, y p + 4.
e) 111 f ) 143
2. Determinar si cada cual de estos enteros es primo.
U
n) 19 b) 27
c) 93 d) 101
e) 107 f ) 113
3. Encontrar la factorización prima de cada de estos
enteros.
U
n) 88 b) 126 c) 729
d) 1001 e) 1111 f ) 909,090
4. Encontrar la factorización prima de cada de estos
enteros.
U
n) 39 b) 81 c) 101
d) 143 e) 289 f ) 899
5. Encontrar la factorización prima de 10!.
∗ 6. Cuántos ceros son allí al final de 100!?
7. Expresa en pseudocode el algoritmo de división de la
prueba para determinar si un entero es primo.
8. Expresa en pseudocode el algoritmo descrito en el texto
para encontrar la factorización prima de un entero.
xk(t −2) 9. Espectáculo que si un m + 1 es composite
Es si un y m es los enteros más grandes que 1 y m
extraño.] es extraño. [Pista: Espectáculo que x + 1 es un
factor del polinomio x m + 1 si m es extraño.]
m
10. Espectáculo que si 2 + 1 es un albor extraño, entonces m
n
= 2 para algún nonnegative entero n. [Pista: Primer
espectáculo que la identidad polinómica x m + 1 = (x k +
k(t −1)
1)(x −
+ · · · − x k + 1) controles, donde m = kt y t.
∗ 11. Espectáculo que registro2 3 es un número irracional. Recuerda
que un ir-el número racional es un número real x aquello no
puede ser escrito como la proporción de dos enteros.
12. Prueba que para cada entero positivo n, hay n con-
secutive composite enteros. [Pista: Considerar el n
14. Qué enteros positivos menos de 12 es relativamente
primo a 12?
15. Qué enteros positivos menos de 30 es relativamente
primo a 30?
16. Determinar si los enteros en cada de estos conjuntos
son pairwise relativamente primos.
U
n) 21, 34, 55 b) 14, 17, 85
c) 25, 41, 49, 64 d) 17, 18, 19, 23
17. Determinar si los enteros en cada de estos conjuntos
son pairwise relativamente primos.
U
n) 11, 15, 19 b) 14, 15, 21
c) 12, 17, 31, 37 d) 7, 8, 9, 11
18. Llamamos un entero positivo perfecto si él equals la
suma de su positivo divisors otro que él.
a) Espectáculo que 6 y 28 es perfecto.
p−1 p
b) Espectáculo que 2 (2 − 1) es un número
p
perfecto cuándo 2 − 1 es primo.
19. Espectáculo que si 2n − 1 es primo, entonces n es primo. [Pista: Uso
ab un un(b−1)
La identidad 2 − 1 = (2 − 1) · (2 +
un(b−2)
2 +
un
· · · + 2 + 1).]
20. Determinar si cada cual de estos enteros es primo, veri-
fying algunos de Mersenne reclamaciones.
Un) 7 9
2 11− 1 b) 2 13− 1
c) 2 − 1 d) 2 − 1
El valor del Euler φ-función en el entero positivo n está
definido para ser el número de enteros positivos menos de o
iguales a n aquello es relativamente primo a n . [Nota: φ
es la letra griega phi.]
21. Encontrar estos valores del Euler φ-función.
a) φ (4).b) φ (10).c) φ (13).
22. Espectáculo que n es primo si y sólo si φ (n) = n − 1.
k
23. Qué es el valor de φ (p ) cuándo p es primo y k es un
entero positivo?
24. Qué es el más grande común divisors de estos pares de
enteros?
2 3 5 5 3 2
a) 2 · 3 · 5 , 2 · 3 · 5
11 9 14
b) 2 · 3 · 5 · 7 · 11 · 13, 2 · 3 · 11 · 17
17 2 3 4.3 Albores y más Grandes Comunes Divisors
c) 17, 17 d) 2 · 7, 5 · 13
273
e) 0, 5 f ) 2 · 3 · 5 · 7, 2 · 3 · 5 · 7
25. Qué es el más grande común divisors de estos pares de
enteros? 40. Utilizando el método seguido en Ejemplo 17, expresar
7 3 3 11 5 9
a) 3 · 5 · 7 , 2 · 3 · 5 el más grande común divisor de cada de estos pares de
9 7 5 3
b) 11 · 13 · 17, 2 · 3 · 5 · 7 enteros como combinación lineal de estos enteros.
31 17
c) 23 , 23 U
d) 41 · 43 · 53, 41 · 43 · 53 n) 9, 11 b) 33, 44 c) 35, 78
13 17 12 21
e) 3 · 5 , 2 · 7 d) 21, 55 e) 101, 203 f ) 124, 323
f ) 1111, 0
G) 2002, 2339 h) 3457, 4669 i) 10001, 13422
26. Qué es el múltiplo menos común de cada par en Exer-
cise 24? El algoritmo euclidiano extendido puede soler expresar
gcd(un, b) como combinación lineal con coeficientes de entero
27. Qué es el múltiplo menos común de cada par en Exer- de los enteros un y b . Pusimos s 0 = 1, s1 = 0, t0 = 0, y t 1 = 1
cise 25?
y dejados sj = sj −2 − qj −1sj −1 y t j = tj −2 − qj −1tj −1 para j
28. Encuentra gcd(1000, 625) y lcm(1000, 625) y verificar
= 2, 3, . . . , n, donde el qj es los cocientes en el di-las visiones
que gcd(1000, 625) · lcm(1000, 625) = 1000 · 625.
utilizadas cuándo el algoritmo euclidiano encuentra gcd(un, b),
29. Encuentra gcd(92928, 123552) y lcm(92928, 123552), cuando mostrado en el texto. Pueda ser mostrado (ve [Ro10])
y verificar que gcd(92928, 123552) · lcm(92928, que gcd(un, b) = snun + tnb. La ventaja principal del
123552) = 92928 · 123552. [Pista: Primero encontrar algoritmo euclidiano extendido es que utiliza uno pasa a través
las factorizaciones primas de 92928 y 123552.] de los pasos del algoritmo euclidiano para encontrar Bézout
7 8 2 11 coeficientes de un y b , a diferencia del método en el texto qué
30. Si el producto de dos enteros es 2 3 5 7 y su grande-
3 4 usos dos pases.
est común divisor es 2 3 5, qué es su múltiplo menos
común ? 41. Uso el algoritmo euclidiano extendido para expresar
31. Espectáculo que si un y b es enteros positivos, gcd(26, 91) como combinación lineal de 26 y 91.
entonces ab = gcd(un, b) · lcm(un, b). [Pista: Uso las 42. Uso el algoritmo euclidiano extendido para expresar
factorizaciones primas de un y b y el formulae para gcd(252, 356) como combinación lineal de 252 y 356.
gcd(un, b) y lcm(un, b) en plazos de estas 43. Uso el algoritmo euclidiano extendido para expresar
factorizaciones.] gcd(144, 89) como combinación lineal de 144 y 89.
32. Uso el algoritmo euclidiano para encontrar 44. Uso el algoritmo euclidiano extendido para expresar
U gcd(1001, 100001) como combinación lineal de 1001 y
n) gcd(1, 5). b) gcd(100, 101). 100001.
c) gcd(123, 277). d) gcd(1529, 14039).
45. Describir el algoritmo euclidiano extendido que utiliza
e) gcd(1529, 14038).f ) gcd(11111, 111111).
pseu-docode.
33. Uso el algoritmo euclidiano para encontrar
46. Encontrar el entero positivo más pequeño con
Un) gcd(12, 18). b) gcd(111, 201). exactamente n factores positivos diferentes cuándo n es
c) gcd(1001, 1331).d) gcd(12345, 54321).
e) gcd(1000, 5040).f ) gcd(9888, 6060). U
n) 3. b) 4. c) 5.
34. Cuántas divisiones están requeridas para encontrar
d) 6. e) 10.
gcd(21, 34) nos-ing el algoritmo euclidiano?
35. Cuántas divisiones están requeridas para encontrar 47. Puede encuentras una fórmula o regla para eln th plazo
de un se-quence relacionado a los números primos o
gcd(34, 55) nos-ing el algoritmo euclidiano?
∗ 36. Espectáculo que si un y b es ambos enteros positivos, entonces (2un − primos factoriza-tions de modo que los plazos iniciales
b un mod b de la secuencia tienen estos valores?
1) mod (2 − 1) = 2 − 1.
∗ 37. Ejercicio de uso 36 para mostrar que si un y b es posi-tive
a) 0, 1, 1, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, . . .
un b gcd(un, b) b) 1, 2, 3, 2, 5, 2, 7, 2, 3, 2, 11, 2, 13, 2, . . .
enteros, entonces gcd(2 − 1, 2 − 1) = 2 − 1.
c) 1, 2, 2, 3, 2, 4, 2, 4, 3, 4, 2, 6, 2, 4, . . .
[Pista: Espectáculo que los restos obtenidos cuándo el Eu-
un b d) 1, 1, 1, 0, 1, 1, 1, 0, 0, 1, 1, 0, 1, 1, . . .
clidean el algoritmo suele computa gcd(2 − 1, 2 − 1)
r e) 1, 2, 3, 3, 5, 5, 7, 7, 7, 7, 11, 11, 13, 13, . . .
es de la forma 2 − 1, donde r es un resto que surge cuándo
el algoritmo euclidiano suele encuentra gcd(un, b).] f ) 1, 2, 6, 30, 210, 2310, 30030, 510510,
35 9699690, 223092870, . . .
38. Ejercicio de uso 37 para mostrar que los enteros 2 −
34 33 31 29 23 48. Puede encuentras una fórmula o regla para eln th plazo
1, 2 − 1, 2 − 1, 2 − 1, 2 − 1, y 2 − 1 es
pairwise relativamente primo. de un se-quence relacionado a los números primos o
39. Utilizando el método seguido en Ejemplo 17, expresar primos factoriza-tions de modo que los plazos iniciales
el más grande común divisor de cada de estos pares de de la secuencia tienen estos valores?
enteros como combinación lineal de estos enteros. a) 2, 2, 3, 5, 5, 7, 7, 11, 11, 11, 11, 13, 13, . . .
U b) 0, 1, 2, 2, 3, 3, 4, 4, 4, 4, 5, 5, 6, 6, . . .
n) 10, 11 b) 21, 44 c) 36, 48 c) 1, 0, 0, 1, 0, 1, 0, 1, 1, 1, 0, 1, 0, 1, . . .
d) 34, 55 e) 117, 213 f ) 0, 223 d) 1, −1, −1, 0, −1, 1, −1, 0, 0, 1, −1, 0, −1, 1, 1, . . .
G) 123, 2347 h) 3454, 4666 i) 9999, 11111 e) 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, . . .
f ) 4, 9, 25, 49, 121, 169, 289, 361, 529, 841, 961, 1369, . . .
49. Prueba que el producto de cualesquier tres enteros
consecutivos es divisible por 6.
274 4 / Teoría de Número y Criptografía De la forma 4k + 3, donde k es un nonnegative inte-ger.
[Pista: Supone que hay sólo finitely muchos tales
albores q1, q2, . . . , qn, y considerar el número 4q1q2
50. Espectáculo que si un, b, y m es enteros tal aquel m ≥
· · · qn − 1.]
2 y un ≡ b (mod m), entonces gcd(un, m) = gcd(b, ∗ 56. Prueba que el conjunto de números racionales positivos es
m). contable por instalar una función que asigna a un racional
∗ 51. Prueba o disprove que n2 − 79n + 1601 es primo cuando-nunca n es un
num-ber p/q con gcd(p, q) = 1 la base 11 número formado
entero positivo.
por la representación decimal de p seguido por la base 11
52. Prueba o disprove que p1p2 · · · pn + 1 es primo para dígito Un, el cual corresponde al número decimal 10,
cada entero positivo n, donde p1, p2, . . . , pn es el n seguido por la representación decimal de q .
pequeño-est números primos. ∗ 57. Prueba que el conjunto de números racionales positivos es
53. Espectáculo que hay un composite entero en cada
progresión de aritmética ak + b, k = 1, 2, . . . Dónde contable por mostrar que la función K es un un-a-un
un y b es pos-itive enteros. correspon-dence entre el conjunto de números racionales
54. Adaptar la prueba en el texto que hay infinitamente positivos y
muchos prepara para probar que hay infinitamente 2un1 2un2
El conjunto de enteros positivos si K p 1 p2 ···
muchos albores de la forma 3k + 2, donde k es un (m/n) = ··
nonnegative inte-ger. [Pista: Supone que hay sólo 2un
p s
finitely muchos tales albores q1, q2, . . . , qn, y 2b 1 2b 2b 1 1
gcd(m, n) = 1
qs 1 · · · · · q t − , dónde
1− q 2−
2 t

considerar el número 3q1q2 · · · qn − 1.] Y las factorizaciones de poder primo de m y n es m =


55. Adaptar la prueba en el texto que hay infinitamente un1
muchos prepara para probar que hay infinitamente p1
un2 Un b b b
muchos albores p2 · · · · · ps s y n = q 1 1 q 2 2 · · · qt t .

4.4 Solucionando Congruencias

Introducción
Solucionando congruencias lineales, los cuales tienen la hacha de forma ≡ b (mod m), es una
tarea esencial en el estudio de teoría de número y sus aplicaciones, tan solucionando las
ecuaciones lineales juega una función importante en cálculo y álgebra lineal. Para solucionar
congruencias lineales, empleamos inverses modulo m. Explicamos cómo para trabajar atrás a
través de los pasos del algoritmo euclidiano para encontrar inverses modulo m. Una vez hemos
encontrado un inverse de un modulo m, solucionamos la hacha de congruencia ≡ b (mod m)
por multiplicar ambos lados de la congruencia por este inverse.
Los sistemas simultáneos de congruencia lineal han sido estudiados desde tiempo
antiguo. Por ejemplo, el Sol de matemático chino-Tsu les estudió en el primer siglo.
Mostraremos cómo para solucionar sistemas de congruencias lineales modulo pairwise
relativamente primos moduli. El resultado probaremos se apellida el teorema de resto chino,
y nuestra prueba dará un método para encontrar todas las soluciones de tales sistemas de
congruencias. También mostraremos cómo para utilizar el teorema de resto chino como base
para actuar aritmética con enteros grandes.
Introduciremos un resultado útil de Fermat, sabido cuando el poco teorema de Fermat, el cual
unp −1
declara que si p es primo y p no divide un, entonces ≡ 1 (mod p). Examinaremos el conversar
de esta declaración, el cual nos dirigirá al concepto de un pseudoprimo. Un pseudoprimo m a la base
m
a Es un composite entero m que masquerades como primo por satisfacer la congruencia un
−1
≡ 1 (mod m). También daremos un ejemplo de un Carmichael número, el cual es un
composite entero que es un pseudoprimo a todas las bases un relativamente primos a él.
También introducimos la idea de discreto logarithms, los cuales son análogos a normales
loga-rithms. Para definir discreto logarithms primero tenemos que definir raíces primitivas.
Una raíz primitiva de un primo p es un entero r tal que cada entero no divisible por p es
e
congruente a un poder de r modulo p. Si r es una raíz primitiva de p y r ≡ un (mod p),
entonces e es el discreto logarithm de un modulo p a la base r. Encontrando discreto
logarithms resulta para ser un extremadamente difícil prob-lem en general. La dificultad de
este problema es la base para la seguridad de muchos cryptographic sistemas.
4.4 Solucionando
Congruencias 275

Congruencias lineales
Una congruencia de la forma

Hacha ≡ b (mod m),

Dónde m es un entero positivo, un y b es enteros, y x es una variable, se apellida una


congruencia lineal. Tales congruencias surgen por todas partes teoría de número y sus
aplicaciones.
Cómo puede solucionamos la hacha de congruencia lineal ≡ b (mod m), aquello es,
cómo puede encontramos todos los enteros x aquello satisface esta congruencia? Un método
que describiremos usos un entero un tal aquel aa ≡ 1 (mod m), si tal un entero existe. Tal un
entero un está dicho para ser un inverse de un modulo m. Teorema 1 garantías que un
inverse de un modulo m existe siempre que un y m es relativamente primo.

TEOREMA 1 Si un y m es relativamente enteros primos y m > 1, entonces un inverse de un modulo m existe.


Además, este inverse es único modulo m. (Aquello es, hay un entero positivo único un
Menos de m aquello es un inverse de un modulo m y cada otro inverse de un modulo m
es congruente a un modulo m.)

Prueba: Por Teorema 6 de Sección 4.3, porque gcd(un, m) = 1, hay enteros s y t tal aquello

sa + t m = 1.

Esto implica aquello

sa + t m ≡ 1 (mod m).

Porque t m ≡ 0 (mod m), sigue aquello

sa ≡ 1 (mod m).

Consiguientemente, s es un inverse de un modulo m. Aquello este inverse es único modulo


m queda tan Ejercicio 7.

Utilizando inspección para encontrar un inverse de un modulo m es fácil cuándo m es


pequeño. Para encontrar este inverse, buscamos un múltiplo de un aquello supera un
múltiplo de m por 1. Por ejemplo, para encontrar un inverse de 3 modulo 7, podemos
encontrar j · 3 para j = 1, 2, . . . , 6, parando cuándo encontramos un múltiplo de 3 aquello es
uno más de un múltiplo de 7. Podemos acelerar esta aproximación arriba si notamos que 2 ·
3 ≡ −1 (mod 7). Esto significa que (−2) · 3 ≡ 1 (mod 7). De ahí, 5 · 3 ≡ 1 (mod 7), así que 5
es un inverse de 3 modulo 7.
Podemos diseñar un algoritmo más eficaz que brute fuerza para encontrar un inverse de
un modulo m cuándo gcd(un, m) = 1 utilizando los pasos del algoritmo euclidiano. Por
invertir estos pasos tan en Ejemplo 17 de Sección 4.3, podemos encontrar una combinación
lineal sa + t m = 1 dónde s y t es enteros. Reduciendo ambos lados de esta ecuación modulo
m nos digo que s es un inverse de
a modulo m. Ilustramos este procedimiento en Ejemplo 1.
276 4 / Teoría de Número y Criptografía

EJEMPLO 1 Encuentra un inverse de 3 modulo 7 por primer hallazgo Bézout coeficientes de 3 y 7. (Nota
que ya hemos mostrado que 5 es un inverse de 3 modulo 7 por inspección.)

Solución: Porque gcd(3, 7) = 1, Teorema 1 nos digo que un inverse de 3 modulo 7 existe. Los
fines de algoritmo euclidianos deprisa cuándo utilizados para encontrar el más grande común
divisor de 3 y 7:

7 = 2 · 3 + 1.

De esta ecuación vemos aquello

−2 · 3 + 1 · 7 = 1.

Esto muestra que −2 y 1 es Bézout coeficientes de 3 y 7. Vemos que −2 es un inverse de 3


modulo 7. Nota que cada entero congruente a − 2 modulo 7 es también un inverse de 3, como 5,
−9, 12, y tan encima. ▲

EJEMPLO 2 Encuentra un inverse de 101 modulo 4620.

Solución: Para completeness, presentamos todos los pasos utilizaron para computar un
inverse de 101 modulo 4620. (Sólo el último paso va allende los métodos desarrollaron en
Sección 4.3 e ilustrado en Ejemplo 17 en aquella sección.) Primero, utilizamos el algoritmo
euclidiano para mostrar que gcd(101, 4620) = 1. Entonces invertiremos los pasos para
encontrar Bézout coeficientes un y b tal aquello 101un + 4620b = 1. Entonces siga que un
es un inverse de 101 modulo 4620. Los pasos utilizaron por el algoritmo euclidiano para
encontrar gcd(101, 4620) es

4620 = 45 · 101 + 75
101 = 1 · 75 + 26
75 = 2 · 26 + 23
26 = 1 · 23 + 3
23 = 7 · 3 + 2
3=1·2+1
2 = 2 · 1.

Porque el último nonzero el resto es 1, sabemos que gcd(101, 4620) = 1. Ahora podemos
encontrar el Bézout coeficientes para 101 y 4620 por laborables atrás a través de estos pasos,
expresando gcd(101, 4620) = 1 en plazos de cada par sucesivo de restos. En cada paso
eliminamos el resto por expresar él como combinación lineal del divisor y el dividendo.
Obtenemos

1=3−1·2
= 3 − 1 · (23 − 7 · 3) = −1 · 23 + 8 · 3
= −1 · 23 + 8 · (26 − 1 · 23) = 8 · 26 − 9 · 23
= 8 · 26 − 9 · (75 − 2 · 26) = −9 · 75 + 26 · 26
= −9 · 75 + 26 · (101 − 1 · 75) = 26 · 101 − 35 · 75
= 26 · 101 − 35 · (4620 − 45 · 101) = −35 · 4620 + 1601 · 101.
Aquello −35 · 4620 + 1601 · 101 = 1 nos digo que −35 y 1601 es Bézout coeficientes de
4620
Y 101, y 1601 es un inverse de 101 modulo 4620. ▲
4.4 Solucionando
Congruencias 277

Una vez tenemos un inverse un de un modulo m, podemos solucionar la hacha de


congruencia ≡ b (mod m)
Por multiplicar ambos lados de la congruencia lineal por un , cuando Ejemplo 3 ilustra.

EJEMPLO 3 Qué es las soluciones de la congruencia lineal 3x ≡ 4 (mod 7)?

Solución: Por Ejemplo 1 sabemos que −2 es un inverse de 3 modulo 7. Multiplicando ambos


lados de la congruencia por −2 espectáculos que

−2 · 3x ≡ −2 · 4 (mod 7).

Porque −6 ≡ 1 (mod 7) y − 8 ≡ 6 (mod 7), sigue que si x es una solución, entonces x ≡ −8 ≡


6 (mod 7).
Necesitamos determinar si cada x con x ≡ 6 (mod 7) es una solución. Supone aquello
x ≡ 6 (mod 7). Entonces, por Teorema 5 de Sección 4.1, sigue aquello

3x ≡ 3 · 6 = 18 ≡ 4 (mod 7),

Qué espectáculos que todo tal x Congruencia. Concluimos que las soluciones al
satisfacer el x ≡ 6 (mod 7), concretamente, 6, 13, 20, . . . Y − 1,
La congruencia es los enteros x tal −8,
aquello ▲
−15, . . . .

El Teorema de Resto chino


Los sistemas de congruencias lineales surgen en muchos contextos. Por ejemplo, cuando
veremos más tarde, son la base para un método que puede soler actuar aritmética con
enteros grandes. Tales sistemas incluso pueden ser encontrados tan rompecabezas de palabra
en las escrituras de chino antiguo e Hindu matemáticos, como aquel dados en Ejemplo 4.

EJEMPLO 4 En el primer siglo, el Sol de matemático chino-Tsu preguntó:

Hay cosas seguras cuyo número es desconocido. Cuándo dividido por 3, el resto es 2;
cuándo dividido por 5, el resto es 3; y cuándo dividido por 7, el resto es 2. Qué será el
número de cosas?

Este rompecabezas puede ser traducido a la cuestión siguiente: Qué es las soluciones de
los sistemas de congruencias

x ≡ 2 (mod 3),
x ≡ 3 (mod 5),
x ≡ 2 (mod 7)?

Solucionaremos este sistema, y con él Sol-Tsu rompecabezas, más tarde en esta


sección.

El teorema de resto chino, nombrado después del patrimonio chino de los problemas que
implican sistemas de congruencias lineales, declara que cuándo el moduli de un sistema de
congruencias lineales es pairwise relativamente primo, hay una solución única del sistema
modulo el producto del moduli.
278 4 / Teoría de Número y Criptografía

TEOREMA 2 EL TEOREMA de RESTO CHINO Dejado m1, m2, . . . , mn ser pairwise relativamente los
enteros positivos primos más grandes que uno y un 1, un2, . . . , unn enteros arbitrarios. Entonces el sistema

x ≡ Un1 (mod m1),


x ≡ Un2 (mod m2),
·
·
·

x ≡ Unn (mod mn)


Tiene una solución única modulo m = m1m2 · · · mn. (Aquello es, hay una solución x

con 0 ≤ x <m , y todas otras soluciones son congruentes modulo m a esta solución.)

Prueba: para establecer este teorema, necesitamos mostrar que una solución existe y que es
único modulo m. Mostraremos que una solución existe por describir una manera de construir
esta solución; mostrando que la solución es única modulo m es Ejercicio 30.
Para construir una solución simultánea, primero dejado

Mk = m/mk
Para k = 1, 2, . . . , n. Aquello es, Mk es el producto del moduli excepto mk . Porque mi y m k
tiene no los factores comunes más grandes que 1 cuándo i = k, sigue que gcd(mk , Mk ) = 1.
Conse-quently, por Teorema 1, sabemos que hay un entero yk , un inverse de M k modulo mk ,
tal aquello

Mk yk ≡ 1 (mod mk ).
Para construir una solución simultánea, forma la suma

x = Un1M1y1 + un2M2y2 + · · · + unnMnyn.

Ahora mostraremos que x es una solución simultánea. Primero, nota que porque Mj ≡ 0 (mod
mk ) siempre que j = k, todos los plazos excepto el kth el plazo en esta suma es congruente a
0 modulo mk . Porque Mk yk ≡ 1 (mod mk ) vemos aquello
x ≡ Unk Mk yk ≡ unk (mod mk ),
Para k = 1, 2, . . . , n. Hemos mostrado que x es una solución simultánea al n congruencias.

Ejemplo 5 ilustra cómo para utilizar la construcción dada en nuestra prueba del teorema
de resto chino para solucionar un sistema de congruencias. Solucionaremos el sistema dado
en Ejemplo 4, surgiendo en Sol-Tsu rompecabezas.
EJEMPLO 5 para solucionar el sistema de congruencias en Ejemplo 4, primero dejado m = 3 · 5 · 7 = 105,
M1 = m/3 = 35, M2 = m/5 = 21, y M 3 = m/7 = 15. Vemos que 2 es un inverse de M 1 = 35
modulo 3, porque 35 · 2 ≡ 2 · 2 ≡ 1 (mod 3); 1 es un inverse de M 2 = 21 modulo 5, porque
21 ≡ 1 (mod 5); y 1 es un inverse de M 3 = 15 (mod 7), porque 15 ≡ 1 (mod 7). Las
soluciones a este sistema son aquellas x tal aquello

x ≡ Un1M1y1 + un2M2y2 + un3M3y3 = 2 · 35 · 2 + 3 · 21 · 1 + 2 · 15 · 1


= 233 ≡ 23 (mod 105).
4.4 Solucionando
Congruencias 279

Sigue que 23 es el entero positivo más pequeño que es una solución simultánea. Concluimos que
23 es el entero positivo más pequeño que hojas un resto de 2 cuándo dividido por 3, un resto
De 3 cuándo dividido por 5, y un resto de 2 cuándo dividido por 7. ▲

A pesar de que la construcción en Teorema 2 proporciona un método general para solucionar


sistemas de congruencias lineales con pairwise relativamente primos moduli, pueda ser más fácil
de solucionar un sistema que utiliza un método diferente. Ejemplo 6 ilustra el uso de un método
sabido como sustitución posterior.

EJEMPLO 6 Uso el método de sustitución posterior para encontrar todos los enteros x tal aquel x ≡ 1
(mod 5), x ≡ 2 (mod 6), y x ≡ 3 (mod 7).
Solución: Por Teorema 4 en Sección 4.1, la primera congruencia puede ser reescrita como
una igualdad,
x = 5t + 1 dónde t es un entero. Sustituyendo esta expresión para x a la segunda congruencia
nos digo aquello

5t + 1 ≡ 2 (mod 6),

Cuáles pueden ser fácilmente solucionados para mostrar que t ≡ 5 (mod 6) (como el lector
tendría que verificar). Utilizando Teorema 4 en Sección 4.1 otra vez, vemos que t = 6u + 5
dónde u es un entero. Sustituyendo esta expresión para t espalda a la ecuación x = 5t + 1 nos
digo que x = 5(6u + 5) + 1 = 30u + 26. Insertamos esto a la tercera ecuación para obtener

30u + 26 ≡ 3 (mod 7).

Solucionando esta congruencia nos digo que u ≡ 6 (mod 7) (como el lector tendría que verificar).
De ahí, Theo-rem 4 en Sección 4.1 nos digo que u = 7v + 6 dónde v es un entero. Sustituyendo
esta expresión para u a la ecuación x = 30u + 26 nos digo que x = 30(7v + 6) + 26 = 210u + 206.
Trans-lating Esto atrás a una congruencia, encontramos la solución a las congruencias
simultáneas,

x ≡ 206 (mod 210).


Aritmética de ordenador con Enteros Grandes
Supone que m1, m2, . . . , mn es pairwise relativamente primo moduli y dejado m ser su
producto. Por el teorema de resto chino, podemos mostrar (ve Ejercicio 28) que un entero un con
0 ≤ Un < m puede ser singularmente representado por eln -tuple constando de sus restos a
división por m i , i = 1, 2, . . . , n. Aquello es, singularmente podemos representar un por
(Un mod m1, un mod m2, . . . , un mod mn).

EJEMPLO 7 Qué es los pares utilizó para representar el nonnegative enteros menos de 12 cuándo son rep-
molestados por el par ordenado donde el primer componente es el resto del entero a división
por 3 y el segundo componente es el resto del entero a división por 4?

Solución: tenemos las representaciones siguientes, obtenidos por encontrar el resto de cada
entero cuándo está dividido por 3 y por 4:

0 = (0, 0) 4 = (1, 0) 8 = (2, 0)


1 = (1, 1) 5 = (2, 1) 9 = (0, 1)
2 = (2, 2) 6 = (0, 2) 10 = (1, 2)

280 4 / Teoría de Número y Criptografía

Para actuar aritmética con enteros grandes, seleccionamos moduli m1, m2, . . . , mn, donde
cada cual mi es un entero más grande que 2, gcd(mi , mj ) = 1 siempre que i = j , y m = m1m2 · ·
· mn es más grande que los resultados de las operaciones de aritmética queremos llevar a cabo.
Una vez hemos seleccionado nuestro moduli, llevamos a cabo operaciones de aritmética
con enteros grandes por actuar componentwise operaciones en eln -tuples representando
estos enteros que utilizan sus restos a división por m i , i = 1, 2, . . . , n. Una vez hemos
computado el valor de cada componente en el resultado, recuperamos su valor por solucionar
un sistema de n congruencias modulo mi , i = 1, 2, . . . , n. Este método de actuar la
aritmética con enteros grandes tiene varios valu-características capaces. Primero, pueda soler
actuar aritmética con los enteros más grandes que normalmente puede ser llevado a cabo en
un ordenador. Segundo, computaciones con respetar al diferente moduli puede ser hecho en
paralelo, solicitando la aritmética.
EJEMPLO 8 Supone que actuando aritmética con enteros menos de 100 en un procesador seguro es mucho más
rápido que haciendo aritmética con enteros más grandes. Podemos restringir casi todas nuestras
computaciones a enteros menos de 100 si representamos enteros utilizando sus restos modulo
pairwise relativamente enteros primos menos de 100. Por ejemplo, podemos utilizar el moduli de
99, 98, 97, y 95. (Estos enteros son relativamente primos pairwise, porque ningún dos tiene un
factor común más grande que 1.)
Por el teorema de resto chino, cada nonnegative entero menos de 99 · 98 · 97 · 95 =
89,403,930 puede ser representado singularmente por sus restos cuándo divididos por estos
cuatro mod-uli. Por ejemplo, representamos 123,684 cuando (33, 8, 9, 89), porque 123,684
mod 99 = 33; 123,684 mod 98 = 8; 123,684 mod 97 = 9; y 123,684 mod 95 = 89. De modo
parecido, representamos 413,456 cuando (32, 92, 42, 16).
Para encontrar la suma de 123,684 y 413,456, trabajamos con estos 4-tuples en vez de
estos dos enteros directamente. Añadimos el 4-tuples componentwise y reducir cada
componente con respetar al apropiado modulus. Estas cosechas

(33, 8, 9, 89) + (32, 92, 42, 16)


= (65 mod 99, 100 mod 98, 51 mod 97, 105 mod 95)
= (65, 2, 51, 10).
Para encontrar la suma, aquello es, el entero representado por (65, 2, 51, 10),
necesitamos solucionar el sistema de congruencias

x ≡ 65 (mod 99),
x ≡ 2 (mod 98),
x ≡ 51 (mod 97),
x ≡ 10 (mod 95).
Pueda ser mostrado (ve Ejercicio 53) que 537,140 es el único nonnegative solución de
este sistema menos de 89,403,930. Consiguientemente, 537,140 es la suma. Nota que es sólo
cuándo tenemos que recuperar el entero representado por (65, 2, 51, 10) que tenemos que
hacer aritmética con
Los enteros más grandes que 100. ▲

Particularmente elecciones buenas para moduli para la aritmética con enteros grandes es
k
conjuntos de enteros de la forma 2 − 1, donde k es un entero positivo, porque es fácil de hacer
aritmética binaria modulo
Tales enteros, y porque es fácil de encontrar conjuntos de tales enteros que es pairwise
un b
relativamente primo. [La segunda razón es una consecuencia del hecho que gcd(2 − 1, 2 − 1)
gcd(un, b)
=2 − 1, cuando
Ejercicio 37 en Sección 4.3 espectáculos.] Supone, para caso, que podemos hacer aritmética con
35
enteros menos de 2 fácilmente en nuestro ordenador, pero que trabajando con los enteros más
grandes requiere procedimientos especiales. Podemos utilizar pairwise relativamente primos
35
moduli menos de 2 para actuar aritmética
Con enteros como grandes como su producto. Por ejemplo, cuando Ejercicio 38 en Sección 4.3
35 34 33 31 29 23
espectáculos, los enteros 2 − 1, 2 − 1, 2 − 1, 2 − 1, 2 − 1, y 2 − 1 es pairwise
relativamente primo.
184
Porque el producto de estos seis moduli supera 2 , podemos actuar aritmética con enteros
184
como grandes cuando 2 (mientras los resultados no superan este número) por hacer aritmética
35
modulo cada cual de estos seis moduli, ninguno del cual supera 2 .
4.4 Solucionando
Congruencias 281

El poco Teorema de Fermat


El matemático francés grande Pierre de Fermat hizo muchos descubrimientos importantes en
p −1
teoría de número. Uno del más útil de estos estados que p divide un − 1 siempre que p es
primo y un es un entero no divisible por p . Fermat anunció este resultado en una letra a uno de
sus corresponsales. Aun así, no incluya una prueba en la letra, declarando que tema que la prueba
sería demasiado mucho tiempo. A pesar de que Fermat nunca publicó una prueba de este hecho,
hay poca duda que sepa cómo para probarlo, a diferencia del resultado sabido cuando el último
teorema de Fermat. La primera prueba publicada está abonada a Leonhard Euler. Ahora
declaramos este teorema en plazos de congruencias.

TEOREMA el POCO TEOREMA de 3 FERMAT Si p es primo y un es un entero no divisible por p ,


entonces

p −1
Un ≡ 1 (mod p).
Además, para cada entero un tenemos

Un p ≡ un (mod p).

unp −1
Comentario: el poco teorema de Fermat nos digo que si un ∈ Zp , entonces = 1 en
Zp .

La prueba de Teorema 3 está perfilado en Ejercicio 19.


El poco teorema de Fermat es extremadamente útil en computar los restos modulo p de
poderes grandes de enteros, cuando Ejemplo 9 ilustra.
222
EJEMPLO 9 Encuentra 7 mod 11.
222
Solución: podemos utilizar poco teorema para evaluar de Fermat 7 mod 11 más que utilizar el
10
rápido modular exponentiation algoritmo. Por el poco teorema de Fermat sabemos que 7 ≡ 1
10 k
(mod 11), así que (7 ) ≡ 1 (mod 11) para cada entero positivo k. Para aprovechar esta última
congruencia, dividimos el exponente 222 por 10, encontrando que 222 = 22 · 10 + 2. Ahora
vemos aquello
222 22·10+2 10 22 2 22
7 =7 = (7 ) 7 ≡ (1) · 49 ≡ 5 (mod 11).

222

Sigue que 7 mod 11 = 5.
n
Ejemplo 9 ilustrado cómo podemos utilizar poco teorema para computar de Fermat un mod
p, donde p es primo y p | un. Primero, utilizamos el algoritmo de división para encontrar el
cociente q y resto
r Cuándo n está dividido por p − 1, de modo que n = q(p − 1) + r donde 0 ≤ r < p − 1. Sigue que
n q(p−1)+r p −1 q r q r r n
un = un = (un ) un ≡ 1 un ≡ un (mod p). De ahí, para encontrar un mod p,
r
sólo necesitamos computar un mod p. Aprovecharemos esta simplificación muchas veces en
nuestro estudio de teoría de número.

Pseudoprimes
En Sección 4.2 mostramos que un entero n es primo cuándo no es divisible por cualquier primo p
con
p ≤ √n. Desafortunadamente, utilizando este criterio para mostrar que un entero dado es primo es inefficient.

Requiere que encontramos todo prepara no superando n y que llevamos a cabo división de
prueba por cada tal primo de ver si divide n.
282 4 / Teoría de Número y Criptografía

Es allí maneras más eficaces para determinar si un entero es primo? Según algunas fuentes,
los matemáticos chinos antiguos creyeron que n era un albor extraño si y sólo si

n−1
2 ≡ 1 (mod n).

Si esto era cierto, proporcione un eficaz primality prueba. Por qué creen que esta
congruencia podría soler determinar si un entero n > 2 es primo? Primero, observaron que
los controles de congruencia siempre que n es un albor extraño. Por ejemplo, 5 es primo y

5−1 4
2 = 2 = 16 ≡ 1 (mod 5).
Por el poco teorema de Fermat, sabemos que esta observación era correcta, aquello es,
n−1
2 ≡ 1 (mod n) siempre que n es un albor extraño. Segundo, ellos nunca encontrados un
composite entero n para qué los controles de congruencia. Aun así, el chino antiguo era sólo
parcialmente correcto. Eran correctos en creer que los controles de congruencia siempre que
n es primo, pero eran incorrect en concluir que n es necesariamente primo si los controles de
congruencia.
n−1
Desafortunadamente, hay composite enteros n tal aquello 2 ≡ 1 (mod n). Tales
enteros se apellidan pseudoprimes a la base 2.

EJEMPLO 10 El entero 341 es un pseudoprimo a la base 2 porque es composite (341 = 11 · 31) y tan
Ejercicio 37 espectáculos

340
≡ 1 (mod 341).


2

Podemos utilizar un entero otro que 2 cuando la base cuándo estudiamos pseudoprimes.

n−1
DEFINICIÓN 1 Dejado b ser un entero positivo. Si n es un composite entero positivo, y b ≡ 1 (mod n),
entonces
n se apellida un pseudoprimo a la base b.

n−1
Dado un entero positivo n, determinando si 2 ≡ 1 (mod n) es una prueba útil que pro-
vides alguna evidencia preocupándose si n es primo. En particular, si n satisface esta
congruencia, entonces es cualquier primo o un pseudoprimo a la base 2; si n no satisface esta
congruencia, es composite. Podemos actuar las pruebas similares que utilizan bases b otro que 2
y obtener más evidencia cuando a si n es primo. Si n pasa todas tales pruebas, es cualquier primo
o un pseudoprimo a todas las bases b hemos escogido. Además, entre los enteros positivos no
superando x, donde x es un número real positivo, comparado a los albores allí son relativamente
pocos pseudoprimes a la base b, donde b es un entero positivo. Por ejemplo, entre los enteros
10
positivos menos de 10 hay 455,052,512 albores, pero sólo 14,884 pseudoprimes a la base 2.
Desafortunadamente, nosotros

PIERRE DE FERMAT (1601–1665) Pierre de Fermat, uno de los matemáticos más importantes del decimoséptimo
siglo, era un abogado por profesión. Es el matemático amateur más famoso en historia. Fermat publicó poco de
sus descubrimientos matemáticos. Es a través de su correspondencia con otros matemáticos que sabemos de su
trabajo. Fermat era uno de los inventores de geometría analítica y desarrolló algunos de las ideas fundamentales de
cálculo. Fermat, junto con Pascal, dio teoría de probabilidad una base matemática. Fermat formuló qué era el
n n
problema no resuelto más famoso en matemáticas. Afirme que la ecuación x n + y = z tiene no nontrivial
soluciones de entero positivo cuándo n es un entero más grande que 2. Para más de 300 años, ninguna prueba (o
contraejemplo) estuvo encontrado. En su copia de los trabajos del matemático griego antiguo Diophantus, Fermat
escribió que tenga una prueba pero que lo no cabido en el margen. Porque la primera prueba,
Encontrado por Andrew Wiles en 1994, confía en matemática sofisticada , moderna, más las personas creen que que Fermat pensó tenga
una prueba, pero que la prueba era incorrect. Aun así, pueda haber sido tentador otros para buscar una prueba, no siendo capaz de
encontrar uno él.
4.4 Solucionando Congruencias 283

No puede distinguir entre albores y pseudoprimes justo por escoger suficientemente muchas
bases, porque hay composite enteros n aquello pasa todas las pruebas con bases b tal que
gcd(b, n) = 1. Estas ventajas a Definición 2.

n−1
DEFINICIÓN 2 Un composite entero n aquello satisface la congruencia b ≡ 1 (mod n) para todos los
enteros positivos b con gcd(b, n) = 1 se apellida un Carmichael número. (Estos números
están nombrados después de que Robert Carmichael, quién les estudió en el vigésimo siglo
temprano.)

EJEMPLO 11 El entero 561 es un Carmichael número. Para ver esto, primera nota que 561 es composite
ser-causa 561 = 3 · 11 · 17. Luego, nota que si gcd(b, 561) = 1, entonces gcd(b, 3) = gcd(b,
11) = gcd(b, 17) = 1.
Utilizando el poco teorema de Fermat encontramos aquello
2 10 16
b ≡ 1 (mod 3), b ≡ 1 (mod 11), y b ≡ 1 (mod 17).
Sigue aquello
560 2 280
b = (b ) ≡ 1 (mod 3),
560 10 56
b = (b ) ≡ 1 (mod 11),
560 16 35
b = (b ) ≡ 1 (mod 17).
560
Por Ejercicio 29, sigue que b ≡ 1 (mod 561) para todos los enteros positivos b con gcd(b,
561) =
1. De ahí 561 es un Carmichael número.


A pesar de que hay infinitamente muchos Carmichael números, pruebas más delicadas,
descritos en el conjunto de ejercicio, puede ser ingeniado que puede ser utilizado como la
base para eficaz probabilista primality pruebas. Tales pruebas pueden soler deprisa muestra
que es casi ciertamente el caso que un entero dado es primo. Más precisamente, si un entero
no es preparar, entonces la probabilidad que pasa una serie de pruebas es cercana a 0.
Describiremos tal prueba en Capítulo 7 y hablar las ideas de teoría de probabilidad que esta
prueba confía encima. Estos probabilista primality las pruebas pueden ser utilizadas, y está
utilizado, para encontrar albores grandes extremadamente rápidamente en ordenadores.

Raíces primitivas y Discretos Logarithms


y
En el conjunto de números reales positivos, si b > 1, y x = b , decimos que y es el
logarithm de x a la base b. Aquí, mostraremos que también podemos definir el concepto de
logarithms modulo p de enteros positivos donde p es un albor. Antes de que hacemos tan,
necesitamos una definición.

DEFINICIÓN 3 Una raíz primitiva modulo un primo p es un entero r en Zp tal que cada nonzero elemento
de
Zp Es un poder de r .

ROBERT DANIEL CARMICHAEL (1879–1967) Robert Daniel Carmichael nació en Alabama. Él re-ceived
su undergraduate grado de Lineville Universidad en 1898 y su Ph.D. En 1911 de Princeton. Carmichael
Aguantó posiciones en Universidad de Indiana de 1911 hasta que 1915 y en la Universidad de Illinois de
1915 hasta que 1947. Carmichael Era un investigador activo en una variedad ancha de áreas, incluyendo
teoría de número, análisis real, ecuaciones diferenciales, física matemática, y teoría de grupo. Su Ph.D. Tesis,
escrito bajo la dirección de G. D. Birkhoff, está considerado la primera contribución americana significativa
al tema de ecuaciones diferenciales.
284 4 / Teoría de Número y Criptografía

EJEMPLO 12 Determinar si 2 y 3 es raíces primitivas modulo 11.


, obtenemos
Solución: Cuándo computamos los poderes de 2 1 2 3 4
en Z 2 2, 2 4, 2 8, 2 5,
11 = = = =
2 5 = 10, 2 6 = 9, 2 7 = 7, 2 8 = 3, 2 9 = 6, 2 10 = 1. Porque cada elemento de Z 11 es un poder de
2, 2 es una raíz primitiva de
11.
1 2 3
Cuándo computamos los poderes de 3 modulo 11, obtenemos 3 = 3, 3 = 9, 3 =
4
5 5, 3 = 4,
= 1. Notamos que este patrón repite cuándo computamos poderes más altos de 3. Porque
3 no todo
Elementos de Z 11 es poderes de 3, concluimos que 3 no es una raíz primitiva de
11.


Un hecho importante en teoría de número es que hay una raíz primitiva modulo p para cada
DEFINICIÓN 4 primo p. Referimos el lector a [Ro10] para una prueba de este hecho. Supone que p es primo y r
es una raíz primitiva modulo p. Si un es un entero entre 1 y p − 1, aquello es, un elemento de Z p
e e
, sabemos que hay un exponente único e tal que r = un en Zp , aquello es, r mod p = un.

EJEMPLO 13 Supone que p es un albor, r es una raíz primitiva modulo p, y un es un entero entre 1 y p − 1
e
inclusive. Si r mod p = un y 0 ≤ e ≤ p − 1, decimos que e es el discreto logarithm de un
modulo p a la base r y escribimos registror un = e (dónde el primo p está entendido).

Encontrar el discreto logarithms de 3 y 5 modulo 11 a la base 2.


8
Solución: Cuándo computamos los poderes de 2 modulo 11 en Ejemplo 12, encontramos que 2
=3
Y 2 = 5 en Z 11. De ahí, el dis creto l ogarith ms de 3 y 5 modulo 11 a la bas e 2 es 8 y 4, res pectivamente. (Es tos s on los poderes de 2 que iguales 3 y 5, res pectivamente, en Z 11.) Es cribi mos regis tro 2 3 = 8 y reg is tro2 5 = 4 (dónde el modulus 11 es tá entendido y no exp lícitamente notado en el

Notación). ▲

El discreto logarithm El discreto logarithm el problema toma tan entrada un primo p, una raíz primitiva r
El problema es duro!
modulo p, y un entero positivo un ∈ Zp ; su producción es el discreto logarithm de un
modulo p a la base
r . A pesar de que este problema podría parecer no para ser que difícil, resulta que no
algoritmo de tiempo polinómico es sabido para solucionarlo. La dificultad de este problema
Ejercicios juega una función importante en criptografía, cuando veremos en Sección 4.6

d) Un = 89, m = 232
1. Espectáculo que 15 es un inverse de 7 modulo 26.
6. Encontrar un inverse de un modulo m para cada de
2. Espectáculo que 937 es estos pares de relativamente los enteros primos que
un inverse de 13 modulo 2436. utilizan el método seguido en Ejemplo 2.
3. Por inspección (como discutido con anterioridad a a) Un = 2, m = 17
Ejemplo 1), encontrar un inverse de 4 modulo 9. b) Un = 34, m = 89
4. Por inspección (como discutido con anterioridad a
Ejemplo 1), encontrar un inverse de 2 modulo 17.
5. Encontrar un inverse de un modulo m para cada de
estos pares de relativamente los enteros primos que
utilizan el método seguido en Ejemplo 2.
a) Un = 4, m = 9
b) Un = 19, m = 141
c) Un = 55, m = 89
c) Un = 144, m = 233
d) Un = 200, m = 1001
∗ 7. Espectáculo que si un y m es relativamente primo
positivo inte-gers, entonces el inverse de un modulo m es
único modulo m. [Pista: Supone que hay dos soluciones
b y c de la hacha de congruencia ≡ 1 (mod m). Teorema
de uso 7 de Sección 4.3 para mostrar que b ≡ c (mod m).]
8. Espectáculo que un inverse de un modulo m, donde un
es un en-teger y m > 2 es un entero positivo, no existe si
gcd(un, m) > 1.
9. Solucionar la congruencia 4x ≡ 5 (mod 9) utilizando el
inverse de 4 modulo 9 encontrado en parte (un) de
Ejercicio 5.
10. Solucionar la congruencia 2x ≡ 7 (mod 17) utilizando el
inverse de 2 modulo 7 encontrado en parte (un) de
Ejercicio 6.
11. Soluciona cada cual de estas congruencias que utilizan el
modulares en-los versos encontrados en partes (b), (c), y
(d) de Ejercicio 5.
a) 19x ≡ 4 (mod 141)
b) 55x ≡ 34 (mod 89)
c) 89x ≡ 2 (mod 232)
12. Soluciona cada cual de estas congruencias que utilizan Alternativamente, el teorema de uso Wilson de
el modulares en-los versos encontrados en partes (b), Ejercicio 18(b).]
(c), y (d) de Ejercicio 6. d) Parte de uso (c) para mostrar que un p ≡ un (mod
p) para todo en-tegers un.
a) 34x ≡ 77 (mod 89)
b) 144x ≡ 4 (mod 233)
c) 200x ≡ 13 (mod 1001)
2
13. Encontrar las soluciones de la congruencia 15x + 19x
≡ 5 (mod 11). [Pista: Espectáculo la congruencia es
2
equivalente a la congruencia 15x + 19x + 6 ≡ 0 (mod
11). Factor el lado izquierdo de la congruencia;
espectáculo que una solución de la congruencia
cuadrática es una solución de uno de las dos
congruencias lineales diferentes.]
2
14. Encontrar las soluciones de la congruencia 12x + 25x
≡ 10 (mod 11). [Pista: Espectáculo la congruencia es
2
equivalencia a la congruencia 12x + 25x + 12 ≡ 0
(mod 11). Fac-tor El lado izquierdo de la congruencia;
espectáculo que un tan-lution de la congruencia
cuadrática es una solución de uno de dos congruencias
lineales diferentes.]
∗ 15. Espectáculo que si m es un entero más grande que 1 y
ac ≡ bc (mod m), entonces un ≡ b (mod m/gcd(c,
m)).
16. Un) Muestra que los enteros positivos menos de 11,
exceptúa 1 y 10, puede ser partido a pares de
enteros tal que cada par consta de enteros que es
inverses de cada otro modulo 11.
b) Parte de uso (un) para mostrar que 10! ≡ −1 (mod
11).
17. Espectáculo que si p es primo, las soluciones únicas de x
2

1 (mod p) es enteros x tal aquel x ≡ 1 (mod p) o
x ≡ −1 (mod p).
∗ 18. Un) Generaliza el resultado en parte (un) de Ejercicio
16; aquello es, espectáculo que si p es un albor, los
enteros positivos menos de p , exceptúa 1 y p − 1,
puede ser partido a (p − 3)/2 pares de enteros tal
que cada par consta de inte-gers aquello es inverses
de cada otro. [Pista: Uso el resultado de Ejercicio
17.]
b) De parte (un) concluye que (p − 1)! ≡ −1 (mod p)
siempre que p es primo. Este resultado es sabido
cuando el teorema de Wilson .
c) Qué puede concluimos si n es un entero positivo
tal que (n − 1)! ≡ −1 (mod n)?
∗ 19. Este ejercicio perfila una prueba del poco teorema de Fermat.
a) Supone que un no es divisible por el primo p.
Espectáculo que ningún dos de los enteros 1 · un, 2
· un, . . . , (p − 1)un es congruente modulo p.
b) Concluye de parte (un) que el producto de 1, 2, . . . ,
p − 1 es congruente modulo p al prod-uct de un,
2un, . . . , (p − 1)un. Uso esto para mostrar aquello
p −1
(p − 1)! ≡ Un (p − 1)! (mod p).

c) Teorema de uso 7 de Sección 4.3 para mostrar de parte


p −1
(b) que un ≡ 1 (mod p) si p | un. [Pista: Lema de
Uso 3 de Sección 4.3 para mostrar que p no divide (p −
1)! Y entonces Teorema de uso 7 de Sección 4.3.
4.4 Solucionando 35. Poco teorema para mostrar de uso Fermat que si p es
Congruencias 285 unp −2
primo y p | un, entonces es un inverse de un
modulo p.
36. Ejercicio de uso 35 para encontrar un inverse de 5
20. Uso la construcción en la prueba del teorema de resto chino modulo 41.
340
para encontrar todas las soluciones al sistema de 37. Un) Muestra que 2 ≡ 1 (mod 11) por Fermat poco
congruencias x ≡ 2 (mod 3), x ≡ 1 (mod 4), y x ≡ 3 (mod 340 10 34
theo-rem y notando que 2 = (2 ) .
340
5). b) Espectáculo que 2 ≡ 1 (mod 31) utilizando el hecho
21. Uso la construcción en la prueba del chino quedar-der que
340 5 68 68
teorema para encontrar todas las soluciones al sistema 2 = (2 ) = 32 .
340
de congru-ences x ≡ 1 (mod 2), x ≡ 2 (mod 3), x ≡ 3 c) Concluye de partes (un) y (b) que 2 ≡ 1 (mod
(mod 5), y x ≡ 4 (mod 11). 341).
22. Solucionar el sistema de congruencia x ≡ 3 (mod 6) y
x ≡ 4 (mod 7) utilizando el método de sustitución
posterior.
23. Solucionar el sistema de congruencias en Ejercicio 20
utilizando el método de sustitución posterior.
24. Solucionar el sistema de congruencias en Ejercicio 21
utilizando el método de sustitución posterior.
25. Escribe fuera en pseudocode un algoritmo para
solucionar un si-multaneous el sistema de congruencias
lineales basó en la construcción en la prueba del resto
chino theo-rem.
∗ 26. Encontrar todas las soluciones, si cualquiera, al sistema de
congruencias
x ≡ 5 (mod 6), x ≡ 3 (mod 10), y x ≡ 8 (mod 15). 27.

Encontrar todas las soluciones, si cualquiera, al sistema de
congruencias
x ≡ 7 (mod 9), x ≡ 4 (mod 12), y x ≡ 16 (mod 21).
28. Uso el teorema de resto chino para mostrar que un
entero un, con 0 ≤ un < m = m1m2 · · · mn, donde los
enteros positivos m1, m2, . . . , mn es pairwise
relativamente primo, puede ser representado
singularmente por eln -tuple (un mod m1, un mod m2,
. . . , un mod mn).
∗ 29. Dejado m , m , . . . , m ser pairwise relativamente los
1 2 n
enteros primos más grandes que o iguales a 2. Espectáculo
que si un ≡ b (mod mi ) para i = 1, 2, . . . , n, entonces
un ≡ b (mod m), donde m = m1m2 · · · mn. (Este
resultado será utilizado en Ejercicio 30 para probar el
teorema de resto chino. Consiguientemente, no utiliza el
teorema de resto chino para probarlo.)
∗ 30. Completo la prueba del teorema de resto chino por
mostrar que la solución simultánea de un sistema de
congruencias lineales modulo pairwise relativamente
primos moduli es único modulo el producto de estos
moduli. [Pista: Supone que x y y es dos simultáneo
solu-tions. Espectáculo que mi | x − y para todo i .
Utilizando Ejercicio 29, concluye que m = m1m2 · · ·
mn | x − y.]
31. Qué enteros dejan un resto de 1 cuándo dividido por 2 y
también dejar un resto de 1 cuándo dividido por 3?
32. Qué enteros son divisible por 5 pero dejar un resto de 1
cuándo dividido por 3?
121
33. Poco teorema para encontrar de uso Fermat 7 mod
13.
1002
34. Poco teorema para encontrar de uso Fermat 23
mod 41.
286 4 / Teoría de Número y Criptografía 52. Explicar cómo para utilizar los pares encontrados en
Ejercicio 51 para añadir 4 y 7.
302 53. Solucionar el sistema de congruencias que surge en
38. Un) poco teorema para computar de Uso Fermat 3
302 302 Ejemplo 8.
mod 5, 3 mod 7, y 3 mod 11.
b) Uso vuestros resultados de parte (un) y el chino re-
302
mainder teorema para encontrar 3 mod 385.
(Nota que 385 = 5 · 7 · 11.)
2003
39. Un) poco teorema para computar de Uso Fermat 5
2003 2003
mod 7, 5 mod 11, y 5 mod 13.
b) Uso vuestros resultados de parte (un) y el chino re-
2003
mainder teorema para encontrar 5 mod 1001.
(Nota que 1001 = 7 · 11 · 13.)
40. Espectáculo con la ayuda del poco teorema de Fermat
7
que si n es un entero positivo, entonces 42 divide n −
n.
41. Espectáculo que si p es un albor extraño, entonces cada
p
divisor del Mersenne número 2 − 1 es de la forma 2kp
+ 1, donde k es un nonnegative entero. [Pista: Uso
Fermat poco el-orem y Ejercicio 37 de Sección 4.3.]
13
42. Ejercicio de uso 41 para determinar si M13 = 2 − 1 =
23
8191 y M 23 = 2 − 1 = 8,388,607 es primo.
11
43. Ejercicio de uso 41 para determinar si M11 = 2 − 1 = 2047
17
y M 17 = 2 − 1 = 131,071 es primo.
s
Dejado n ser un entero positivo y dejado n − 1 = 2 t ,
donde s es un nonnegative entero y t es un entero positivo
extraño. Decimos que n pasa la prueba del molinero para
t 2 t
la base b si cualquier b ≡ 1 (mod n) o b j ≡ −1 (mod n)
para algún j con 0 ≤ j ≤ s − 1. Pueda ser mostrado (ve
[Ro10]) que un composite entero n pasa la prueba del
molinero para menos que n/4 bases b con 1 < b < n. Un
composite entero positivo n que la prueba de Molinero de
pases a la base b se apellida un fuerte pseudoprimo a la
base b.
∗ 44. Espectáculo que si n es primo y b es un entero positivo
con n | b, entonces n la prueba de Molinero de pases a
la base b.
45. Espectáculo que 2047 es un fuerte pseudoprimo a la
base 2 por mostrar que pasa la prueba del molinero a la
base 2, pero es composite.
46. Espectáculo que 1729 es un Carmichael número.
47. Espectáculo que 2821 es un Carmichael número.
∗ 48. Espectáculo que si n = p1p2 · · · pk , donde p1, p2, . . . , pk
Es albores distintos que satisface pj − 1 | n − 1 para j =
1, 2, . . . , k, entonces n es un Carmichael número.
49. Un) Ejercicio de Uso 48 para mostrar que cada entero
de la forma (6m + 1)(12m + 1)(18m + 1), donde m
es un entero positivo y 6m + 1, 12m + 1, y 18m + 1
es todos los albores, es un Carmichael número.
b) Parte de uso (un) para mostrar que 172,947,529 es
un Automovilístico-michael número.
50. Encontrar el nonnegative entero un menos de 28
representado por cada de estos pares, donde cada par
representa (un mod 4, un mod 7).
U
n) (0, 0) b) (1, 0) c) (1, 1)
d) (2, 1) e) (2, 2) f ) (0, 3)
G) (2, 0) h) (3, 5) i) (3, 6)
51. Expresar cada nonnegative entero un menos de 15
como par (un mod 3, un mod 5).
54. Espectáculo que 2 es una raíz primitiva de 19. congruencia modulo 5 y modulo 7, y entonces utilizar el
teorema de resto chino.]
55. Encontrar el discreto logarithms de 5 y 6 a la base 2
mod-ulo 19.
56. Dejado p ser un albor extraño y r una raíz primitiva de
p . Espectáculo que si un y b es enteros positivos en Zp
, entonces registror (ab) ≡ registror un + registror b
(mod p − 1).
57. Escribe fuera de una mesa de discreto logarithms modulo
17 con respetar a la raíz primitiva 3.
Si m es un entero positivo, el entero un es un residuo
2
cuadrático de m si gcd(un, m) = 1 y la congruencia x ≡ un
(mod m) tiene una solución. En otras palabras,, un residuo
cuadrático de m es un entero relativamente primo a m aquello
es una plaza perfecta mod-ulo m. Si un no es un residuo
cuadrático de m y gcd(un, m) = 1, decimos que es un
cuadrático nonresidue de m . Para examen-ple, 2 es un residuo
2
cuadrático de 7 porque gcd(2, 7) = 1 y 3 ≡ 2 (mod 7) y 3 es un
2
cuadrático nonresidue de 7 porque gcd(3, 7) = 1 y x ≡ 3 (mod
7) tiene ninguna solución.
58. Qué enteros son residuos cuadráticos de 11?
59. Espectáculo que si p es un albor extraño y un es un
2
entero no divisible por p , entonces la congruencia x ≡
un (mod p) ha tampoco ninguna solución o exactamente
dos incongruent soluciones modulo p.
60. Espectáculo que si p es un albor extraño, entonces hay
exactamente (p − 1)/2 residuos cuadráticos de p entre
los enteros 1, 2, . . . , p − 1.
Si p es un albor extraño y un es un entero no divisible por p , el
Un
Legendre El símbolo está definido para ser 1 si un es un
cuadrático
p
Residuo de p y − 1 otherwise.
61. Espectáculo que si p es un albor extraño y un y b es
enteros con un ≡ b (mod p), entonces
a b
= .
pp

62. Prueba el criterio de Euler, el cual declara que si p es


un albor extraño y un es un entero positivo no divisible
por p , entonces
a
≡ Un(p−1)/2 (mod p).
p

[Pista: Si un es un residuo cuadrático modulo p, aplica


Fer-mate poco teorema; otherwise, aplica el teorema de
Wilson, dado en Ejercicio 18(b).]
63. Ejercicio de uso 62 para mostrar que si p es un albor
extraño y un y b es enteros no divisible por p , entonces

U
ab n b
p = p p .

64. Espectáculo que si p es un albor extraño, entonces −1 es


un residuo cuadrático de p si p ≡ 1 (mod 4), y − 1 no
es un residuo cuadrático de p si p ≡ 3 (mod 4). [Pista:
Ejercicio de Uso 62.]
2
65. Encontrar todas las soluciones de la congruencia x ≡ 29
(mod 35). [Pista: Encontrar las soluciones de esta
2
66. Encontrar todas las soluciones de la congruencia x ≡ 4.5 Aplicaciones de Congruencias 287
16 (mod 105). [Pista: Encontrar las soluciones de esta
congruencia modulo 3, modulo 5, y modulo 7, y
entonces utilizar el chino re-mainder teorema.] 67. Describir un brute algoritmo de fuerza para solucionar
el discreto logarithm problema y encontrar el peor-caso
y complejidad de tiempo de caso mediano de este
algoritmo.

4.5 Aplicaciones de Congruencias


Las congruencias tienen muchas aplicaciones a matemática discreta, informática, y muchos
otras disciplinas. Introduciremos tres aplicaciones en esta sección: el uso de congruencias
para asignar ubicaciones de memoria a archivos de ordenador, la generación de
pseudorandom números, y dígitos de control.
Supone que un número de identificación del cliente es diez dígitos mucho tiempo. Para
recuperar archivos de cliente deprisa, no queremos asignar una ubicación de memoria a una
clienta graba utilizar la identificación de diez dígitos número. En cambio, queremos utilizar
un entero más pequeño asoció al número de identificación. Esto puede ser hecho utilizando
qué es sabido como hashing función. En esta sección mostraremos cómo podemos utilizar
aritmética modular para hacer hashing.
Construyendo las secuencias de números aleatorios es importantes para randomized
algoritmos, para simulacros, y para muchos otros propósitos. Construyendo una secuencia de
verdaderamente los números aleatorios es extremadamente difíciles, o quizás imposibles, porque
cualquier método para generar qué está supuesto para ser los números aleatorios pueden generar
números con patrones escondidos. Como consecuencia, los métodos han sido desarrollados para
encontrar secuencias de números que tiene muchos propiedades deseables de números aleatorios,
y cuáles pueden ser utilizados para varios propósitos en sitio de números aleatorios. En esta
sección mostraremos cómo para utilizar congruencias para generar secuencias de pseudorandom
números. La ventaja es que el pseudorandom números tan generados está construido deprisa; la
desventaja es que han demasiado predictability para ser utilizados para muchas tareas.
Las congruencias también pueden soler dígitos de control del producto para números de
identificación de varias clases, como números de código utilizaron para identificar productos
minoristas, numera utilizado para identificar libros, números de ticket de la aerolínea, y tan
encima. Explicaremos cómo para construir dígitos de control que utilizan congru-ences para una
variedad de tipos de números de identificación. Mostraremos que estos dígitos de control pueden
soler detectar clases seguras de los errores comunes hechos cuándo números de identificación
están imprimidos.

Hashing Funciones
El ordenador central en una compañía de seguro mantiene registros para cada de sus clientes.
Cómo puede ubicaciones de memoria ser asignados de modo que registros de cliente pueden
ser recuperados deprisa? La solución a este problema es para utilizar un suitably escogido
hashing función. Los registros están identificados utilizando una llave, el cual
singularmente identifica los registros de cada cliente. Para caso, registros de cliente son a
menudo identificó utilizar el número de Seguridad Social del cliente como la llave. Un
hashing función h asigna ubicación de memoria h(k) al récord aquello ha k como su llave.
En práctica, muchos diferentes hashing las funciones están utilizadas. Uno del más
común es la función

h(k) = k mod m

Dónde m es el número de ubicaciones de memoria disponible.


Hashing Las funciones tendrían que ser fácilmente evaluadas de modo que los archivos
pueden ser deprisa localizó. El hashing función h(k) = k mod m conoce este requisito; para
encontrar h(k), necesitamos sólo computar el resto cuándo k está dividido por m . Además, el
hashing la función tendría que ser a, de modo que todas ubicaciones de memoria son posibles. La
función h(k) = k mod m también satisface esta propiedad.
288 4 / Teoría de Número y Criptografía

EJEMPLO 1 Encuentra las ubicaciones de memoria asignaron por el hashing función h(k) = k mod 111 a
los registros de los clientes con Seguridad Social numera 064212848 y 037149212.

Solución: El registro del cliente con número de Seguridad Social 064212848 está asignado a
ubicación de memoria 14, porque

h(064212848) = 064212848 mod 111 = 14.

De modo parecido, porque

h(037149212) = 037149212 mod 111 = 65,

El registro del cliente con número de Seguridad Social 037149212 está asignado a memoria
Ubicación 65. ▲

Porque un hashing la función no es uno-a-un (porque hay llaves más posibles que
ubicaciones de memoria), más de uno archiva puede ser asignado a una ubicación de
memoria. Cuándo esto pasa, decimos que una colisión ocurre. Una manera para resolver una
colisión es para asignar la primera ubicación libre que sigue la ubicación de memoria
ocupada asignada por el hashing función.
EJEMPLO 2 después de hacer las asignaciones de registros a ubicaciones de memoria en Ejemplo 1,
asignar una ubicación de memoria al registro del cliente con número de Seguridad Social
107405723.

Solución: Primera nota que el hashing función h(k) = k mod 111 mapas el número de
Seguridad Social 107405723 a ubicación 14, porque

h(107405723) = 107405723 mod 111 = 14.

Aun así, esta ubicación es ya ocupada (por el archivo del cliente con número de Seguridad Social
064212848). Pero, porque ubicación de memoria 15, la primera ubicación que sigue ubicación de
memoria 14, es gratis, asignamos el registro del cliente con número de Seguridad Social
107405723
A esta ubicación. ▲

En Ejemplo 1 utilizamos una función perspicaz lineal, concretamente h(k, i) = h(k) + i


mod m, para buscar la primera memoria libre ubicación, donde i carreras de 0 a m − 1. Hay
muchos otras maneras de resolver colisiones que está hablado en las referencias en hashing
las funciones dadas al final del libro.

Pseudorandom Números
Aleatoriamente escogido numera es a menudo necesitado para simulacros de ordenador. Los
métodos diferentes han sido ingeniados para generar números que tiene propiedades de
aleatoriamente escogidos numera. Porque los números generaron por los métodos
sistemáticos no son verdaderamente aleatorios, se apellidan pseudorandom números.
El más procedimiento utilizado generalmente para generar pseudorandom los números es
el lineales congruential método. Escogemos cuatro enteros: el modulus m, multiplier un,
increment c, y semilla x0, con 2 ≤ un <m , 0 ≤ c < m, y 0 ≤ x0 < m. Generamos un se-
quence de pseudorandom números {xn }, con 0 ≤ x < n m para todo n , por sucesivamente
utilizando el recursively función definida
xn +1 = (hachan + c) mod m.
(Esto es un ejemplo de una definición recursiva, hablado en Sección 5.3. En aquella sección
mostraremos que tales secuencias son bien definió.)
4.5 Aplicaciones de Congruencias 289

Muchos experimentos de ordenador requieren la generación de pseudorandom números


entre 0 y 1. Para generar tales números, dividimos los números generaron con un lineales
congruential generador por el modulus: aquello es, utilizamos los números xn /m.

EJEMPLO 3 Encuentra la secuencia de pseudorandom los números generaron por el lineales congruential
método con modulus m = 9, multiplier un = 7, increment c = 4, y semilla x0 = 3.
Solución: computamos los plazos de esta secuencia por sucesivamente utilizando el
recursively función definida xn +1 = (7x n + 4) mod 9, empezando por insertar la semilla x0
= 3 para encontrar x1. Encontramos aquello

x1 = 7x0 + 4 mod 9 = 7 · 3 + 4 mod 9 = 25 mod 9 = 7,


x2 = 7x1 + 4 mod 9 = 7 · 7 + 4 mod 9 = 53 mod 9 = 8,
x3 = 7x2 + 4 mod 9 = 7 · 8 + 4 mod 9 = 60 mod 9 = 6,
x4 = 7x3 + 4 mod 9 = 7 · 6 + 4 mod 9 = 46 mod 9 = 1,
x5 = 7x4 + 4 mod 9 = 7 · 1 + 4 mod 9 = 11 mod 9 = 2,
x6 = 7x5 + 4 mod 9 = 7 · 2 + 4 mod 9 = 18 mod 9 = 0,
x7 = 7x6 + 4 mod 9 = 7 · 0 + 4 mod 9 = 4 mod 9 = 4,
x8 = 7x7 + 4 mod 9 = 7 · 4 + 4 mod 9 = 32 mod 9 = 5,
x9 = 7x8 + 4 mod 9 = 7 · 5 + 4 mod 9 = 39 mod 9 = 3.

Porque x9 = x0 y porque cada plazo depende sólo en el plazo anterior, vemos que la
secuencia

3, 7, 8, 6, 1, 2, 0, 4, 5, 3, 7, 8, 6, 1, 2, 0, 4, 5, 3, . . .


Está generado. Esta secuencia contiene nueve números diferentes antes de repetir.

La mayoría de ordenadores utilizan lineales congruential generadores para generar


pseudorandom números. A menudo, un lineal congruential generador con increment c = 0
está utilizado. Tal generador se apellida un puro multiplicative generador. Por ejemplo, el
31 5
puro multiplicative generador con modulus 2 − 1 y multiplier 7 = 16,807 es ampliamente
31
utilizó. Con estos valores, pueda ser mostrado que 2 − 2 números están generados antes de
que la repetición empieza.
Pseudorandom Numera generado por lineal congruential los generadores mucho tiempo han
sido utilizados para muchas tareas. Desafortunadamente, ha sido mostrado que secuencias de
pseudorandom números gen-erated de este modo no comparte algunos propiedades estadísticas
importantes que los números aleatorios ciertos tienen. Debido a este, no es aconsejable de
utilizarles para algunas tareas, como simulacros grandes. Para tales tareas sensibles, otros métodos
suelen secuencias de producto de pseudorandom num-bers, tampoco utilizando alguna clase de
algoritmo o muestreo numera surgir de un fenómeno físico aleatorio. Para más detalles en
pseudorandom número, ve [Kn97] y [Re10].

Dígitos de control
Las congruencias suelen control para errores en cuerdas de dígito. Una técnica común para
detectar los errores en tales cuerdas es para añadir un dígito extra al final de la cuerda. Este
dígito final, o dígito de control, está calculado utilizando una función particular. Entonces,
para determinar si una cuerda de dígito es correcta, un control está hecho para ver si este
dígito final tiene el valor correcto. Empezamos con una aplicación de esta idea para
comprobar el correctness de mordió cuerdas.
290 4 / Teoría de Número y Criptografía

EJEMPLO 4 Bits de Control de la paridad la información Digital está representada por mordió cuerda,
partido a bloques de una medida especificada. Antes de cada bloque está almacenado o
transmitido, un extra mordió, llamó un control de paridad mordió, puede ser anexado a
cada bloque. El control de paridad mordió xn +1 para la cuerda de bit x1x2 . . . x n Está
definido por

xn +1 = x1 + x2 + · · · + x n mod 2.

Sigue que xn +1 es 0 si hay un incluso número de 1 bits en el bloque de n los bits y él es 1 si


hay un número extraño de 1 bits en el bloque de n bits. Cuándo examinamos una cuerda que
incluye un control de paridad mordió, sabemos que hay un error en él si el control de paridad
mordió es mal. Aun así, cuándo el control de paridad mordió es correcto, todavía puede haber un
error. Un control de paridad puede detectar un número extraño de errores en los bits anteriores,
pero no un incluso número de errores. (Ve Ejercicio 14.)
Supone recibimos en una transmisión las cuerdas de bit 01100101 y 11010110, cada
final con un control de paridad mordió. Tener que aceptamos estos mordieron cuerdas como
correctos?

Solución: antes de aceptar estas cuerdas como correctos, examinamos sus bits de control de la
paridad. El control de paridad mordió de la primera cuerda es 1. Porque 0 + 1 + 1 + 0 + 0 + 1 + 0
≡ 1 (mod 2), el control de paridad mordió es correcto. El control de paridad mordió de la segunda
cuerda es 0. Encontramos que 1 + 1 + 0 + 1 + 0 + 1 + 1 ≡ 1 (mod 2), así que el control de paridad
es incorrect. Concluimos que la primera cuerda puede haber sido transmitida correctamente y
sabemos para seguros que la segunda cuerda estuvo transmitida incorrectamente. Aceptamos la
primera cuerda como correcto (incluso aunque todavía pueda contener un
Incluso número de errores), pero rehusamos la segunda cuerda. ▲

Bits de control computaron utilizar las congruencias están utilizadas extensamente para
verificar el correctness de varias clases de números de identificación. Ejemplos 5 y 6
espectáculo cómo bits de control están computados para códigos que identifica productos
(Códigos de Producto Universal) y libros (Números de Libro Estándares Internacionales).
Los preámbulos a Ejercicios 18, 28, y 32 introduce el uso de congruencias para encontrar y
EJEMPLO 5 dígitos de control del uso en números de orden de pago, números de ticket de la aerolínea, y
números de identificación para periodicals, respectivamente. Nota que las congruencias son
también utilizadas para computar dígitos de control para números de cuenta de banco,
números de licencia de los conductores, números de tarjeta del crédito, y muchos otros tipos
de números de identificación.
UPCs Los productos minoristas están identificados por sus Códigos de Producto
Universales (UPCs). La forma más común de un UPC tiene 12 dígitos decimales: el primer
dígito identifica la categoría de producto, el próximo cinco dígitos identifican el fabricante, el
siguiente cinco identifica el producto particular, y el último dígito es un dígito de control . El
dígito de control está determinado por la congruencia

3x1 + x2 + 3x3 + x4 + 3x5 + x6 + 3x7 + x8 + 3x9 + x10 + 3x11 + x12 ≡ 0 (mod 10).

Respuesta estas cuestiones:


(a) Supone que los primeros 11 dígitos de un UPC es 79357343104. Qué es el dígito de
control?
(b) Es 041331021641 un válido UPC?

Solución: (un) insertamos los dígitos de 79357343104 a la congruencia para UPC dígitos de
control. Esto da 3 · 7 + 9 + 3 · 3 + 5 + 3 · 7 + 3 + 3 · 4 + 3 + 3 · 1 + 0 + 3 · 4 +
x12 ≡ 0 (mod 10).
Simplificando,
tenemos 21 + 9 + 9
+ 5 + 21 + 3 + 12 +
3 + 3 + 0 + 12 +
x12 ≡ 0 (mod 10).
De ahí, 98 + x12 ≡
0 (mod 10). Sigue
que x12 ≡ 2 (mod
10), así que el dígito
de control es 2.
(b) Para comprobar
si 041331021641
es válido,
insertamos los
dígitos a la
congruencia estos
dígitos tienen que
satisfacer. Esto da
3·0+4+3·1+
3+3·3+1+3·
0+2+3·1+6+
3·4+1≡0+4+
3+3+9+1+0+
2 + 3 + 6 + 12 + 1
≡ 4 ≡ 0 (mod 10).
De ahí,
041331021641
No es un válido
UPC. ▲
4.5 Aplicaciones de Congruencias 291

EJEMPLO 6 ISBNs Todos los libros están identificados por un Número de Libro Estándar
Recuerda que el control Internacional (ISBN-10), un código de 10 dígitos x1x2 . . . x10, asignado por el editor.
Dígito de un ISBN-10 lata (Recientemente, un código de 13 dígitos sabido como ISBN-13 estuvo introducido para
Ser un X! identificar un número más grande de publicó trabajos; ver el preámbulo para Ejercitar 42 en
los Ejercicios Suplementarios.) Un ISBN-10 consta de bloquea identificar la lengua, el editor,
el número asignó al libro por su compañía editorial, y finalmente, un dígito de control que es
tampoco un dígito o la letra X (utilizado para representar 10). Este dígito de control está
seleccionado de modo que

9
x10 ≡ ixi (mod 11),
i=1

O equivalently, de modo que

10
ixi ≡ 0 (mod 11).
i=1

Respuesta estas cuestiones sobre ISBN-10s:


(a) Los primeros nueve dígitos del ISBN-10 de la sexta edición de este libro es 007288008.
Qué es el dígito de control?
(b) Es 084930149X un válido ISBN-10?
Solución: (un) El dígito de control está determinado por la 10
congruencia i=1 ixi ≡ 0 (mod 11). Insertando
Los dígitos 007288008 da x10 ≡ 1 · 0 + 2 · 0 + 3 · 7 + 4 · 2 + 5 ·8+6·8+7·0+8·0+
9 · 8 (mod 11). Esto significa que x10 ≡ 0 + 0 + 21 + 8 + 40 + 48 + 0 + 0 + 72 (mod 11), tan
x10 ≡ 189 ≡ 2 (mod 11). De ahí, x10 = 2.
10
0 (mod 11).
(b) Para ver si 084930149X es un válido ISBN-10, vemos si i=1 ixi ≡ Nosotros
Ve que 1 · 0 + 2 · 8 + 3 · 4 + 4 · 9 + 5 · 3 + 6 · 0 + 7 · 1 + 8 · 4 + 9 · 9 + 10 · 10 = 0 + 16 +
12 + 36 + 15 + 0 + 7 + 32 + 81 + 100 = 299 ≡ 2 ≡ 0 (mod 11). De ahí, 084930149X no es
Un válido ISBN-10. ▲

Varias clases de los errores a menudo surgen en números de identificación. Un error solo, un
error en un dígito de un número de identificación, es quizás el tipo más común de error. Otra clase
común de error es un error de transposición, el cual ocurre cuándo dos dígitos son
Los editores a veces accidentalmente inter-cambió. Para cada tipo de número de identificación, incluyendo un dígito de
hacen control, gustaríamos ser capaces de detectar estos tipos comunes de errores, así como otros tipos
No calcular ISBNs de errores. Investigaremos si el dígito de control para ISBNs puede detectar transposición y
Correctamente para sus
libros, errores solos errores. Si dígitos de control para UPCs puede detectar estas clases de errores queda
Cuando estuvo hecho tan Ejercicios 26 y 27.
10 ≡
para un más temprano
Edición de este texto. Supone que x1x2 . . . x10 es un válido ISBN (de modo que i 0 (mod 10)). Mostraremos
i=1 x
aquello
Podemos detectar un error solo y una transposición de dos dígitos (dónde incluimos la
posibilidad que uno de los dos dígitos es el dígito de control X, representando 10). Supone que
este ISBN ha sido imprimido con un error solo como y 1y2 . . . y10. Si hay un error solo,
entonces, para algún entero j ,
yi = x i Para i = j y y j = x j + un donde −10 ≤ un ≤ 10 y un = 0. Nota que un = yj − x j es
el error en el j th sitio. Entonces sigue aquello
10 10

iyi = ixi + j Un ≡ j un ≡ 0 (mod 11).


i=1 i=1
292 4 / Teoría de Número y Criptografía

10
Estas últimas dos congruencias control i=1 x i ≡ 0 (mod 10) y 11 | j Un, porque 11 | j
porque No es un válido ISBN. Tan, hemos detectado el solos
Y 11 | un. Concluimos que y1y2 . . . y10
error.
Ahora suponer que dos dígitos desiguales han sido transposed. Sigue que hay enteros
distintos j y k tal que yj = x k y y k = x j , y y i = x i para i = j e i = k. De ahí,
10 10

iyi =ixi + (j x k − j x j ) + (kxj − kxk ) ≡ (j − k)(x k − x j ) ≡ 0 (mod 11),


i=1 i=1
10
Porque i=1 x i ≡ 0 (mod 10) y 11 | (j − k) Y 11 | (x k − x j ). Vemos que y1y2 . . . y10
No es un válido ISBN. Así, podemos detectar el intercambio de dos dígitos desiguales.

Ejercicios
212228844, k8 = 325510778, k9 = 353354519, k10 =
053708912.
1. Qué ubicaciones de memoria están asignadas por el 5. Qué secuencia de pseudorandom los números es gener-
hashing función h(k) = k mod 97 a los registros de clientes
ated utilizando el lineales congruential generador xn +1
de compañía del seguro con estos números de Seguridad
Sociales? = (3x n + 2) mod 13 con semillas x0 = 1?
6. Qué secuencia de pseudorandom los números es gener-
U
n) 034567981 b) 183211232 ated utilizando el lineales congruential generador xn +1
c) 220195744 d) 987255335 = (4x n + 1) mod 7 con semillas x0 = 3?
2. Qué ubicaciones de memoria están asignadas por el
hashing función h(k) = k mod 101 a los registros de
clientes de compañía del seguro con estos números de
Seguridad Sociales?
U
n) 104578690 b) 432222187
c) 372201919 d) 501338753
3. Una parcela de aparcamiento tiene 31 espacios de
visitante, numerados de 0 a
30. Los visitantes están asignados aparcamiento espacía
utilizar el hashing función h(k) = k mod 31, donde k es el
número formado de los primeros tres dígitos en el plato de
licencia de un visitante.
a) Qué espacios están asignados por el hashing
función a coches que tiene estos primeros tres
dígitos en sus platos de licencia: 317, 918, 007, 100,
111, 310?
b) Describir unos visitantes de procedimiento tendrían
que seguir para encontrar un espacio de
aparcamiento libre, cuándo el espacio están
asignados está ocupado.
Otra manera de resolver colisiones en hashing es para utilizar
doble hashing. Utilizamos un iniciales hashing función h(k) =
k mod p donde p es primo. También utilizamos un segundo
hashing g de función(k) = (k + 1) mod (p − 2). Cuándo una
colisión ocurre, utilizamos una secuencia perspicaz h(k, i) =
(h(k) + i · g(k)) mod p.
4. Uso el doble hashing procedimiento hemos descrito con
p = 4969 para asignar ubicaciones de memoria a archivos
para em-ployees con números de seguridad social k1 =
132489971, k2 = 509496993, k3 = 546332190, k4 =
034367980, k5 = 047900151, k6 = 329938157, k7 =
7. Qué secuencia de pseudorandom los números es gener-
ated utilizando el puros multiplicative generador xn +1
= 3x n mod 11 con semillas x0 = 2?
8. Escribir un algoritmo en pseudocode para generar un
se-quence de pseudorandom los números que utilizan
un lineales congru-ential generador.
El medio-método cuadrado para generar pseudorandom
los números empieza con un n-entero de dígito. Este
número está cuadrado, los ceros iniciales están anexados
para asegurar que el resultado tiene 2n dígitos, y su medios
n los dígitos suelen forma el número próximo en la
secuencia. Este proceso está repetido para generar plazos
adicionales.
9. Encontrar los primeros ocho plazos de la secuencia de
cuatro-dígito pseudorandom numera generado por el
método cuadrado medio que empieza con 2357.
10. Explicar por qué ambos 3792 y 2916 sería elecciones
malas para el plazo inicial de una secuencia de cuatro-
dígito pseudoran-dom los números generaron por el
método cuadrado medio.
El generador de poder es un método para generar pseudoran-
dom números. Para utilizar el generador de poder, parámetros p
y d está especificado, donde p es un albor, d es un entero
positivo tal que p | d, y una semilla x0 está especificado. El
pseudorandom num-bers x1, x2, . . . Está generado utilizando
la definición recursiva
nd
xn +1 = x mod p.
11. Encontrar la secuencia de pseudorandom los números
generaron por el generador de poder con p = 7, d = 3,
y semilla x0 = 2.
12. Encontrar la secuencia de pseudorandom los números
generaron por el generador de poder con p = 11, d =
2, y semilla x0 = 3.
13. Supone recibiste estos mordieron cuerdas sobre un
communi-enlace de cationes, donde el último bit es un
control de paridad mordió. En qué cuerda eres seguro
hay un error?
a) 00000111111
b) 10101010101
c) 11111100000
d) 10111101111
14. Prueba que un control de paridad mordió puede detectar
un error en una cuerda si y sólo si la cuerda contiene un
número extraño de errores.
15. Los primeros nueve dígitos del ISBN-10 del europeos 4.5 Aplicaciones de Congruencias 293
ver-sion de la quinta edición de este libro es 0-07-
119881. Qué es el dígito de control para aquel libro?
16. El ISBN-10 de la sexta edición de Teoría de Número a) 036000291452
Elemental y Sus Aplicaciones es 0-321-500Q1-8, donde b) 012345678903
Q es un dígito. Encontrar el valor de Q . c) 782421843014
17. Determinar si el dígito de control del ISBN-10 para este d) 726412175425
textbook (la séptima edición de Discreto Mathemat-ics 26. Hace el dígito de control de un UPC el código detecta
y sus Aplicaciones) estuvo computado correctamente todo solo er-rors? Probar vuestra respuesta o encontrar
por el editor. un contraejemplo.
Los Estados Unidos Servicio Postal (USPS) vende las órdenes de 27. Determinar qué errores de transposición el dígito de
pago identificaron por un número de 11 dígitos x1x2 . . . x11. El control de un UPC el código encuentra.
primeros diez cavan-su identificar la orden de pago; x11 es un Algunos ticket de aerolínea tienen una identificación de 15 dígitos
dígito de control que satisface numera un1un2 . . . Un15 dónde un 15 es un dígito de control que
x11 = x1 + x2 + · · · + x10 mod 9. equals un1un2 . . . Un14
18. Encontrar el dígito de control para el USPS órdenes de mod 7.
pago que tiene número de identificación que inicio con 28. Encontrar el dígito de control un15 aquello sigue cada cual
estos diez dígitos. de esta inicial 14 dígitos de un número de identificación de
a) 7555618873 ticket de aerolínea.
b) 6966133421 a) 10237424413392
c) 8018927435 b) 00032781811234
d) 3289744134 c) 00611232134231
19. Determinar si cada cual de estos números es un válido d) 00193222543435
USPS número de identificación de la orden de pago. 29. Determinar si cada cual de estos números de 15 dígitos
a) 74051489623 es una identificación de ticket de aerolínea válida
b) 88382013445 número.
c) 56152240784 a) 101333341789013
d) 66606631178 b) 007862342770445
20. Un dígito en cada de estos números de identificación de c) 113273438882531
una orden de pago postal es smudged. Puede recuperas d) 000122347322871
el smudged dígito, indicado por un Q, en cada de estos 30. Qué errores en un dígito solo de una aerolínea de 15
num-bers? dígitos número de identificación del ticket puede ser
a) Q1223139784 detectado?
b) 6702120Q988 ∗ 31. Puede la transposición accidental de dos consecutivo
c) 27Q41007734 cavar-su en un número de identificación de ticket de
d) 213279032Q1 aerolínea ser detectado utilizando el dígito de control?
21. Un dígito en cada de estos números de identificación de Periodicals Está identificado utilizando un Número de
una orden de pago postal es smudged. Puede recuperas Serial Estándar Internacional (ISSN). Un ISSN consta de
el smudged dígito, indicado por un Q, en cada de estos dos bloques de cuatro dígitos. El último dígito en el segundo
num-bers? bloque es un dígito de control. Este dígito de control está
a) 493212Q0688 determinado por la congruencia d8 ≡ 3d1 + 4d2 + 5d3 +
b) 850Q9103858 6d4 + 7d5 + 8d6 + 9d7 (mod 11). Cuándo d8 ≡ 10 (mod
c) 2Q941007734 11), utilizamos la letra X para representar d8 en el código.
d) 66687Q03201
32. Para cada de esta inicial siete dígitos de un ISSN,
22. Determinar qué errores de dígito solos están detectados disuadir-mina el dígito de control (cuáles pueden ser la
por el USPS código de orden de pago. letra X).
23. Determinar qué errores de transposición están a) 1570-868
detectados por el USPS código de orden de pago. b) 1553-734
24. Determinar el dígito de control para el UPCs aquello c) 1089-708
tiene esta inicial 11 dígitos. d) 1383-811
a) 73232184434 33. Es cada cual de estos códigos de ocho dígitos posibles
b) 63623991346 ISSNs? Aquello es, acaban con un dígito de control
c) 04587320720 correcto?
d) 93764323341 a) 1059-1027
25. Determinar si cada cual de las cuerdas de 12 dígitos es b) 0002-9890
un válidos UPC código. c) 1530-8669
d) 1007-120X
34. Hace el dígito de control de un ISSN detectar cada error
solo en un ISSN? Justificar vuestra respuesta con
cualquier una prueba o un contraejemplo.
35. Hace el dígito de control de un ISSN detectar cada error
donde dos dígitos consecutivos son accidentalmente
interchanged? Jus-tify Vuestra respuesta con cualquier una
prueba o un contraejemplo.
294 4 / Teoría de Número y Criptografía

4.6 Criptografía

Introducción
Teoría de número juega una función clave en criptografía, el tema de transformar información de
modo que no pueda ser fácilmente recuperado sin conocimiento especial. Teoría de número es la
base de muchos clásicos ciphers, primero utilizó miles de hace años, y utilizó extensamente hasta
el siglo XX. Estos ciphers encriptar mensajes por cambiar cada letra a una letra diferente, o cada
bloque de letras a un bloque diferente de letras. Hablaremos algunos clásicos ciphers, incluyendo
cambio ciphers, los cuales reemplazan cada letra por la letra un número fijo de posiciones más
tarde en el alfabeto, envolviendo alrededor al principio del alfabeto cuándo necesario. El clásico
ciphers hablaremos es ejemplos de privados claves ciphers donde sabiendo cómo para encriptar
deja alguien a también decrypt mensajes. Con una llave privada cipher, dos partidos quiénes
desean comunicar en el mosto secreto comparte una llave secreta. El clásico ciphers hablaremos
es también vulnerable a cryptanalysis, el cual busca para recuperar información encriptada sin
acceder a la información secreta utilizó para encriptar el mensaje. Mostraremos cómo a
cryptanalyze los mensajes enviaron utilizar cambio ciphers.
Teoría de número es también importante en público criptografía clave, un tipo de la
criptografía inventada en el 1970s. En público criptografía clave, sabiendo cómo a encripta
no también decir alguien qué a decrypt. El más ampliamente utilizado sistema clave público,
llamó la RSA cryptosystem, encripta mensajes utilizando modulares exponentiation, donde el
modulus es el producto de dos albores grandes. Sabiendo cómo para encriptar requiere que
alguien sabe el modulus y un exponente. (No requiere que los dos factores primos del
modulus ser sabidos.) Según lo que es sabido, sabiendo cómo a decrypt requiere alguien para
saber cómo a invert la función de encriptación, los cuales sólo pueden ser hechos en una
cantidad práctica de cronometrar cuándo alguien sabe estos dos factores primos grandes. En
este capítulo explicaremos cómo la RSA cryptosystem trabajos, incluyendo cómo para
encriptar y decrypt mensajes.
El tema de la criptografía también incluye el tema de cryptographic protocolos, los
cuales son intercambios de los mensajes llevaron a cabo por dos o más partidos para
conseguir un objetivo de seguridad concreto. Hablaremos dos protocolos importantes en este
capítulo. Uno deja dos personas para compartir una llave secreta común. El otro puede soler
enviar firmó mensajes de modo que un recipient puede ser seguro que estuvieron enviados
por el purported sender.

Criptografía clásica
Uno de los usos sabidos más tempranos de criptografía era por Julius Caesar. Haga secreto de
mensajes por cambiar cada letra tres letras adelante en el alfabeto (enviando las últimas tres letras
del alfabeto al primer tres). Para caso, utilizando este esquema la letra B está enviado a E y la letra
X está enviado a Un. Esto es un ejemplo de encriptación , aquello es, el proceso de hacer un
secreto de mensaje.
Para expresar Caesar proceso de encriptación matemáticamente, primero reemplazar
cada letra por un ele-ment de Z 26, aquello es, un entero de 0 a 25 igual a uno menos de su
posición en el alfabeto. Por ejemplo, reemplazar Un por 0, K por 10, y Z por 25. Caesar
método de encriptación puede ser representado por la función f aquello asigna al nonnegative
entero p, p ≤ 25, el entero f (p) en el conjunto {0, 1, 2, . . . , 25} con

f (p) = (p + 3) mod 26.


En la versión encriptada del mensaje, la letra representada por p está reemplazado con la
letra representada por (p + 3) mod 26.
4.6 Criptografía 295

EJEMPLO 1 Qué es el mensaje secreto producido del mensaje “CONOCE TÚ EN EL PARQUE que”
utiliza el Caesar cipher?

Solución: Primero reemplazar las letras en el mensaje con números. Estos productos

12 4 4 19 24 14 20 8 13 19 7 4 15 0 17 10.
Ahora reemplazar cada cual de estos números p por f (p) = (p + 3) mod 26.
Esto da
15 7 7 22 1 17 23 11 16 22 10 7 18 3 20 13.

Traduciendo este atrás a las letras produce el mensaje encriptado “PHHW BRX L WKH
Q
SDUN.”


Para recuperar el mensaje original de un mensaje secreto encriptado por el Caesar cipher,
−1 −1
la función f , el inverse de f , está utilizado. Nota que la función f envía un entero p de
−1
Z 26, a f (p) = (p − 3) mod 26. En otras palabras,, para encontrar el mensaje original, cada
letra está cambiada atrás tres letras en el alfabeto, con las primeras tres letras enviaron a las
últimas tres letras del alfabeto. El proceso de determinar el mensaje original del mensaje
encriptado se apellida decryption.
Hay varias maneras de generalizar el Caesar cipher. Por ejemplo, en vez de cambiar el
equivalente numérico de cada letra por 3, podemos cambiar el equivalente numérico de cada letra
por
k, de modo que

f (p) = (p + k) mod 26.

Tal cipher se apellida un cambio cipher. Nota que decryption puede ser llevado a cabo
utilizando

−1
f (p) = (p − k) mod 26.
Aquí el entero k se apellida una llave. Ilustramos el uso de un cambio cipher en Ejemplos 2 y
3.
EJEMPLO 2 Encripta el plaintext PARÓN “de mensaje el CALENTAMIENTO GLOBAL que” utiliza el
cambio cipher con cambio k = 11.
Solución: para encriptar la PARÓN “de mensaje CALENTAMIENTO GLOBAL” primero
traducimos cada letra al elemento correspondiente de Z 26. Esto produce la cuerda

18 19 14 15 6 22 0 17 12 8 13 6.

1
1

1
4

1
1
Ahora aplicamos el cambio f (p) = (p + 11) mod 26 a cada número en esta cuerda.
Obtenemos

3 4 25 0 1 7 11 2 23 19 24 17.
7

2
2

2
5

1
2

1
1

2
2
Traduciendo esta última cuerda atrás a letras, obtenemos el ciphertext “DEZA RWZMLW
HLCX-TYR.” ▲

EJEMPLO 3 Decrypt El ciphertext mensaje “LEWLYPLUJL P H N ALHJOLY” Aquello era


Z Y en-
L
H
A
crypted Con el cambio cipher con cambio k = 7.

Solución: A decrypt el ciphertext “LEWLYPLUJL P H N ALHJOLY”


Z Y Nosotros primero
L
H
A
Traducir las letras atrás a elementos de Z 26. Obtenemos

11 4 22 11 24 15 11 20 9 11 1 7 1 0 11 7 9 14 11 24.
5 3

2 2
5 4

1
1

0
296 4 / Teoría de Número y Criptografía

Luego, cambiamos cada cual de estos números por −k = −7 modulo 26 para obtener

4 23 15 4 17 8 4 13 2 4 8 18 0 6 17 4 0 19 19 4 0 2 7 4 17.

Finalmente, traducimos estos numera atrás a letras para obtener el plaintext. Obtenemos
“La EXPERIENCIA ES Una PROFESORA GRANDE .” ▲

Podemos generalizar cambio ciphers más allá a ligeramente realzar seguridad por utilizar
una función de la forma

f (p) = (ap + b) mod 26,

Dónde un y b es enteros, escogidos de modo que f es un bijection. (La función f (p) = (ap +
b) mod 26 es un bijection si y sólo si gcd(un, 26) = 1.) Tal mapeo se apellida una
transformación afín, y el resultante cipher se apellida un afín cipher.

EJEMPLO 4 Qué letra reemplaza la letra K cuándo la función f (p) = (7p + 3) mod 26 está utilizado para
en-cryption?

Solución: Primero, nota que 10 representa K. Entonces, utilizando la función de encriptación


especificó, sigue que f (10) = (7 · 10 + 3) mod 26 = 21. Porque 21 representa V, K está
reemplazado por V
En el mensaje encriptado. ▲

Ahora mostraremos cómo a decrypt los mensajes encriptaron utilizar un afines cipher.
Supone que c = (ap + b) mod 26 con gcd(un, 26) = 1. A decrypt necesitamos mostrar cómo
para expresar p en plazos de c. Para hacer este, aplicamos la congruencia de encriptar c ≡
ap + b (mod 26), y solucionar él para p. Para hacer este, primero restamos b de ambos lados,
para obtener c − b ≡ ap (mod 26). Porque gcd(un, 26) = 1, sabemos que hay un inverse un
de un modulo 26. Multiplicando ambos lados de la última ecuación por un nos doy un(c −
b) ≡ aap (mod 26). Porque aa ≡ 1 (mod 26), esto nos digo que p ≡ un(c − b) (mod 26). Esto
determina p porque p pertenece a Z 26.
CRYPTANALYSIS El proceso de recuperar plaintext de ciphertext sin conocimiento de ambos el
método de encriptación y la llave es sabidos como crytanalysis o rompiendo códigos. En general,
cryptanalysis es un proceso difícil, especialmente cuándo el método de encriptación es
desconocido. No hablaremos cryptanalysis en general, pero explicaremos cómo para romper
mensajes que estuvo encriptado utilizando un cambio cipher.
Si sabemos que un ciphertext el mensaje estuvo producido por cifrar un mensaje que utiliza
un cambio cipher, podemos intentar recuperar el mensaje por cambiar todos los caracteres del
ciphertext por cada de los 26 cambios posibles (incluyendo un cambio de cero caracteres). Uno de
Los matemáticos hacen
estos es guaranteed para ser el plaintext. Aun así, podemos utilizar una aproximación más
los rompientes de código
mejores. Su trabajo en inteligente, el cual podemos construir a a cryptanalyze ciphertext resultando de otro ciphers. La
Segunda Guerra mundial herramienta principal para cryptanalyzing ciphertext encriptó utilizar un cambio cipher es la
cambió el curso de la cuenta de la frecuencia de letras en el ciphertext. Las nueve letras más comunes en el texto inglés
guerra. y sus frecuencias relativas aproximadas son E 13%, T 9%, Un 8%, O 8%, yo 7%, N 7%, S 7%, H
6%, y R 6%. A cryptanalyze ciphertext que sabemos estuvo producido utilizando un cambio
cipher, primero encontramos las frecuencias relativas de letras en el ciphertext. Listamos las
letras más comunes en el ciphertext en orden de frecuencia; nosotros hypothesize que la letra más
común en el ciphertext está producido por encriptar E. Entonces, determinamos el valor del
cambio bajo esta hipótesis, dice k. Si el mensaje producido por cambiar el ciphertext por −k
sentido de marcas, nosotros presume que nuestra hipótesis es correcta y que tenemos el valor
correcto de k . Si no hace sentido, luego consideramos la hipótesis que la letra más común en el
ciphertext está producido por encriptar T, el segunda letra más común en inglés; encontramos k
bajo esta hipótesis, cambio las letras del mensaje por −k, y ver si el sentido de marcas de mensaje
resultante. Si él no,
continuamos el
proceso que trabaja
nuestra manera a
través de las letras de
más comunes a
menos comunes.
4.6 Criptografía 297

EJEMPLO 5 Supone que interceptamos el ciphertext mensaje ZNK KGXRE HOXJ MKZY ZNK CUXS que
sabemos estuvo producido por un cambio cipher. Qué era el original plaintext mensaje?

Solución: Porque sabemos que el interceptados ciphertext el mensaje estuvo encriptado


utilizando un cambio cipher, empezamos por calcular la frecuencia de letras en el ciphertext.
Encontramos que la letra más común en el ciphertext es K. Tan, nosotros hypothesize que el
cambio cipher envió el plaintext letra E al ciphertext letra K. Si esta hipótesis es correcta,
sabemos que 10 = 4 + k mod 26, tan k = 6. Luego, cambiamos las letras del mensaje por −6,
obteniendo A quien madruga, Dios le ayuda. Porque este sentido de marcas del mensaje,
suponemos aquello
La hipótesis que k = 6 es correcto. ▲

BLOQUE CIPHERS Cambio ciphers y afín ciphers proceder por reemplazar cada letra del
alfabeto por otra letra en el alfabeto. Debido a este, estos ciphers se apellida carácter o
monoalphabetic ciphers. Métodos de encriptación de esta clase son vulnerables a los ataques
basaron en el análisis de frecuencia de letra en el ciphertext, cuando justo ilustramos. Lo podemos
hacer más duros a exitosamente atacar ciphertext por reemplazar bloques de letras con otros
bloques de letras en vez de reemplazar caracteres individuales con caracteres individuales; tal
ciphers se apellida bloque ciphers.

Ahora introduciremos un tipo sencillo de bloque cipher, llamó la transposición cipher.


Como clave utilizamos una permutación σ del conjunto {1, 2, . . . , m} para algún entero
positivo m, aquello es, un un-a-una función de { 1, 2, . . . , m} a él. Para encriptar un mensaje
nosotros primero partidos sus letras a bloques de medida m. (Si el número de letras en el
mensaje no es divisible por m añadimos algunos letras aleatorias al final para llenar fuera
del bloque final.) Encriptamos el bloque p1p2 . . . pm Como c1c2 . . . cm = pσ (1)pσ (2) . .
. , pσ (m). A decryt un ciphertext bloque c1c2 . . . cm, nosotros transpose sus letras que
−1
EJEMPLO 6 utilizan la permutación σ , el inverse de σ . Ejemplo 6 ilustra encriptación y decryption
para una transposición cipher.

Utilizando la transposición cipher basó en la permutación σ del conjunto {1, 2, 3, 4} con σ (1) = 3,
σ (2) = 1, σ (3) = 4, y σ (4) = 2,
(a) Encriptar el plaintext mensaje ATAQUE PIRATA.
(b) Decrypt El ciphertext mensaje SWUE TRAE OEHS, el cual estuvo encriptado utilizando este
cipher.

Solución: (un) Nosotros primero partidos las letras del plaintext a bloques de cuatro letras.
Obtenemos PIRA TEAT TACK. Para encriptar cada bloque, enviamos la primera letra a la
tercera posición, la segunda letra a la primera posición, la tercera letra a la cuarta posición, y
la cuarta letra a la segunda posición. Obtenemos IAPR ETTA AKTC.
−1
(b) Notamos que σ , el inverse de σ , envía 1 a 2, envía 2 a 4, envía 3 a 1, y envía 4 a 3.
−1
Aplicando σ (m) a cada bloque nos doy el plaintext: USEW ATER MANGUERA. (Agrupando
junto estas letras para formar palabras comunes, nosotros surmise que el plaintext es AGUA de
USO
MANGUERA.) ▲

CRYPTOSYSTEMS Hemos definido dos familias de ciphers: cambio ciphers y afín ciphers.
DEFINICIÓN 1 Ahora introducimos la idea de un cryptosystem, el cual proporciona una estructura general para
definir familias nuevas de ciphers.

A cryptosystem Es un cinco-tuple (P, C, K, E, D), donde P es el conjunto de plaintext cuerdas,


C es el conjunto de ciphertext cuerdas, K es el keyspace (el conjunto de todas las llaves
posibles), E es el conjunto de funciones de encriptación, y D es el conjunto de decryption
funciones.
Denotamos por
Ek la función de
encriptación en E
correspondiendo
al clave k y D k el
decryption
función en D que
decrypts
ciphertext Aquello
estuvo encriptado
utilizando Ek ,
aquello esD k (Ek
(p)) = p, para todo
plaintext cuerdas
p.
298 4 / Teoría de Número y Criptografía

Ahora ilustramos el uso de la definición de un cryptosystem.


EJEMPLO 7 Describe la familia de cambio ciphers como cryptosytem.

Solución: para encriptar una cuerda de letras inglesas con un cambio cipher, primero traducimos cada
letra a un entero entre 0 y 25, aquello es, a un elemento de Z 26. Entonces cambiamos cada cual de
estos enteros por un entero fijo modulo 26, y finalmente, traducimos los enteros atrás a letras. Para
aplicar el defintion de un cryptosystem para cambiar ciphers, suponemos que nuestros mensajes son ya
enteros, aquello es, elementos de Z 26. Aquello es, suponemos que la traducción entre letras y enteros
es exterior del cryptosystem. Consiguientemente, tanto el conjunto de plaintext cuerdas P y el conjunto
de ciphertext cuerdas C es el conjunto de cuerdas de elementos de Z 26. El conjunto de llaves K es el
conjunto de cambios posibles, así que K = Z26. El conjunto E consta de funciones de la forma Ek (p) =
(p + k) mod 26, y el conjunto D de decryption las funciones es igual como el conjunto de encriptar
funciones donde Dk (p) =
(p − k) mod 26.


El concepto de un cryptosystem es útil en la discusión de familias adicionales de ciphers
y está utilizado extensamente en criptografía.

Criptografía Clave pública


Todo clásico ciphers, incluyendo cambio ciphers y afín ciphers, es ejemplos de privados
claves cryptosystems. En una llave privada cryptosystem, una vez sabes una llave de
encriptación, deprisa puedes encontrar el decryption llave. Tan, sabiendo cómo para encriptar
los mensajes que utilizan una llave particular te dejas a decrypt mensajes que estuvo
encriptado utilizando esta llave. Por ejemplo, cuándo un cambio cipher está utilizado con
llave de encriptaciónk, el plaintext entero p está enviado a

c = (p + k) mod 26.

Decryption Está llevado a cabo por cambiar por −k; aquello es,

p = (c − k) mod 26.

Así que sabiendo cómo para encriptar con un cambio cipher también te dices cómo a decrypt.
Cuándo una llave privada cryptosystem está utilizado, dos partidos quiénes desean
comunicar en el mosto secreto comparte una llave secreta. Porque cualquiera quién sabe esta
lata clave tanto encriptar y decrypt mensajes, dos personas que quieren comunicar securely
necesidad a securely intercambia esta llave. ( Introduciremos un método para hacer este más
tardío en esta sección.) El cambio cipher y afín cipher cryptosystems es privado clave
cryptosystems. Son bastante sencillos y es extremadamente vulnerable a cryptanalysis. Aun
así, igual no es cierto de muchos modernos privados claves cryptosystems. En particular, el
estándar de gobierno de EE.UU. actual para criptografía clave privada, el Estándar de
Encriptación Adelantado (AES), es extremadamente complejo y está considerado para ser
altamente resistente a cryptanalysis. (Ve [St06] para detalles en AES y otro modernos
privados claves cryptosystems.) AES Es ampliamente utilizado en gobierno y
comunicaciones comerciales. Aun así, todavía comparte la propiedad que para llaves de
comunicaciones seguras ser compartidos. Además, para seguridad extra, una llave nueva está
utilizada para cada sesión de comunicación entre dos partidos, el cual requiere un método
para generar llaves y securely compartiéndoles.
Para evitar la necesidad para llaves para ser compartidas por cada par de partidos que
deseo de comunicar securely, en el 1970s cryptologists introdujo el concepto de público
clave cryptosystems. Cuándo tal cryptosystems está utilizado, sabiendo cómo para enviar un
mensaje encriptado no ayuda decrypt mensajes. En tal sistema, todo el mundo puede tener
una encriptación públicamente sabida llave. Sólo el decryption las llaves están mantenidas
secreto , y sólo el pretendidos recipient de un mensaje puede decrypt lo, porque, según lo que
es actualmente sabido, conocimiento de la llave de encriptación no deja alguien recupera el
plaintext mensaje sin una cantidad extraordinaria de trabajo (como miles de millones de años
de tiempo de ordenador).
M.Yo.T. Es también 4.6 Criptografía 299
sabido cuando
El 'Tute.

La RSA Cryptosystem
En 1976, tres investigadores en el Instituto de Massachusetts de Tecnología—Ronald Rivest, Adi
Shamir, y Leonard Adleman—introdujo al mundial una llave pública cryptosystem, sabido como
el sistema de RSA, de las iniciales de sus inventores. Tan a menudo pasa con cryptographic
descubrimientos, el sistema de RSA había sido descubierto varios años más tempranos en
Desafortunadamente,
nadie
búsqueda de gobierno secreto en el Reino Unido. Clifford Gallos, trabajando en clandestinidad en
Llama esto los Gallos la sede de Comunicaciones del Gobierno del Reino Unido (GCHQ), había descubierto este
cryptosystem. cryptosystem en 1973. Aun así, su invención era desconocida al mundo exterior hasta el tardío
1990s, cuándo esté dejado para compartir clasificado GCHQ documentos del tempranos 1970s.
(Una cuenta excelente de este descubrimiento más temprano, así como el trabajo de Rivest,
Shamir, y Adleman, puede ser encontrado en [Si99].)
En la RSA cryptosystem, cada individual tiene una llave de encriptación (n, e) dónde n = pq,
el modulus es el producto de dos albores grandes p y q , dice con 200 dígitos cada, y un exponente
e Aquello es relativamente primo a (p − 1)(q − 1). Para producir una llave utilizable, dos
albores grandes tienen que ser encontrados. Esto puede ser hecho deprisa en un ordenador
que utiliza probabilista primality pruebas, referidos a más tempranos en esta sección. Aun así,
el producto de estos albores n = pq, con aproximadamente 400 dígitos, puede no, según lo
que es actualmente sabido, ser factored en una longitud razonable de tiempo. Cuando
veremos, esto es una razón importante por qué decryption puede no, según lo que es
actualmente sabido, ser hecho deprisa sin un separado decryption llave.

Encriptación de RSA
Para encriptar los mensajes que utilizan una llave particular (n, e), primero traducimos un
plaintext mensaje M a secuencias de enteros. Para hacer este, primero traducimos cada
plaintext letra a un número de dos dígitos, utilizando la misma traducción empleamos para
cambio ciphers, con uno diferencia clave. Aquello es, incluimos un cero inicial para las letras
Un a través de J, de modo que Un está traducido a 00, B a 01, . . . , y J a 09. Entonces,
concatenamos estos números de dos dígitos a cuerdas de dígitos. Luego, dividimos esta
cuerda a igualmente sized bloques de 2N dígitos, donde 2N es el más grande incluso numerar
tal que el número 2525 . . . 25 con 2N los dígitos no supera n. (Cuándo necesario,
acolchamos el plaintext mensaje con dummy Xs para hacer el último bloque la misma medida
cuando todos otros bloques.)
Después de estos pasos, hemos traducido el plaintext mensaje M a una secuencia de
enteros m1, m2, . . . , mk para algún entero k. La encriptación procede por transformar cada
bloque mi a un ciphertext bloque ci . Esto está hecho utilizando la función
e
C = M mod n.
(Para actuar la encriptación, utilizamos un algoritmo para rápido modular exponentiation,
como Algoritmo 5 en Sección 4.2.) Dejamos el mensaje encriptado como bloques de
números y enviar estos al pretendidos recipient. Porque la RSA cryptosystem encripta
bloques de caracteres a bloques de caracteres, es un bloque cipher.

CLIFFORD GALLOS (NACIDO 1950) Clifford Gallos, nacido en Cheshire, Inglaterra, era un talented estudiante
de matemática. En 1968 gane una medalla de plata en el Internacional Matemático Olympiad. Los gallos
atendieron la universidad de King, Cambridge, estudiando matemática. Él también tiempo a escaso gastado en
Oxford Universitario trabajando en teoría de número. En 1973 decida no para completar su trabajo de licenciado,
en cambio tomando un trabajo matemático en el Gobernar-ment Sede de Comunicaciones (GCHQ) de inteligencia
británica. Dos meses después de unir GCHQ, los gallos aprendieron sobre criptografía clave pública de un interno
GCHQ el informe escrito por James Ellis. Los gallos utilizaron su conocimiento de teoría del número para inventar
qué es ahora llamó la RSA cryptosystem. Deprisa se dé cuenta que un público clave cryptosystem podría ser basado
en la dificultad de invertir el proceso de multiplicar dos albores grandes. En 1997 esté dejado para revelar
declassified GCHQ los documentos internos que describen su descubrimiento. Los gallos es también
Sabido para su invención de una identidad segura esquema de encriptación basada, el cual utiliza información sobre la identidad
de un usuario como llave pública. En 2001, los gallos devenían el Matemático de Jefe en GCHQ. También ha instalado el
Heilbronn Instituto para Búsqueda Matemática, una sociedad entre GCHQ y la Universidad de Bristol.
300 4 / Teoría de Número y Criptografía

Ejemplo 8 ilustra qué encriptación de RSA está actuada. Para razones prácticas utilizamos
albores pequeños p y q en este ejemplo, más que albores con 200 o más dígitos. A pesar de que el
cipher describió en este ejemplo no es asegurar, ilustra las técnicas utilizaron en la RSA cipher.
EJEMPLO 8 Encripta la PARÓN de mensaje que utiliza la RSA cryptosystem con clave (2537, 13). Nota
que 2537 = 43 · 59, p = 43 y q = 59 es albores, y
gcd(e, (p − 1)(q − 1)) = gcd(13, 42 · 58) = 1.

Solución: para encriptar, primero traducimos las letras en PARÓN a sus equivalentes numéricos.
Entonces agrupamos estos números a bloques de cuatro dígitos (porque 2525< 2537 < 252525),
para obtener

1819 1415.

Encriptamos cada cual bloquea utilizar el mapeo


13
C=M mod 2537.
Las computaciones que utilizan espectáculo de multiplicación mod 2537 = 2081 y
13 13


modular rápido que 1819 1415 mod 2537 = 2182. El mensaje
encriptado es 2081 2182.

RSA Decryption
El plaintext el mensaje puede ser deprisa recuperado de un ciphertext mensaje cuándo el
decryp-tion clave d, un inverse de e modulo (p − 1)(q − 1), es sabido. [Tal un inverse existe
porque gcd(e, (p − 1)(q − 1)) = 1.] Para ver esto, nota que si d e ≡ 1 (mod (p − 1)(q − 1)),
hay un entero k tal que d e = 1 + k(p − 1)(q − 1). Sigue aquello

Cd ≡ (Me )d = Md e = M1+k(p−1)(q−1) (mod n).

RONALD RIVEST (NACIDO 1948) Ronald Rivest recibió un B.Un. De Yale en 1969 y su Ph.D. En informática
de Stanford en 1974. Rivest Es un profesor de informática en M.Yo.T. Y era un cofundador de Seguridad de Dato
de la RSA, el cual aguantó la patente en la RSA cryptosystem que invente junto con Adi Shamir y Leonard
Adleman. Áreas que Rivest ha trabajado en además la criptografía incluye aprendizaje de máquina, VLSI diseño, y
algoritmos de ordenador. Es un coautor de un texto popular en algoritmos ([CoLeRiSt09]).

ADI SHAMIR (NACIDO 1952) Adi Shamir nació en Tel Aviv, Israel. Su undergraduate el grado es de
Universidad de Tel Aviv (1972) y su Ph.D. Es del Weizmann Instituto de Ciencia (1977). Shamir Era un
ayudante de búsqueda en la Universidad de Warwick y un profesor de ayudante en M.Yo.T. Es actualmente
un profes-sor en el Departamento de Matemática Aplicado en el Weizmann Instituto y dirige un grupo que
estudia seguridad de ordenador. Shamir contribuciones a criptografía, además la RSA cryptosystem, incluye
agrietar knapsack cryptosystems, cryptanalysis del Estándar de Encriptación del Dato (DES), y el diseño de
muchos cryptographic protocolos.

LEONARD ADLEMAN (NACIDO 1945) Leonard Adleman nació en San Francisco, California. Reciba un B.S.
En matemáticas (1968) y su Ph.D. En informática (1976) de la Universidad de California, Berkeley. Adleman Era
un miembro de la facultad de matemática en M.Yo.T. De 1976 hasta que 1980, donde sea un coinventor de la RSA
cryptosystem, y en 1980 tome una posición en el departamento de informática en la Universidad de California Del
sur (USC). Esté nombrado a una posición presidida en USC en 1985. Adleman Ha trabajado encima seguridad de
ordenador, complejidad computacional, inmunología, y biología molecular. Invente el virus “de ordenador del
plazo.” Adleman trabajo reciente encima informática de ADN ha chispeado interés grande. Sea un asesor técnico
para la película Sneakers, en qué seguridad de ordenador jugó una función importante.
4.6 Criptografía 301

Por el poco teorema de Fermat [suponiendo que gcd(M, p) = gcd(M, q) = 1, el cual aguanta exceptúa
en q−1 ≡
p−1
Casos raros, el cual cubrimos en Ejercicio 28], sigue que M ≡ 1 (mod p) y M 1
(mod q). Consiguientemente,

d p−1 k(q−1)
C ≡ M · (M ) ≡ M · 1 = M (mod p)

d q−1 k(p−1)
C ≡ M · (M ) ≡ M · 1 = M (mod q).

Porque gcd(p, q) = 1, sigue por el teorema de resto chino que

d
C ≡ M (mod pq).

Ejemplo 9 ilustra cómo a decrypt los mensajes enviaron utilizar la RSA


cryptosystem.

EJEMPLO 9 recibimos el mensaje encriptado 0981 0461. Qué es el decrypted mensaje si esté encriptado
utilizando la RSA cipher de Ejemplo 8?

Solución: El mensaje estuvo encriptado utilizando la RSA cryptosystem con n = 43 · 59 y expo-


nent 13. Cuando Ejercicio 2 en Sección 4.4 espectáculos, d = 937 es un inverse de 13 modulo 42 ·
58 = 2436. Utilizamos 937 cuando nuestro decryption exponente. Consiguientemente, a decrypt
un bloque C, computamos

937
M =C mod 2537.

A decrypt el mensaje, utilizamos el rápidos modulares exponentiation algoritmo para computar


937 937
0981 mod 2537 = 0704 y 0461 mod 2537 = 1115. Consiguientemente, la versión numérica
del mensaje original es 0704 1115. Traduciendo este atrás a letras inglesas, vemos que el
El mensaje es AYUDA . ▲

RSA como Sistema Clave Público


Por qué es la RSA cryptosystem propio para criptografía clave pública? Primero, es posible a
rápidamente construir una llave pública por encontrar dos albores grandes p y q , cada cual con
más de 200 dígitos, y para encontrar un entero e relativamente primo a (p − 1)(q − 1). Cuándo
sabemos la factorización del modulus n, aquello es, cuándo sabemos p y q , deprisa podemos
encontrar un inverse d de e modulo (p − 1)(q − 1). [Esto está hecho por utilizar el algoritmo
euclidiano para encontrar Bézout coeficientes s y t para d y (p − 1)(q − 1), el cual muestra que
el inverse de d modulo (p − 1)(q − 1) es
s mod (p − 1)(q − 1).] Sabiendo d nos dejo decrypt los mensajes enviaron utilizar nuestra
llave. Aun así, ningún método es sabido a decrypt mensajes que no es basado encima
encontrando una factorización de n , o aquello no también dirige a la factorización de n .
La factorización está creída para ser un problema difícil, cuando opposed a encontrar
albores grandes p y q , los cuales pueden ser hechos deprisa. La factorización más eficaz los
métodos sabidos (cuando de 2010) requiere miles de millones de años a factor enteros de 400
dígitos. Consiguientemente, cuándo p y q es albores de 200 dígitos, está creído que los
mensajes encriptaron utilizar n = pq como el modulus no puede ser encontrado en un tiempo
razonable a no ser que los albores p y q es sabido.
A pesar de que ningún algoritmo de tiempo polinómico es sabido para factoring enteros
grandes, activos re-la búsqueda es en marcha para encontrar maneras nuevas a efficiently enteros
de factor. Enteros que estuvo pensado, tan recientemente como hace varios años, para ser lejos
demasiado grande de ser factored en una cantidad razonable de los tiempos ahora pueden ser
factored routinely. Enteros con más de 150 dígitos, así como algunos con más de
200 dígitos, ha sido factored utilizando esfuerzos de equipo. Cuándo técnicas de factorización
nueva están encontradas,
302 4 / Teoría de Número y Criptografía

Sea necesario de utilizar albores más grandes para asegurar clandestinidad de mensajes.
Desafortunadamente, mensajes que estuvo considerado seguro más temprano puede ser salvado y
posteriormente decrypted por unintended recipients cuándo deviene factible a factor el n = pq en
el clave utilizado para encriptación de RSA.
El método de RSA es ahora ampliamente utilizó. Aun así, la mayoría de generalmente
utilizado cryptosystems es privado clave cryptosystems. El uso de criptografía clave pública,
vía el sistema de RSA, está creciendo. No obstante, hay aplicaciones que uso tanto llave
privada y sistemas claves públicos. Por ejemplo, una llave pública cryptosystem, como RSA,
puede soler distribuir llaves privadas a pares de individual cuándo desean comunicar. Estas
personas entonces utilizan un sistema clave privado para encriptación y decryption de
mensajes.

Cryptographic Protocolos
Tan lejos hemos mostrado cómo la criptografía puede soler mensajes de marca aseguran.
Aun así, hay muchos otras aplicaciones importantes de criptografía. Entre estas aplicaciones
son cryptographic protocolos, los cuales son intercambios de los mensajes llevaron a cabo
por dos o más partidos para conseguir un objetivo de seguridad particular. En particular,
mostraremos cómo la criptografía puede soler dejar dos personas para intercambiar una llave
secreta sobre un insecure canal de comunicación. También mostraremos cómo la criptografía
puede soler enviar mensajes secretos firmados de modo que el recipient puede ser seguro que
el mensaje provino el purported sender. Referimos el lector a [St05] para discusiones
minuciosas de una variedad de cryptographic protocolos.

INTERCAMBIO CLAVE ahora hablamos un protocolo que dos partidos pueden utilizar para
intercambiar una llave secreta sobre un insecure canal de comunicaciones sin haber compartido
cualquier información antiguamente. Generando un clave que dos partidos pueden compartir es
importante para muchas aplicaciones de cryp-tography. Por ejemplo, para dos personas para
enviar mensajes seguros a cada cual otro utilizando una llave privada cryptosystem necesitan
compartir una llave común. El protocolo describiremos es sabido como el Diffie-Hellman
protocolo de acuerdo clave, después de que Whitfield Diffie y Martin Hellman, quién describió
él en 1976. Aun así, este protocolo estuvo inventado en 1974 por Malcolm Williamson en trabajo
secreto en el británico GCHQ. No sea hasta que 1997 que su descubrimiento estuvo hecho
público.
Supone que Alice y Bob quieren compartir una llave común. El protocolo sigue estos pasos,
donde las computaciones están hechas en Zp .
(1) Alice y Bob apalabran uso un primo p y una raíz primitiva un de p .
k
(2) Alice escoge un entero secreto k1 y envía un 1 mod p a Bob.
k
(3) Bob escoge un entero secreto k2 y envía un 2 mod p a Alice.
k k
(4) Alice computa (un 2 ) 1 mod p.
k k
(5) Bob computa (un 1 ) 2 mod p.
Al final de este protocolo, Alice y Bob han computado su llave compartida, concretamente

k2 k1 k1 k2
(Un ) mod p = (un ) mod p.

Para analizar la seguridad de este protocolo, nota que los mensajes enviaron pasos (1),
(2), y
(3) No es supuesto para ser enviado securely. Incluso podemos suponer que estas comunicaciones
k k
eran en el claros y que sus contenidos son información pública . Tan, p, un, un 1 mod p, y un 2
mod p está supuesto para ser información pública. El protocolo asegura que k1, k2, y la llave
k k k k
común (un 2 ) 1 mod p = (un 1 ) 2 mod p está mantenido secreto. Para encontrar la información
secreta de este pub-lic la información requiere que un adversary soluciona casos del discretos
logarithm problema,
4.6 Criptografía 303

un k k
Porque el adversary necesitaría encontrar k1 y k 2 de 1 mod p y un 2 mod p, respec-
tively. Además, no otro método es sabido para encontrar el compartido clave utilizando justo
la información pública. Hemos remarcado que esto está pensado para ser
computacionalmente infeasible cuándo p y un es suficientemente grande. Con el poder de
informática disponible ahora, este sistema está considerado unbreakable cuándo p tiene más
de 300 dígitos decimales y k 1 y k 2 tiene más de 100 dígitos decimales cada.

Las FIRMAS DIGITALES No sólo pueden la criptografía suele asegurar la confidencialidad de


un mensaje, pero también pueda ser utilizado de modo que el recipient del mensaje sabe que
provenga la persona piensan que provenga. Primero muestramos cómo un mensaje puede ser
enviado de modo que un recipient del mensaje será seguro que el mensaje provino el purported
sender del mensaje. En particular, podemos mostrar cómo esto puede ser cumplido utilizando la
RSA cryptosystem para aplicar una firma digital a un mensaje.
Supone que RSA de Alice la llave pública es (n, e) y su llave privada es d . Alice encripta un
mensaje de texto sencillo x utilizando la función de encriptación E(n,e)(x) = x e mod n. Ella
decrypts un ciphertext mensaje y utilizando el decryption función D(n,e) = x d mod n. Alice
quiere enviar el mensaje
M De modo que todo el mundo quién recibe el mensaje sabe que le provenga. Tan en RSA en-
cryption, traduce las letras a sus equivalentes numéricos y parte la cuerda resultante a bloques
m1, m2, . . . , mk tal que cada bloque es la misma medida qué es tan grande como posible
De modo que 0 ≤ mi ≤ n para i = 1, 2, ..., k. Entonces aplica su decryption función D(n,e) a cada
bloque, obteniendo Dn,e (mi ), i = 1, 2, . . . , k. Envía el resultado a todo pretendió recipients del
mensaje.
Cuándo un recipient recibe su mensaje, aplican la función de encriptación de Alice E(n,e) a
cada bloque, el cual todo el mundo tiene disponible porque la llave de Alice (n, e) es información
pública. El resultado
Es el original plaintext bloque porque E(n,e)(D(n,e)(x)) = x. Tan, Alice puede enviar su mensaje
a tan muchas personas cuando quiere y por firmarlo de este modo, cada recipient puede ser
seguro venga
De Alice. Ejemplo 10 ilustra este protocolo.

EJEMPLO 10 Supone RSA pública de Alice cryptosystem la llave es el mismo tan en Ejemplo 8. Aquello
es, n = 43 · 59 = 2537 y e = 13. Su decryption la llave es d = 937, cuando descrito en
Ejemplo 9. Quiere enviar el mensaje “CONOCE EN MEDIODÍA” a sus amigos de modo
que son seguro él le provino. Qué tiene que envíe?

Solución: Alice primero traduce el mensaje a bloques de dígitos, obteniendo 1204 0419 0019
1314 1413 (como el lector tendría que verificar). Entonces aplica su decryption
937
transformación D(2537,13)(x) = x mod 2537 a cada bloque. Utilizando rápido modular
exponentiation (con el
937 937
Ayuda de una ayuda computacional), encuentra que 1204 mod 2537 = 817, 419 mod 2537
937 937 937
= 555, 19 mod 2537 = 1310, 1314 mod 2537 = 2173, y 1413 mod 2537 = 1026.
Tan, el mensaje envía, partido a bloques, es 0817 0555 1310 2173 1026. Cuándo uno de sus
amigos consigue este mensaje, aplican su transformación de encriptación E(2537,13) a cada
bloque. Cuándo ellos esto, obtienen los bloques de dígitos del mensaje original qué traducen
Atrás a letras inglesas. ▲

Hemos mostrado aquello firmó los mensajes pueden ser enviados utilizando la RSA
cryptosystem. Podemos extender esto por enviar mensajes secretos firmados. Para hacer este,
el sender aplica encriptación de RSA que utiliza la encriptación públicamente sabida llave de
un pretendido recipient a cada bloque que estuvo encriptado utilizando sender decryption
transformación. El recipient entonces primero aplica su privado decryption transformación y
entonces el sender transformación de encriptación pública. (Ejercicio 32 pide este protocolo
para ser llevado a cabo.)
304 4 / Teoría de Número y Criptografía

Ejercicios

1. Encriptar el mensaje NO PASA Pasar de largo 10. Determinar si hay una llave para qué el cifrar-ing
traduciendo las letras a números, aplicando la función función para el cambio cipher es igual como el deci-
de encriptación dada, y entonces traduciendo los phering función.
números atrás a dejados-ters.
11. Qué es el decryption función para un afín cipher si la
a) f (p) = (p + 3) mod 26 (el Caesar cipher)
función de encriptación es c = (15p + 13) mod 26?
b) f (p) = (p + 13) mod 26 ∗ 12. Encontrar todos los pares de llaves de enteros (un, b) para
c) f (p) = (3p + 7) mod 26
afines ciphers para qué la función de encriptación c = (ap
2. Encriptar la CONTAMINACIÓN de PARÓN del + b) mod 26 es igual como el correspondiente decryption
mensaje por traducir las letras a números, aplicando la función.
función de encriptación dada, y entonces traduciendo
los números atrás a dejados-ters. 13. Supone que la letra más común y el segunda letra más
común en un largo ciphertext produjo por encriptar un
a) f (p) = (p + 4) mod 26 plaintext utilizando un afín cipher f (p) = (ap + b) mod
b) f (p) = (p + 21) mod 26 26 es Z y J, respectivamente. Qué es los valores más
c) f (p) = (17p + 22) mod 26 probables de un y b ?

3. Encriptar el mensaje MIRA VUESTRO PASO por 14. Encriptar el mensaje GRIZZLY AGUANTA utilizar
translat-ing las letras a números, aplicando el dados bloques de cinco letras y la transposición cipher basó
encryp-tion función, y entonces traduciendo los en la permutación de { 1, 2, 3, 4, 5} con σ (1) = 3, σ (2)
números atrás a letras. = 5,
a) f (p) = (p + 14) mod 26 σ(3) = 1, σ (4) = 2, y σ (5) = 4. Para este ejercicio, uso
la letra X cuando muchas veces tan necesario de llenar
b) f (p) = (14p + 21) mod 26 fuera del bloque final de menos entonces cinco letras.
c) f (p) = (−7p + 1) mod 26
15. Decrypt El mensaje EABW EFRO ATMR ASIN cuál es el
4. Decrypt Estos mensajes que estuvo encriptado ciphertext produjo por encriptar un plaintext mes-la salvia
utilizando el Caesar cipher. que utiliza la transposición cipher con bloques de cuatro
a) EOXH MHDQV letras y la permutación σ de { 1, 2, 3, 4} definido por
b) WHVW WRGDB σ (1) = 3, σ (2) = 1, σ (3) = 4, y σ (4) = 2.
c) HDW GLP VXP ∗ 16. Supone que sabes que un ciphertext estuvo producido por
5. Decrypt Estos mensajes encriptaron utilizar el cambio encriptar un plaintext mensaje con una transposición
cipher. Cómo poder vas aproximadamente rompiéndolo?
cipher f (p) = (p + 10) mod 26.
a) CEBBOXNOB XYG 17. Te supones ha interceptado un ciphertext mensaje y
b) LO WI PBSOXN cuándo determinas las frecuencias de letras en este
c) DSWO PYB PEX mes-salvia, encuentras las frecuencias son similares a
la frecuencia de letras en texto inglés. Qué tipo de
6. Supone que cuándo una cuerda larga de texto está cipher tú sus-pect estuvo utilizado?
encriptada utilizando un cambio cipher f (p) = (p + k)
El Vigenère cipher es un bloque cipher, con un clave aquello
mod 26, la mayoría de letra común en el ciphertext es
es una cuerda de letras con equivalentes numéricos k1k 2 . . .
X. Qué es el valor más probable para k suponiendo que
km, donde ki ∈ Z26 para i = 1, 2, . . . , m. Supone que los
la distribución de las letras en el texto es propio de
texto inglés? equivalentes numéricos de las letras de un plaintext el bloque
es p 1p2 . . . pm. El correspondiente numérico ciphertext el
7. Supone que cuándo una cuerda de texto inglés está bloque es (p1 + k1) mod 26 (p2 + k2) mod 26 . . . (pm + km)
encriptada nos-ing un cambio cipher f (p) = (p + k) mod 26. Finalmente, traducimos atrás a letras. Por ejemplo,
mod 26, el resultante ciphertext es DY CVOOZ supone que la cuerda clave es ROJA, con equivalentes
ZOBMRKXMO DY NBOKW. Qué era el original numéricos 17 4 3. Entonces, el plaintext NARANJA, con
plaintext cuerda? equivalentes numéricos 14 17 00 13 06 04, está encriptado por
8. Supone que el ciphertext DVE CFMV KF NFEUVI, primero partiendo él a dos bloques 14 17 00 y 13 06 04.
REU KYRK ZJ KYV JVVU FW JTZVETV era pro- Entonces, en cada bloque cambiamos la primera letra por 17,
duced por encriptar un plaintext el mensaje que utiliza el segundo por 4, y el tercer por 3. Obtenemos 5 21 03 y 04 10
un cambio cipher. Qué es el original plaintext? 07. El cipherext es FVDEKH.
9. Supone que el ciphertext ERC WYJJMGMIRXPC
18. Uso el Vigenère cipher con clave AZUL de encriptar la
EHZERGIH XIGLRSPSKC MW MRHMWXM-
NEVADA de mensaje.
RKYMWLEFPI JVSQ QEKMG estuvo producido por
en-crypting un plaintext el mensaje que utiliza un 19. El ciphertext OIKYWVHBX estuvo producido por
cambio cipher. Qué es el original plaintext? encriptar-ing un plaintext el mensaje que utiliza el
Vigenère cipher con clave CALIENTE. Qué es el
plaintext mensaje?
4.6 Criptografía 305
aquello
e
C≡M (mod pq). En el texto Mostramos que RSA de-
≡ M (mod pq)
d

20. Expresar el Vigenère cipher como cryptosystem. cryption, aquello es, la congruencia
C controles
Para romper un Vigenère cipher por recuperar un plaintext mensaje Cuándo gcd(M, pq) = 1. Espectáculo que este decryption
del ciphertext mensaje sin habiendo la llave, el primer paso es para la congruencia también aguanta cuándo gcd(M, pq) > 1.
representar fuera de la longitud de la cuerda clave. El segundo paso [Pista: congruencias de Uso modulo p y modulo q y
es para representar fuera de cada carácter de la cuerda clave por aplicar el teorema de resto chino.]
determinar el corresponder-ing cambio. Ejercicios 21 y 22 trata
estos dos aspectos.

21. Supone que cuándo una cuerda larga de texto está encriptada
utilizando un Vigenère cipher, la misma cuerda está encontrada
en el ciphertext empezando en varias posiciones diferentes.
Explicar cómo este infor-mation puede soler la ayuda determina
la longitud de la llave.

22. Una vez la longitud de la cuerda clave de un Vigènere


cipher es sabido, explicar cómo para determinar cada cual
de sus caracteres. Supone que el plaintext es mucho tiempo
bastante de modo que la frecuencia de su dejado-ters es
razonablemente cerrar a la frecuencia de letras en texto
inglés típico.
∗ 23. Espectáculo que podemos fácilmente factor n cuándo sabemos que
n es el producto de dos albores, p y q , y sabemos el valor de
(p − 1)(q − 1).
En Ejercicios 24–27 primero expresar vuestras respuestas sin
computar modular exponentiations. Entonces utilizar una ayuda
computacional a com-plete estas computaciones.
24. Encriptar el ATAQUE de mensaje que utiliza el sistema de
RSA con n = 43 · 59 y e = 13, traduciendo cada letra a
enteros y agrupando pares juntos de enteros, cuando hechos
en Ejemplo 8.
25. Encriptar el mensaje CARGA utilizar el sistema de RSA
con n = 53 · 61 y e = 17, traduciendo cada letra a enteros
y agrupando pares juntos de enteros, cuando hechos en
Ejemplo 8.
26. Qué es el mensaje original encriptó utilizar la RSA sys-tem
con n = 53 · 61 y e = 17 si el mensaje encriptado es 3185
2038 2460 2550? (A decrypt, primero encontrar el
decryption exponente d, el cual es el inverse de e = 17
modulo 52 · 60.)
27. Qué es el mensaje original encriptó utilizar el sistema de
RSA con n = 43 · 59 y e = 13 si el mensaje encriptado es
0667 1947 0671? (A decrypt, primero encontrar el
decryption exponente d cuál es el inverse de e = 13 modulo
42 · 58.)
Aq
uell Encriptaci
∗ 28. Supone o (n, e) Es Un RSA ón Clave,
Con n = pq Dónde p Y q Es albores grandes y
Aquel
gcd(e, (p − 1)(q − 1)) = 1. Además, Supone d
Es un inverse De e modulo (p− 1)(q − 1). Supone
Explicar por qué este protocolo deja Alice y Bob para
compartir la llave secreta kAlice,Bob, sabido único a ellos y a
Cathy.
29. Describir los pasos que Alice y Bob siguen cuándo utilizan
el Diffie-Hellman protocolo de intercambio clave para
generar una llave compartida. Supone que utilizan el primos
p = 23 y tomar un = 5, el cual es una raíz primitiva de 23, y
que Alice selecciona k1 = 8 y Bob selecciona k2 = 5. (
Puedes querer utilizar algunos compu-tational ayuda.)

30. Describir los pasos que Alice y Bob siguen cuándo utilizan
el Diffie-Hellman protocolo de intercambio clave para
generar una llave compartida. Supone que utilizan el primos
p = 101 y tomar un = 2, el cual es una raíz primitiva de 101,
y que Alice selecciona k1 = 7 y Bob selecciona k2 = 9. (
Puedes querer utilizar algunos compu-tational ayuda.)
En Ejercicios 31–32 supone que Alice y Bob tienen estas llaves
públicas y llaves privadas correspondientes: (nAlice, eAlice) =
(2867, 7) = (61 · 47, 7), dAlice = 1183 y (n Bob, eBob) = (3127,
21) = (59 · 53, 21), dBob = 1149. Primero expresar vuestro un-
swers sin llevar a cabo los cálculos. Entonces, utilizando un com-
putational ayuda, si disponible, actuar el cálculo para conseguir
las respuestas numéricas.

31. Alice quiere enviar a todos sus amigos, incluyendo Bob, el


mes-la salvia “VENDE TODO” de modo que sabe que lo
envíe. Qué tiene que envíe a sus amigos, suponiendo firma
el mensaje que utiliza la RSA cryptosystem.

32. Alice quiere enviar a Bob el mensaje “COMPRA AHORA”


de modo que sabe que lo envíe y de modo que Bob único lo
puede leer. Qué tiene que envíe a Bob, suponiendo firma el
mensaje y entonces lo encripta utilizando la llave pública de
Bob?

33. Describimos un protocolo de intercambio clave básico que


utiliza criptografía clave privada a qué protocolos más
sofisticados para intercambio clave están basados. La
encriptación dentro del protocolo está hecha utilizando una llave
privada cryptosystem (como AES) aquello está considerado
seguro. El protocolo implica tres partidos, Alice y Bob, quiénes
desean intercambiar una llave, y un confiado en tercer partido
Cathy. Supone que Alice tiene una llave secreta kAlice que sólo
ella y Cathy saben, y Bob tiene una llave secreta kBob cuál sólo
él y Cathy saben. El protocolo tiene tres pasos:

(i) Alice envía el confiado en tercer partido Cathy el mensaje


“re-búsqueda una llave compartida con Bob” encriptó utilizar
la llave de Alice
kAlice.
(ii) Cathy devuelve a Alice una llave kAlice,Bob, el cual ella gen-
erates, encriptó utilizar la llave kAlice, seguido por esta llave misma
kAlice,Bob, encriptó utilizar la llave de Bob, kBob.
(iii) Alice envía a Bob la llave kAlice,Bob encriptó utilizar
kBob, sabido único a Bob y a Cathy.
306 4 / Teoría de Número y Criptografía

Resultados y Plazos claves


uno bloque cipher: un cipher aquello encripta bloques de
PLAZOS caracteres de un
Medida fija
Un | b (un divide b): hay un entero c tal que b = ac
a Y b es congruente modulo m: m divide un − b
Aritmética modular: la aritmética hecha modulo un entero
m≥2
Primo: un entero más grande que 1 con exactamente dos
entero positivo divisors
composite: Un entero más grande que 1 aquello no es primo
p
Mersenne Albor: un albor de la forma 2 − 1, donde p es
primo
gcd(Un, b) (más grande común divisor de un y b ): el
entero más grande que divide ambos un y b.
Relativamente enteros primos: enteros un y b tal que
gcd(un, b) = 1
pairwise Relativamente enteros primos: un conjunto de
enteros con la propiedad que cada par de estos enteros es
relativamente primo lcm(un, b) (menos múltiplo común de
un y b ): el más pequeño
Entero positivo que es divisible por ambos un y b.
Un mod b: el resto cuándo el entero un está dividido por el
entero positivo b
Un ≡ b (mod m) (un es congruente a b modulo m): un − b
es divisible por m
n = (Unk unk−1 . . . Un1un0)b : la base b representación de n
representación binaria: la base 2 representación de un entero
representación octal: la base 8 representación de un entero
representación hexadecimal: la base 16 representación de
Un entero
Combinación lineal de un y b con coeficientes de
entero: una expresión de la forma sa + t b, donde s y t es
enteros Bézout coeficientes de un y b : enteros s y t tal
que el
Bézout Identidad sa + t b = gcd(un, b) controles
inverse De un modulo m: un entero un tal que unun ≡ 1 (mod
m)
Congruencia lineal: una congruencia de la hacha de forma
≡ b (mod m), donde x es una variable de entero
Pseudoprimo a la base b: un composite entero n tal que
n−1
b ≡ 1 (mod n)
Carmichael Número: un composite entero n tal que n es un
pseudoprimo a la base b para todos los enteros positivos
b con gcd(b, n) = 1
Raíz primitiva de un primo p: un entero r en Zp tal que
cada entero no divisible por p es congruente modulo p a
un poder de r.
Discreto logarithm de un a la base r modulo p: el entero
e
e con 0 ≤ e ≤ p − 1 tal que r ≡ un (mod p)
Encriptación: el proceso de hacer un secreto de mensaje
decryption: El proceso de regresar un mensaje secreto a su
forma original
Llave de encriptación: un valor que determina cuál de una
familia de funciones de encriptación es para ser utilizado
Cambio cipher: un cipher aquello encripta el plaintext letra
p cuando (p + k) mod m para un entero k
Afín cipher: un cipher aquello encripta el plaintext letra p
cuando (ap + b) mod m para enteros un y b con gcd(un, 26) =
1 carácter cipher: un cipher aquello encripta caracteres uno por
El poco teorema de Fermat: Si p es primo y p | un,
crytanalysis: El proceso de recuperar el plaintext de ci- entonces
p −1
phertext sin conocimiento del método de encriptación, o con Un ≡ 1 (mod p).
conocimiento del método de encriptación, pero no el clave
cryptosystem: un cinco-tuple (P, C, K, E, D) dónde P es el
conjunto de plaintext mensajes, C es el conjunto de
ciphertext mensajes,
K Es el conjunto de llaves, E es el conjunto de funciones
de encriptación, y D es el conjunto de decryption
funciones
Encriptación clave privada: encriptación donde ambas
llaves de encriptación y decryption las llaves tienen que
ser secreto mantenido
Encriptación clave pública: encriptación donde llaves de
encriptación son conocimiento público , pero decryption
las llaves están mantenidas secreto
RSA cryptosystem: el cryptosystem donde P y C es ambos
Z26, K es el conjunto de pares k = (n, e) dónde n = pq
donde p y q es albores grandes y e es un entero positivo,
e d
Ek (p) = p mod n, y D k (c) = c mod n donde d es el
inverse de e modulo (p − 1)(q − 1)
Protocolo de intercambio clave: un protocolo utilizado
para dos partidos para generar una llave compartida
Firma digital: un método que un recipient puede utilizar
para disuadir-mina que el purported sender de un mensaje
de hecho envió el mensaje

RESULTADOS
Algoritmo de división: Dejado un y d ser enteros con d
positivos. Entonces hay enteros únicos q y r con 0 ≤ r <
d tal que un = d q + r.
Dejado b ser un entero más grande que 1. Entonces si n es
un pos-itive entero, pueda ser expresado singularmente
en la forma
k k−1
n = Unk b + unk−1b + · · · + un1b + un0.
El algoritmo para encontrar la base b expansión de un entero
(ve Algoritmo 1 en Sección 4.2)
Los algoritmos convencionales para adición y multiplicación
de enteros (dados en Sección 4.2)
El modular exponentiation algoritmo (ve Algoritmo 5 en
Sección 4.2)
Algoritmo euclidiano: para encontrar más grande común
divisors por sucesivamente utilizando el algoritmo de
división (ve Algoritmo 1 en Sección 4.3)
Bézout teorema: Si un y b es enteros positivos, entonces
gcd(un, b) es una combinación lineal de un y b .
Tamiz de Eratóstenes: Un procedimiento para encontrar
todos los albores no superando un número especificado n,
descrito en Sección 4.3 teorema fundamental de
aritmética: Cada entero positivo
Puede ser escrito singularmente como el producto de
albores, donde los factores primos están escritos por
orden de medida creciente.
Si un y b es enteros positivos, entonces ab = gcd(un, b)·
lcm(un, b). Si m es un entero positivo y gcd(un, m) = 1,
entonces un tiene un
Único inverse modulo m.
Teorema de resto chino: Un sistema de congruencias lineales
modulo pairwise relativamente los enteros primos tiene un
únicos tan-lution modulo el producto de estos moduli.
Ejercicios suplementarios 307

Cuestiones de revisión
1. Encuentra 210 div 17 y 210 mod 17. b) Expresa gcd(84, 119) como combinación lineal de
2. Un) Definir qué significa para un y b para ser 84 y 119.
congruente mod-ulo 7. 11. Un) Qué signifique para un para ser un inverse
b) Qué pares de los enteros −11, −8, −7, −1, 0, 3, y 17 de
es congruente modulo 7? Un modulo m?
c) Espectáculo que si un y b es congruente modulo 7, b) Cómo puede encuentras un inverse de un modulo
entonces 10un + 13 y − 4b + 20 es también congruente m cuándo m es un entero positivo y gcd(un, m) =
modulo 7. 1?
3. Espectáculo que si un ≡ b (mod m) y c ≡ d (mod m), c) Encontrar un inverse de 7 modulo 19.
entonces un + c ≡ b + d (mod m). 12. Un) Cómo puede un inverse de un modulo m soler
4. Describir un procedimiento para convertir decimal solucionar la hacha de congruencia ≡ b (mod m)
(base 10) expansiones de enteros a expansiones
hexadecimales. cuándo gcd(un, m) = 1?
5. Convierte (1101 1001 0101 1011)2 a octal y hexadeci- b) Solucionar la congruencia lineal 7x ≡ 13 (mod 19).
mal representaciones. 13. Un) Declara el teorema de resto chino.
6. Convierte (7206)8 y (Un0EB)16 a una representación b) Encuentra las soluciones al sistema x ≡ 1 (mod 4), x
binaria. ≡ 2 (mod 5), y x ≡ 3 (mod 7).
7. Estatal el teorema fundamental de aritmética. n−1
14. Supone que 2 ≡ 1 (mod n). Es n necesariamente
8. Un) Describe un procedimiento para encontrar el primo primo?
factoriza-tion de un entero. 200
15. Poco teorema para evaluar de uso Fermat 9 mod 19.
b) Uso este procedimiento para encontrar la 16. Explicar cómo el dígito de control está encontrado para un
factorización prima de 80,707. 10-dígito ISBN.
9. Un) Define el más grande común divisor de dos
17. Encriptar el mensaje APPLE Y las NARANJAS que
enteros.
b) Describe al menos tres maneras diferentes para utilizan un cambio cipher con clave k = 13.
encontrar el grande-est común divisor de dos 18. Un) Qué es la diferencia entre una llave pública y un
enteros. Cuando hace cada trabajo de método más? pri-vate clave cryptosystem?
c) Encontrar el más grande común divisor de b) Explicar por qué utilizando cambio ciphers es una
1,234,567 y 7,654,321. llave privada sys-tem.
d) Encontrar el más grande común divisor de c) Explicar por qué la RSA cryptosystem es un sistema
3 5 7 9 9 7 5 3
2 3 5 7 11 y 2 3 5 7 13. clave público.
10. Un) Cómo puede encuentras una combinación lineal 19. Explica qué encriptación y decryption está hecho en la
(con coeficientes de entero) de dos enteros que RSA cryptosystem.
equals su más grandes comunes divisor?
20. Describir cómo dos partidos pueden compartir un
secretos claves utilizando el Diffie-Hellman protocolo
de intercambio clave.

Ejercicios suplementarios
∗ 5. Espectáculo que si ac ≡ bc (mod m), donde un, b, c, y m
1. El cuentakilómetros en un coche va a arriba 100,000 es enteros con m > 2, y d = gcd(m, c), entonces
millas. El dueño presente de un coche lo compró Un ≡ b (mod m/d ).
cuándo el cuentakilómetros leyó 43,179 millas. Ahora
lo quiere vender; cuándo examinas el coche para 6. Espectáculo que la suma de las plazas de dos enteros
extraños no pueden ser la plaza de un entero.
compra posible, notas que el odome-ter lee 89,697
millas. Qué puede concluyes sobre cuántas millas
conduzca el coche, suponiendo que el cuentakilómetros
siempre trabajado correctamente?
2. Un) Explicar por qué n div 7 equals el número de
semanas completas en n días.
b) Explicar por qué n div 24 equals el número de días
completos en n horas.
3. Encuentra cuatro números congruentes a 5 modulo 17.
4. Espectáculo que si un y d es enteros positivos,
entonces hay enteros q y r tal que un = d q + r donde
−d /2 < r ≤ d /2.
n2
7. Espectáculo que si + 1 es una plaza perfecta, donde
n es un entero, entonces n es incluso.
8. Prueba que no hay ninguna solución en enteros x y y a
2 2
la ecuación x − 5y = 2. [Pista: Considerar esta
ecuación modulo 5.]
9. Desarrollar una prueba para divisibility de un entero
positivo n por 8 basado en la expansión binaria de n .
10. Desarrollar una prueba para divisibility de un entero
positivo n por 3 basado en la expansión binaria de n .
11. Ingeniar un algoritmo para adivinar un número entre 1 y
n
2 − 1 por sucesivamente adivinando cada bit en su
expansión binaria.
12. Determinar la complejidad, en plazos del número de
suposiciones, necesitados para determinar un número
n
entre 1 y 2 − 1 por sucesivamente adivinando los bits
en su binarios ex-pansion.
13. Espectáculo que un entero es divisible por 9 si y sólo si
la suma de sus dígitos decimales es divisible por 9.
308 4 / Teoría de Número y Criptografía 29. Adaptar la prueba que hay infinitamente muchos albores
(El-orem 3 en Sección 4.3) para mostrar aquello es
∗∗ 14. Espectáculo que si un y b es números irracionales infinitamente muchos albores en la progresión de aritmética
positivos tal aquello 1/un + 1/b = 1, entonces cada 6k + 5, k = 1, 2, . . ..
entero positivo puede ser singularmente expresado
como cualquier ka o kb para algún posi-tive entero k.
15. Prueba hay infinitamente muchos albores por mostrar
que Qn = n! + 1 tiene que tener un factor primo más
grande que n siempre que n es un entero positivo.
16. Encontrar un entero positivo n para qué Qn = n! + 1 no
es primo.
17. Uso Dirichlet teorema, el cual declara hay
infinitamente muchos albores en cada progresión de
aritmética ak + b donde gcd(un, b) = 1, para mostrar
que hay infinitamente muchos prepara aquello tiene un
final de expansión decimal con un 1.
18. Prueba que si n es un entero positivo tal que la suma
del divisors de n es n + 1, entonces n es primo.
∗ 19. Espectáculo que cada entero más grande que 11 es la suma de
dos composite enteros.
20. Encontrar el cinco más pequeño consecutivo composite
enteros.
21. Espectáculo que la conjetura de Goldbach, el cual
declara que ev-ery incluso el entero más grande que 2
es la suma de dos albores, es equivalente a la
declaración que cada entero más grande que 5 es la
suma de tres albores.
22. Encontrar una progresión de aritmética de longitud seis
principio con 7 aquello contiene albores únicos.
∗ 23. Prueba que si f (x) es un nonconstant polinomio con inte-
ger coeficientes, entonces hay un entero y tal que f (y) es
composite. [Pista: Supone que f (x0) = p es primo.
Espectáculo que p divide f (x0 + kp) para todos los
enteros k. Obtener un con-tradiction del hecho que un
polinomio de grado n, donde n > 1, apechuga con cada
valor como máximo n tiempo.]
∗ 24. Cuántos ceros son al final de la expansión binaria de
10010!?
25. Uso el algoritmo euclidiano para encontrar el más
grande común divisor de 10,223 y 33,341.
26. Cuántas divisiones están requeridas para encontrar
gcd(144, 233) utilizando el algoritmo euclidiano?
27. Encuentra gcd(2n + 1, 3n + 2), donde n es un entero
positivo. [Pista: Uso el algoritmo euclidiano.]
28. Un) Muestra que si un y b es positivo inte-gers
con un ≥ b, entonces gcd(un, b) = un si un = b,
gcd(un, b) = 2 gcd(un/2, b/2) si un y b es incluso,
gcd(Un, b) = gcd(un/2, b) si un es incluso y b es
extraño, y gcd(un, b) = gcd(un − b, b) si ambos un y b
es extraño.
b) Explicar cómo para utilizar (un) para construir un
algoritmo para computar el más grande común
divisor de dos posi-tive enteros que usos
comparaciones únicas, sustracciones, y cambios de
expansiones binarias, sin utilizar cualesquier
divisiones.
c) Encuentra gcd(1202, 4848) utilizando este
algoritmo.
30. Explicar por qué puedes no directamente adaptar la tiene nueve dígitos, donde el último dígito es un dígito de
prueba que hay infinitamente muchos albores control . Si d1d2 . . . d9 es un válido RTN,
(Teorema 3 en Sección 4.3) para mostrar que hay
infinitamente muchos albores en el arith-metic
progresión 3k + 1, k = 1, 2, . . ..
31. Explicar por qué puedes no directamente adaptar la
prueba que hay infinitamente muchos albores
(Teorema 3 en Sección 4.3) para mostrar aquello es
infinitamente muchos albores en la progresión de
aritmética 4k + 1, k = 1, 2, . . ..
32. Espectáculo que si el factor primo más pequeño p del positivo


Entero n es más grande que 3 n, entonces n/p es
primo o igual a 1.
Un conjunto de enteros se apellida mutuamente
relativamente primo si el más grande común divisor de
estos enteros es 1.
33. Determinar si los enteros en cada de estos conjuntos
son mutuamente relativamente primos.
U
n) 8, 10, 12 b) 12, 15, 25
c) 15, 21, 28 d) 21, 24, 28, 32
34. Encontrar un conjunto de cuatro mutuamente
relativamente enteros primos tal que ningún dos de
ellos es relativamente primo.
∗ 35. Para qué enteros positivos n es n 4 + 4n albor?
36. Espectáculo que el sistema de congruencias x ≡ 2
(mod 6) y x ≡ 3 (mod 9) tiene ninguna solución.
37. Encontrar todas las soluciones del sistema de
congruencias x ≡ 4 (mod 6) y x ≡ 13 (mod 15).
∗ 38. Un) Muestra que el sistema de congruencias x ≡ un1(mod m1) y x ≡
un2 (mod m2), donde un 1, un2, m1, y m 2 es enteros con m 1 >
0 y m 2 > 0, tiene una solución si
Y sólo si gcd(m1, m2) | un1 − un2.
b) Espectáculo que si el sistema en parte (un) tiene
una solución, entonces es único modulo lcm(m1,
m2).
9
39. Prueba que 30 divide n − n para cada nonnegative
entero n.
12
40. Prueba que n − 1 es divisible por 35 para cada
entero n para qué gcd(n, 35) = 1.
41. Espectáculo que si p y q es números primos
q−1 p−1
distintos, entonces p +q ≡ 1 (mod pq).
El dígito de control un13 para un ISBN-13 con dígitos
iniciales un1un2 . . . Un12 está determinado por la
congruencia (un1 + un3 + · · · + un13) + 3(un2 + un4 +
· · · + un12) ≡ 0 (mod 10).
42. Determinar si cada cual de estos números de 13
dígitos es un válido ISBN-13.
a) 978-0-073-20679-1
b) 978-0-45424-521-1
c) 978-3-16-148410-0
d) 978-0-201-10179-9
43. Espectáculo que el dígito de control de un ISBN-13
siempre puede detectar un error solo.
44. Espectáculo que hay transposiciones de dos dígitos
que no es detectado por un ISBN-13.
Un encaminamiento transit número (RTN) es un código
de banco utilizado en los Estados Unidos cuál aparece en
el fondo de controles. La forma más común de un RTN
La congruencia 3(d1 + d4 + d7) + 7(d2 + d5 + d8) + (d3 + El ordenador Proyecta
309
d6 + d9) ≡ 0 (mod 10) control de mosto.
45. Espectáculo que si d1d2 . . . d9 es un válido RTN,
entonces d9 = 7(d1 + d4 + d7) + 3(d2 + d5 + d8) + 9(d3 keystream, después del primero, es la letra anterior del
+ d6) mod 10. Piel-thermore, uso esta fórmula para plaintext. Cuándo el ciphertext está utilizado, cada carácter
encontrar el dígito de control que sigue los ocho dígitos subsiguiente del keystream, después del primero, es la letra
11100002 en un válidos RTN. anterior del ciphertext computó tan lejos. En ambos casos,
46. Espectáculo que el dígito de control de un RTN puede plaintext las letras están encriptadas por cambiar cada carácter
detectar todos los errores solos y determinar qué errores por el equivalente numérico del correspondiente keystream
de transposición un RTN dígito de control puede coger y letra.
cuál unos no pueda coger. 48. Uso el autokey cipher para encriptar el mensaje
47. La versión encriptada de un mensaje es LJMKG MG- AHORA ES EL TIEMPO para DECIDIR (ignorando
MXF QEXMW. Si esté encriptado utilizando el afín ci- espacios) utilizando
pher f (p) = (7p + 10) mod 26, qué era el mensaje a) El keystream con semillas X seguidos por letras del
original ? plaintext.
Autokey ciphers Es ciphers donde el n th letra del sencillo-el b) El keystream con semillas X seguidos por letras del
texto está cambiado por el equivalente numérico del n th letra ciphertext.
de un keystream. El keystream empieza con una letra de 49. Uso el autokey cipher para encriptar el mensaje EL
semilla; su sub-sequent las letras están construidas utilizando SUEÑO DE RAZÓN (ignorando espacios) utilizando
tampoco el plaintext o el ciphertext. Cuándo el plaintext está a) El keystream con semillas X seguidos por letras del
utilizado, cada carácter del plaintext.
b) El keystream con semillas X seguidos por letras del
ciphertext.

Proyectos de ordenador
12. Dado un conjunto de números de identificación, uso un
Escribe programas con estas entradas y hash func-tion para asignarles a ubicaciones de
producciones. memoria donde hay k ubicaciones de memoria.
13. Computar el dígito de control cuándo dado los
primeros nueve dígitos de un ISBN-10.
1. Enteros dados n y b , cada más grandes que 1, encontrar
la base b expansión de este entero.
2. Dado los enteros positivos un, b, y m con m > 1,
encontrar un b mod m.
3. Dado un entero positivo, encontrar el Cantor expansión de
este entero (ve el preámbulo para Ejercitar 48 de Sección
4.2).
4. Dado un entero positivo, determinar si es primo
utilizando división de prueba.
5. Dado un entero positivo, encontrar la factorización
prima de este entero.
6. Dados dos enteros positivos, encontrar su más grande
común divisor utilizando el algoritmo euclidiano.
7. Dados dos enteros positivos, encontrar su menos común
mul-tiple.
8. Enteros positivos dados un y b , encuentra Bézout
coeficientes s y t de un y b .
9. Dado relativamente enteros positivos primos un y b ,
encontrar un inverse de un modulo b.
10. Dado n congruencias lineales modulo pairwise
relativamente primos moduli, encontrar la solución
simultánea de estos con-gruences modulo el producto
de estos moduli.
11. Dado un entero positivo N , un modulus m, un
multiplier un, un increment c, y una semilla x0, donde
0 ≤ un <m , 0 ≤ c < m, y 0 ≤ x0 < m, generar la
secuencia de N pseudo-los números aleatorios que
utilizan el lineales congruential generador xn +1 =
(hachan + c) mod m.
14. Dado un mensaje y un entero positivo k menos de 26,
encriptar este mensaje que utiliza el cambio cipher con
clave k; y dado un mensaje encriptó utilizar un cambio
cipher con clave k, decrypt este mensaje.
15. Dado un mensaje y enteros positivos un y b menos de
26 con gcd(un, 26), encriptar este mensaje que utiliza
un afín cipher con clave (un, b); y dado un mensaje nos
encripté-ing el afín cipher con clave (un, b), decrypt
este mensaje, por primer hallazgo el decryption llave y
entonces aplicando el apropiado decryption
transformación.
16. Encontrar el original plaintext mensaje del ciphertext el
mensaje producido por encriptar el plaintext el mensaje
que utiliza un cambio cipher. Hacer este utilizando una
cuenta de frecuencia de letras en el ciphertext.
∗ 17. Construir una llave de encriptación de RSA válida por
encontrar dos albores p y q con 200 dígitos cada y un
entero e > 1 relativamente primo a (p − 1)(q − 1).
18. Dado un mensaje y un entero n = pq donde p y q es
albores extraños y un entero e > 1 relativamente primo
a (p − 1)(q − 1), encriptar el mensaje que utiliza la RSA
cryptosystem con clave (n, e).
19. Dado una llave de RSA válida (n, e), y los albores p y
q con n = pq, encontrar el asociado decryption clave
d.
20. Dado un mensaje encriptó utilizar la RSA cryptosystem
con clave (n, e) y el asociado decryption llave d, de-
cripta este mensaje.
21. Generar un compartido clave utilizando el Diffie-
Hellman protocolo de cambio ex clave.
22. Dado el público de RSA y llaves privadas de dos
partidos, enviar un mensaje secreto firmado de uno de
los partidos al otro.
310 4 / Teoría de Número y Criptografía

Computaciones y Exploraciones
Uso un programa computacional o te programas ha escrito para hacer estos ejercicios.

p
1. Determinar si 2 − 1 es primo para cada de los albores 6. Encuentra 10 diferente prepara cada cual con 100
no superando 100. dígitos.
p 7. Cuántos albores son allí menos de 1,000,000, menos de
2. Prueba una gama de grande Mersenne números 2 − 1
a de-termine si son primos. ( Puedes querer software 10,000,000, y menos de 100,000,000? Puede propones
de uso del GIMPS proyecto.) una estimación para el número de albores menos de x
3. Determinar si Qn = p1p2 · · · pn + 1 es primo donde donde x es un entero positivo?
p1, p2, . . . , pn es el n albores más pequeños, para tan 8. Encontrar un factor primo de cada de 10 diferente 20-
muchos entero positivo n como posible. dígito enteros extraños, seleccionó al azar. Mantiene
4. Busca polinomios en una variables cuyos valores en las pista de cuánto tiempo toma para encontrar un factor
carreras largas de enteros consecutivos son todos los de cada de estos enteros. Hacer la misma cosa para 10
albores. diferente 30-dígito enteros extraños, 10 dif-ferent 40-
2 dígito enteros extraños, y tan encima, continuando
5. Encuentra tan muchos albores de la forma n + 1 dónde
mientras posibles.
n es un pos-itive entero cuando puedes. No es sabido si
hay infinitamente muchos tales albores. 9. Encontrar todo pseudoprimes a la base 2 aquello no
supera 10,000.

Escribiendo Proyectos
Responde a estos con los ensayos que utilizan fuera de fuentes.
pseudorandom? Qué shortcomings ha sido observado
1. Describir el Lucas–Lehmer prueba para determinar si un en simulacros y experimentos en qué pseudorandom los
Mersenne el número es primo. Hablar el progreso del números han sido utilizados? Qué es las propiedades
GIMPS proyecto en encontrar Mersenne prepara utilizar
que pseudorandom los números pueden tener aquello
corrió-dom los números no tendrían que tener?
esta prueba.
2. Explica qué probabilista primality las pruebas están
utilizadas en prac-tice para producir extremadamente
números grandes que es casi ciertamente primo. Hacer
tales pruebas tienen cualquier sorteo potencial-
espaldas?
3. La cuestión de si hay infinitamente muchos Carmichael
los números estuvo solucionado recientemente después de
ser abiertos para más de 75 años. Describir los
ingredientes que fue a la prueba que hay infinitamente
muchos tales números.
4. Summarize El estado actual de factoring algoritmos en
plazos de su complejidad y la medida de números que
actualmente puede ser factored. Cuando lo crees que
será factible a factor números de 200 dígitos?
5. Describir los algoritmos que es de hecho utilizado por
ordenadores modernos para añadir, resta, multiplica, y
dividir enteros positivos.
6. Describir la historia del teorema de resto chino.
Describe algunos de los problemas pertinentes posaron
en Chi-nese e Hindu escrituras y cómo el teorema de
resto chino aplica a ellos.
7. Cuando es los números de una secuencia
verdaderamente aleatoria num-bers, y no
8. Explicar cómo un dígito de control está encontrado para
un Número de cuenta de Banco Internacional (IBAN) y
hablar los tipos de errores que puede ser encontrado
utilizando este dígito de control.
9. Describir el Luhn algoritmo para encontrar el dígito de
control de un número de tarjeta del crédito y hablar los
tipos de errores que puede fundar utilizar este dígito de
control.
10. Espectáculo cómo una congruencia puede soler decir el
día de la semana para cualquier fecha dada.
11. Describe qué público la criptografía clave está siendo
aplicó. Es las maneras está aplicado seguro dado el
estado de fac-toring algoritmos? la información
mantuvo segura utilizando la criptografía clave pública
devenida insecure en el futuro?
12. Describe qué público la criptografía clave puede soler
el producto firmó mensajes secretos de modo que el
recipient es relativamente seguro el mensaje estuvo
enviado por la persona ex-pected para tener enviado lo.
13. Describir el Rabin llave pública cryptosystem,
explicando cómo para encriptar y cómo a decrypt
mensajes y por qué es propio para uso como público
clave cryptosystem.
∗ 14. Explicar por qué no sea adecuado de utilizar p, donde p es
un albor grande, cuando el modulus para encriptación en la
RSA cryptosystem. Aquello es, explicar cómo alguien
podría, sin computación excesiva, encontrar una llave
privada de la llave pública correspondiente si el modulus
era un albor grande, más que el producto de dos albores
grandes.
15. Explicar qué está significado por un cryptographic hash
función? Qué es las propiedades importantes tal función
tiene que tener?

También podría gustarte