Tema 1 PDF
Tema 1 PDF
Tema 1 PDF
Dígitos de control y
criptografía
Estas notas deben entenderse como un guión de lo que se expondrá en el aula. En ningún caso
pretenden sustituir ni la asistencia a clase ni las necesarias consultas bibliográficas. El contenido
de este capítulo puede seguirse a través de [4].
En este capítulo se presentan resultados relativos a números enteros y a la división euclídea y se estudian
las congruencias lineales con vistas a definir la función de Euler. Todo ello permitirá analizar los sistemas
de dígitos de control y los procedimientos de encriptación.
En este capítulo vamos a trabajar con el conjunto de los números enteros, Z, y su subconjunto N de los
números naturales. En ambos conjuntos existe una relación de orden “natural”, la determinada por
a R b si y sólo si b − a ∈ N ∪ {0} (es decir, a ≤ b). (1.1)
Definición 1.1.2 Sea X un conjunto y R una relación de orden en X. Diremos que R es un orden total en
X si para todo par de elementos x, y ∈ X se verifica que x R y o y R x. 2
Ejercicio 1.1.3 Comprobar que (1.1) es una relación de orden total en N y en Z. 2
Definición 1.1.4 Sea X un conjunto y R una relación de orden en X. Diremos que R es una buena ordena-
ción si para cada subconjunto no vacío Y de X existe un elemento a ∈ Y de forma que a está relacionado
con todos los elementos de Y. 2
Ejemplo 1.1.5 La relación (1.1) es una buena ordenación en N, ya que el menor elemento de cualquier
subconjunto Y está relacionado con todos los elementos de Y , sea éste cual sea. En cambio, la relación
de orden (1.1) no es una buena ordenación en Z, pues basta tomar un subconjunto en el que no exista “el
menor número” (por ejemplo, basta tomar como Y los enteros negativos para que no haya ningún elemento
relacionado con todos). De hecho, para cualquier a ∈ Z, el conjunto
{m ∈ Z : a ≤ m}
está bien ordenado con la relación (1.1). 2
En el conjunto de números enteros se pueden definir otras muchas relaciones; una fundamental es la de
divisibilidad:
Definición 1.1.7 Dados dos números enteros m y n, diremos que m divide a n si existe un entero d tal que
n = md. Denotaremos esta situación por m|n. 2
Ejercicio 1.1.8 Comprobar que la relación de divisibilidad en N es una relación de orden (no total) mientras
que no lo es en Z (porque no es antisimétrica). 2
Teorema 1.2.1 Sean n, m ∈ Z con m ̸= 0. Se verifica que existen unos únicos enteros q y r tales que
n = mq + r, con 0 ≤ r < |m|. Los números q y r se denominan, respectivamente, cociente y resto de la
división de n entre m.
D EMOSTRACIÓN.
a) Supongamos primero que m > 0. Nótese que para cualquier q ∈ Z se tiene que
n = mq + (n − mq).
S0 = {n − mx, x ∈ Z y n − mx ≥ 0}.
Puesto que S0 ̸= ∅, podemos considerar su menor elemento r = n − mq, con q ∈ Z. Es obvio que
r ≥ 0 (pues r ∈ S0 ). Supongamos que r ≥ m y lleguemos a una contradicción; en efecto, en tal caso se
tendría que
0 ≤ r − m = n − mq − m = n − m(q + 1) = r − m < r
y, por tanto, n − m(q + 1) sería un elemento de S0 menor que el primero r.
b) Si m < 0, basta aplicar el apartado anterior a −m, pues
n = (−m)q + r = m(−q) + r.
Para ver la unicidad, supongamos que hay dos cocientes y dos restos,
n = mq1 + r1 = mq2 + r2
con
0 ≤ r1 < |m| y 0 ≤ r2 < |m|.
Si q1 ̸= q2 entonces |q1 − q2 | ≥ 1 y |m(q1 − q2 )| = |m||q1 − q2 | ≥ |m|. Por otra parte,
Observación 1.2.2 Nótese que en la división euclídea el resto es siempre no negativo. Por ejemplo, la
división de −8 entre 3 proporciona como cociente −3 y resto 1 (y no cociente −2 y resto −2). 2
Los siguientes resultados tratan sobre la existencia y unicidad del máximo común divisor de dos enteros
no nulos, así como de la identidad de Bézout. En primer lugar, se presenta el conocido algoritmo de Eucli-
des para el cálculo del máximo común divisor de dos números (garantizando de paso su existencia). Este
algoritmo es particularmente interesante cuando los números son “grandes” pues, en tal caso, la conocida
regla de los factores primos comunes no es practicable.
b) Para i ≥ 2, suponemos cierto el resultado para los índices menores que i y lo probamos para i. Por la
hipótesis de inducción, se verifica que
Observación 1.3.7 Nótese que, en general, la identidad de Bézout no es única. Por ejemplo, mcd(6, 4) = 2
y se tiene
6 × 1 + 4 × (−1) = 2 y 6 × (−1) + 4 × 2 = 2. 2
i ri qi xi yi
0 249 1 0
1 36 6 0 1
2 33 1 1 −6
3 3 11 −1 7
0
3 = 249 × (−1) + 36 × 7. 2
Definición 1.3.9 Dados dos números enteros no nulos m y n, diremos que un número positivo l es un mí-
nimo común múltiplo de m y n si ambos lo dividen, y divide a cualquier número t al que m y n dividan. 2
Observación 1.3.10 La unicidad del mínimo común múltiplo se prueba del mismo modo que la del máximo
común divisor. Relegamos el procedimiento de cálculo (y, consecuentemente, la existencia) hasta el final
de la Sección 1.4 relativa al estudio de los números primos. 2
Proposición 1.4.2 Todo número natural n mayor que 1 tiene algún divisor primo.
b) Ahora sea n > 2 y supongamos que hasta n − 1 todos los números admiten algún divisor primo. O
bien n es primo, y ya tenemos su factor primo, o bien es compuesto, y entonces es divisible por algún
natural t distinto de 1 y de n. Gracias a la hipótesis de inducción, t tiene algún divisor primo, que lo será
también de n. 2
Proposición 1.4.3 Todo número natural n mayor que 1 se puede expresar como producto de primos.
a) Para 2 se cumple.
b) Sea ahora n > 2 y suponemos cierto el resultado hasta n−1. Como n tiene algún divisor primo p, si éste
coincide con n ya está; si no, se tiene que n = kp con k menor que n y, por la hipótesis de inducción,
producto de primos. En consecuencia, n también lo es. 2
P = {p1 , p2 , . . . , pn }.
Entonces tomamos
k = 1 + p1 p2 · · · pn .
Ninguno de los primos pi divide a k, pero éste tiene algún divisor primo, que por lo tanto tiene que ser
alguno que no está en P. 2
Definición 1.4.5 Diremos que dos números a, b ∈ Z\{0} son primos entre sí (o que a es primo con b, o b
con a) si mcd(a, b) = 1. 2
Teorema 1.4.6 Sean a, b ∈ Z\{0} y m ∈ Z\{0} primo con a. Si m divide a ab, entonces m divide a b.
D EMOSTRACIÓN. Como m es primo con a, el máximo común divisor de ambos es 1 y, por lo tanto,
tenemos una identidad de Bézout: existen u, v ∈ Z tales que
1 = mu + av.
Corolario 1.4.7 Sean a, b ∈ Z\{0} y p un número primo. Si p divide a ab, entonces p divide a alguno de
los dos. 2
Observación 1.4.8 Por supuesto, el Corolario 1.4.7 se extiende a cualquier producto finito, por inducción
sobre el número de factores. 2
Teorema 1.4.9 La expresión de cada número natural n mayor que 1 como producto de primos es única
(salvo el orden).
n = p1 p2 · · · pr = q1 q2 · · · qs ,
donde los pi y los qj son primos y están ordenados de menor a mayor. Como p1 divide a la primera
expresión, divide a la segunda, y como es primo, divide a alguno de los factores, digamos qj . Como éste
también es primo, p1 = qj . Del mismo modo, q1 divide a algún pi y, por lo tanto, q1 = pi . Pero entonces
p1 = qj ≥ q1 = pi ≥ p1 .
p2 p3 · · · pr = q2 q3 · · · qs
Observación 1.4.10 Con este resultado queda garantizada la unicidad de descomposición en factores pri-
mos
n = pα 1 p2 · · · pr con p1 < p2 < · · · < pr ,
1 α2 αr
que es el modo razonable de expresar un número como producto de primos, agrupando los que se repiten,
y ordenándolos de menor a mayor. 2
Observación 1.4.11 Volvemos ahora a traer a colación al máximo común divisor y al mínimo común múl-
tiplo. Supongamos que tenemos dos naturales m y n mayores que 1, y expresemos ambos como producto de
primos, permitiendo que los exponentes puedan ser 0 para incluir en ambas expresiones los mismos primos.
Sean entonces
1 p2 · · · pr
n = pα 1 α2 αr
y m = pβ1 1 pβ2 2 · · · pβr r ,
donde los exponentes αi , βi ≥ 0. Si para cada i ∈ {1, 2, . . . , r} denotamos
γi = min{αi , βi } y δi = max{αi , βi },
es claro que
mcd(m, n) = pγ11 pγ22 · · · pγr r y mcm(m, n) = pδ11 pδ22 · · · pδrr . 2
Observación 1.4.12 Las expresiones anteriores garantizan que para m, n ∈ Z\{0} se tiene que
En particular, si dos números son primos entre sí, su mínimo común múltiplo es el valor absoluto de su
producto. 2
Ejemplo 1.4.13 Para hallar el mínimo común múltiplo de 249 y 36, puesto que mcd(249, 36) = 3 (como
se vio en el Ejemplo 1.3.8), basta con calcular
36
249 × = 2988. 2
3
Ejemplo 1.5.1 Z es la letra que le corresponde al D.N.I. 12345678, ya que 12345678 dividido entre 23 da
de resto 14. 2
a) Si por error cambiamos una cifra del número del D.N.I., sustituyendo a por b en el dígito n–ésimo
empezando por la derecha, el número se altera en
(b − a) 10n−1 .
Por supuesto, 10n−1 es primo con 23 porque no es múltiplo suyo; y también b − a, pues |b − a| < 10.
Por lo tanto la diferencia entre el número correcto y el erróneo no es múltiplo de 23, y al dividirlos por
23 dan restos distintos. El dígito de control alerta del error cometido.
b) Del mismo modo, si cambiamos el orden de dos cifras consecutivas, digamos en lugar de ab escribimos
ba, repitiendo la argumentación de antes el número se altera en
IDESPXYZ123456a12345678Z<<<<<<<<
891121bM150623cESP <<<<<<<<<<<d
GARCIA<PEREZ<<ANGEL<<<<<<<<<
8 9 1 1 2 1 8 1 5 0 6 2 3 3
× 3 1 7 3 1 7 3 1 7 3 1 7 3 1
24 9 7 3 2 7 24 1 35 0 6 14 9 3
Puesto que la suma de los resultados obtenidos es
231 + 102 + 35 + 7 + 6 + 3 + 28 + 15 + 6 + 21 + 3 + 2 + 21 + 12 + 5 + 42 + 21
+ 8 + 245 + 24 + 9 + 7 + 3 + 2 + 7 + 24 + 1 + 35 + 0 + 6 + 14 + 9 + 3 = 957,
se tiene que d = 7.
IDESPXYZ123456312345678Z<<<<<<<<
8911218M1506233ESP <<<<<<<<<<<7
GARCIA<PEREZ<<ANGEL<<<<<<<<<
Observación 1.5.3 En los D.N.I. antiguos (no electrónicos) hay un par de cambios: no existe número de
serie y el número de D.N.I. va seguido de un dígito de control que se calcula con dicho campo. Todo lo
demás es igual. 2
Ejercicio 1.5.4 Demostrar que el sistema de dígitos de control del D.N.I. capta cuándo se altera el valor de
una cifra en alguno de los campos. 2
1.6 Congruencias
Un ejemplo fundamental de relación de equivalencia en Z es la de congruencia módulo m, que denotaremos
≡ (mod m), para un natural m dado.
Definición 1.6.1 Sea m un número natural. Diremos que dos enteros a y b están relacionados por la relación
de congruencia módulo m, esto es, a ≡ b (mod m), si a − b es múltiplo de m. 2
Observación 1.6.2 Obviamente esta relación es una relación de equivalencia en Z, que descompone este
conjunto en m clases de equivalencia. Los elementos de cada clase son los que tienen un resto dado al
dividir entre m. Por lo tanto, en cada clase de congruencia módulo m hay un representante entre 0 y m − 1.
Llamaremos
Zm = {0, 1, 2, . . . , m − 1}
al conjunto cociente de esta relación y denotaremos [x]m a la clase de equivalencia de x módulo m. 2
Observación 1.6.3 Esta relación de congruencia tiene adecuadas propiedades aritméticas: si tenemos dos
congruencias con el mismo módulo,
En efecto, que se cumplan las congruencias originales implica que a1 − b1 y a2 − b2 son múltiplos de m,
es decir,
a1 = b1 + k1 m y a2 = b2 + k2 m
para algunos enteros k1 y k2 . Pero entonces
b) ak ≡ bk (mod m) para todo k ∈ Z (el recíproco no es cierto: 8 ≡ 2 (mod 6) pero 4 ̸≡ 1 (mod 6)).
ax ≡ b (mod m)
El primer problema que se plantea es si las congruencias tienen solución, es decir, si existe x que
satisfaga que ax y b son congruentes módulo m, y si esta solución es única o puede haber varias. Para
dilucidar el problema del número de soluciones vamos primero a estudiar dónde se debe buscar.
Proposición 1.6.7 Sea ax ≡ b (mod m) una congruencia lineal. Si α es una solución de la misma y
β ≡ α (mod m) entonces β es también una solución de la congruencia.
Como aα ≡ b (mod m), la propiedad transitiva asegura que aβ ≡ b (mod m), es decir, que β es solución
de la congruencia. 2
Observación 1.6.8 Este resultado nos indica que basta con que encontremos las soluciones de la congruen-
cia que estén en Zm . 2
⇐ Supongamos que d divide a b, digamos b = dk para algún k ∈ Z. Como d = mcd(a, m), existen
enteros u y v tales que
d = au + mv,
luego b = auk + mvk. Por lo tanto b ≡ auk (mod m), así que uk es solución de la congruencia.
aα − b = km,
a) En primer lugar supongamos que d = 1 y que hubiera dos soluciones, α y β en Zm . Entonces, tanto aα
como aβ son congruentes con b módulo m, luego a(α − β) es múltiplo de m. Como a es primo con
m, resulta que α − β es múltiplo de m y, al estar ambos en Zm , resulta que α − β = 0, luego ambas
soluciones son iguales.
α, α + m1 , α + 2m1 , . . . , α + (d − 1)m1 ;
Una vez que hemos resuelto el problema de determinar cuándo hay solución, dónde hay que buscarla, y
cuántas hay, veamos un ejemplo para ver cómo se obtienen.
Lo primero es ver si (1.3) tiene solución y, para ello, se calcula el máximo común divisor de 56 y 105. A
partir de la tabla
i r i qi x i yi
0 105 1 0
1 56 1 0 1
2 49 1 1 −1
3 7 7 −1 2
0
se tiene que
mcd(56, 105) = 7
y la identidad de Bézout
7 = 105 × (−1) + 56 × 2.
Como 7 divide a 42, la congruencia (1.3) tiene solución, y hay un total de siete (el mcd) en Z105 . Para
calcularlas, seguimos el procedimiento aprendido al demostrar la existencia. Trabajamos con la congruencia
auxiliar, de solución única, resultante de dividir todo por 7
1 = 15 × (−1) + 8 × 2.
y, por tanto, x = 12 es solución de (1.4) (nos ha salido un número perteneciente a Z15 ; si no fuera así
tomaríamos su resto módulo 15). Y ahora que tenemos la solución única de la congruencia auxiliar (1.4),
recordando de nuevo cómo demostramos el número de soluciones del problema original, ya sabemos que
las siete soluciones de (1.3) son
12, 12+15 = 27, 12+2×15 = 42, 12+3×15 = 57, 12+4×15 = 72, 12+5×15 = 87, 12+6×15 = 102.
Como nunca está de más comprobar que no nos hemos equivocado veamos, por ejemplo, que 102 es solu-
ción de (1.3). En efecto, puesto que
Observación 1.6.12 En el caso particular de que b = 1, el Teorema 1.6.10 asegura que la congruencia
lineal ax ≡ 1 (mod m) tiene solución si, y sólo si, mcd(a, m) divide a 1, es decir, si a y m son primos
entre sí (en cuyo caso, la solución en Zm es única). Esto permite definir, cuando mcd(a, m) = 1, el inverso
de a en Zm (que se suele denotar a−1 ) como la solución de la congruencia ax ≡ 1 (mod m) en Zm .
En la práctica, para encontrar a−1 basta con encontrar una identidad de Bézout de la forma
1 = ax + my
y tomar como a−1 el representante de x en Zm (es decir, el resto de dividir x entre m). 2
i ri qi xi yi
0 37 1 0
1 7 5 0 1
2 2 3 1 −5
3 1 2 −3 16
0
Una vez estudiadas las congruencias lineales, se generaliza la cuestión a sistemas de congruencias.
Consideraremos para empezar dos congruencias, módulo respectivamente m y n. Estudiemos, en primer
lugar, la relación entre las clases de congruencia módulo estos dos números.
puesto que si y ∈ [x]mn , existe λ tal que y = x + λmn, por lo que y es congruente con x, módulo
m y también módulo n. Sin embargo, el otro contenido, en general, no se da. Basta tomar, por ejemplo,
x = 1, m = 2 y n = 6; en este caso se tiene
El siguiente resultado muestra que la igualdad se da cuando los módulos son primos entre sí.
Proposición 1.6.15 Si m y n son dos números naturales primos entre sí, se verifica que
y = x + λm = x + µn.
Por lo tanto, λm = µn. Como mcd(m, n) = 1, se tiene que n divide a λ, digamos λ = λ1 n. Con ello,
y = x + λm = x + λ1 nm,
y así y ∈ [x]mn . 2
Estamos ya en condiciones de establecer una condición suficiente para que un sistema de dos congruen-
cias tenga solución y estudiar su unicidad.
Teorema 1.6.16 Sean m1 y m2 dos naturales primos entre sí. Si cada una de las congruencias lineales
{
a1 x ≡ b1 (mod m1 )
a2 x ≡ b2 (mod m2 )
tiene solución, entonces existe solución común a ambas congruencias en Zm1 m2 . Si, además,
mcd(a1 , m1 ) = 1 y mcd(a2 , m2 ) = 1
1 = m1 u + m2 v.
α = α2 m1 u + α1 m2 v = α2 m1 u + α1 (1 − m1 u) = α1 + m1 (α2 u − α1 u)
α ≡ β (mod m1 ).
Los módulos 8 y 5 son primos entre sí, y cada congruencia tiene solución única, α1 = 6 y α2 = 3,
respectivamente (compruébese). Escribiendo una Identidad de Bézout de 8 y 5, 1 = 2 × 8 − 3 × 5, y
multiplicando por las soluciones de forma cruzada como en la demostración anterior, obtenemos la única
solución común en Z40
Teorema 1.6.18 (Chino del resto) Sean m1 , m2 , . . . , mk números naturales primos entre sí dos a dos. Si
cada una de las congruencias lineales
ai x ≡ bi (mod mi ), i = 1, 2, · · · , k
tiene solución, entonces existe solución común a todas ellas en Zm1 m2 ···mk . Si, además,
mcd(ai , mi ) = 1, i = 1, 2, · · · , k
D EMOSTRACIÓN. Probamos la existencia de solución común por inducción sobre el número k de con-
gruencias.
a) Si k = 2, es el Teorema 1.6.16.
b) Sea k > 2 y supongamos cierto el resultado para k − 1 congruencias. Entonces las k − 1 primeras
congruencias del sistema tienen una solución común, digamos α. También cualquier solución de la
congruencia
x ≡ α (mod m1 m2 · · · mk−1 )
es solución de las k − 1 primeras congruencias. Basta considerar ahora el sistema de dos congruencias
{
x ≡ α (mod m1 m2 · · · mk−1 )
(1.5)
ak x ≡ bk (mod mk )
Como m1 m2 · · · mk−1 y mk son primos entre sí, este sistema de dos congruencias tiene solución común,
que lo es de todo el sistema.
Finalmente, si la solución común α de las k − 1 primeras congruencias del sistema es única, como la de
la k-ésima también lo es, aplicando el mismo razonamiento que en el Teorema 1.6.16 al sistema (1.5)
probamos la unicidad de solución común a todo el sistema. 2
Observación 1.6.19 Si los módulos de las congruencias no son primos entre sí dos a dos, puede o no haber
solución. Así, por ejemplo, el sistema de congruencias
{
x ≡ 2 (mod 15)
x ≡ 1 (mod 6)
tiene una única solución en Z120 , puesto que los módulos 8, 5 y 3 son primos entre sí dos a dos, y cada
congruencia tiene solución única, α1 = 6, α2 = 3 y α3 = 1, respectivamente (compruébese). En el
Ejemplo 1.6.17 hemos encontrado la solución común a las dos primeras en Z40 , que es 38. Siguiendo lo
aprendido en la demostración del teorema Chino del resto, consideramos el sistema de dos congruencias
{
x ≡ 38 (mod 40)
5x ≡ 2 (mod 3)
Definición 1.6.21 Sea n ∈ N. Llamaremos φ(n), la función de Euler del número n, al cardinal del conjunto
{t ∈ N : 1 ≤ t ≤ n y mcd(t, n) = 1}. 2
Dado un número pequeño es muy fácil calcular su función de Euler. Vamos a obtener un procedimiento
de carácter general mediante tres pasos sucesivos, según la estructura del número como producto de primos,
usando en el tercero lo que hemos aprendido de congruencias.
φ(p) = p − 1.
D EMOSTRACIÓN. Evidente. 2
φ(pk ) = pk − pk−1 .
D EMOSTRACIÓN. Los números hasta pk que tienen factores comunes con pk son múltiplos de p. Hasta
pk hay exactamente pk−1 múltiplos de p y, por lo tanto, se tiene el resultado. 2
Antes de dar el tercer paso, enunciamos dos lemas auxiliares (se propone, como ejercicio, demostrarlos).
Lema 1.6.25 Sean a, b ∈ N. Un número γ ∈ N es primo con a y con b si, y sólo si, es primo con ab.
Teorema 1.6.26 Si a y b son dos números naturales primos entre sí, se verifica que
φ(ab) = φ(a)φ(b).
D EMOSTRACIÓN. Sean
respectivamente, los conjuntos de números primos con a, b y ab en Za , Zb y Zab . Vamos a construir una
biyección de A × B en C. Para ello, dado (αi , βj ) ∈ A × B, definimos el sistema de congruencias lineales
{
x ≡ αi (mod a)
x ≡ βj (mod b).
Según sabemos, tiene solución única, digamos γ, en Zab . Como γ ≡ αi (mod a) y αi es primo con a, el
Lema 1.6.24 nos asegura que γ es primo con a. Del mismo modo, γ es primo con b y, por el Lema 1.6.25,
lo es con ab. Es decir, γ ∈ C. Definimos f : A × B → C tomando γ como la imagen de (αi , βj ).
Observación 1.6.27 Así pues, ya tenemos una forma de obtener la función de Euler de cualquier núme-
ro. Basta expresarlo como producto de potencias de primos, y su función de Euler es el producto de las
respectivas expresiones (pk − pk−1 ). 2
Ejemplo 1.6.28 Puesto que 420 = 22 × 3 × 5 × 7 se tiene que
φ(420) = (22 − 21 )(31 − 30 )(51 − 50 )(71 − 70 ) = 2 × 2 × 4 × 6 = 96. 2
En estos términos, podemos ahora ver dos teoremas importantes en teoría de números, a saber:
Teorema 1.6.29 (Euler) Si a y n son dos números naturales primos entre sí, entonces
aφ(n) ≡ 1 (mod n).
D EMOSTRACIÓN. En primer lugar, vamos a demostrar la siguiente afirmación: considerando los conjuntos
A = {v1 , v2 , . . . , vφ(n) } de números menores que n y primos con n, y B = {av1 , av2 , . . . , avφ(n) },
entonces cada uno de los elementos de B es congruente módulo n con uno de los de A, y viceversa. En
efecto, para cada vi ∈ A, como a y n son primos entre sí, la congruencia
ax ≡ vi (mod n)
tiene una única solución α en Zn que, razonando como en la demostración del Teorema 1.6.26, es primo
con n. Así pues, α ∈ A y aα es un elemento de B congruente con vi módulo n. Supongamos ahora que
existe α ∈ A solución de las congruencias asociadas a vi y vj , es decir,
{
aα ≡ vi (mod n)
aα ≡ vj (mod n).
Obviamente, entonces, vi ≡ vj (mod n), y como ambos son elementos de Zn , son iguales. Hemos probado,
por tanto, que cada elemento de A es congruente con uno de B y que dos elementos distintos de A no
pueden ser congruentes con el mismo elemento de B. Como ambos conjuntos tienen el mismo número de
elementos, se llega a la afirmación previamente enunciada.
Ahora, llamando u y v, respectivamente, a los productos de los elementos de A y de B, se tiene que
v ≡ u (mod n). Pero
v = aφ(n) u,
por lo que
aφ(n) u ≡ u (mod n)
y, al ser u y n primos entre sí, existe el inverso de u en Zn y, por tanto,
aφ(n) ≡ 1 (mod n). 2
y asignando el número 36 al espacio en blanco; seguidamente, se aplica una regla que convierta estos
números en otros de modo biunívoco, de forma que después se puedan descifrar y reconvertir a su valor
original. Suelen considerarse varios tipos de procedimientos:
Ejemplo 1.7.1 Veamos cómo cifrar el mensaje “EL 1 A LAS 3” con la clave aditiva b = 17. En primer
lugar, “traducimos” cada carácter a su valor numérico, obteniendo
14 21 36 1 36 10 36 21 10 28 36 3. (1.6)
Su codificación es
31 1 16 18 16 27 16 1 27 8 16 20, (1.7)
lo que se traduce en “V1GIGRG1R8GK”. El receptor deberá sumar 37 − 17 = 20 (módulo 37) en la cadena
numérica (1.7) para obtener la cadena (1.6), que conduce al mensaje original. 2
Ejemplo 1.7.2 Veamos cómo cifrar el mensaje anterior “EL 1 A LAS 3” con la clave multiplicativa a = 7.
Su traducción es (1.6) y su codificación viene dada por
24 36 30 7 30 33 30 36 33 11 30 21, (1.8)
lo que se traduce en “O U7UXU XBUL”. El receptor debe multiplicar en la cadena numérica (1.8) por el
inverso de 7 en Z37 que, como se vio en el Ejemplo 1.6.13, es 16, obteniendo
384 576 480 112 480 528 480 576 528 176 480 336
23 = 1 × 24 + 0 × 23 + 1 × 22 + 1 × 21 + 1 × 20 ,
c = 2s + ds−1 2s−1 + · · · + d2 22 + d1 2 + d0
para i = 1, 2, . . . , s, entonces
ac = zs bs .
s
( s−1
)ds−1 ( 2 )d 2 ( ) d
ac = a2 a2 · · · a2 a2 ad0 .
1
2
i di zi bi
0 23 1 1 3
1 11 1 3 9
2 5 1 27 81
3 2 0 2187 6561
4 1 1 2187 43046721
0 94143178827
y obtenemos que
323 = 94143178827. 2
Observación 1.7.5 Este algoritmo es particularmente sencillo de usar cuando, como ocurre en este proce-
dimiento de encriptación, es necesario calcular el resto módulo n de la potencia de un número. En tal caso,
todas las operaciones se realizarán módulo n (lo denominaremos algoritmo de exponenciación modular
rápida). Así, por ejemplo, para calcular el valor de 323 módulo 19 construiremos la tabla
i di zi bi
0 23 1 1 3
1 11 1 3 9
2 5 1 8 5
3 2 0 2 6
4 1 1 2 17
0 15
obteniendo
323 ≡ 15 (mod 19). 2
t ≡ 1 (mod φ(n)).
b) n es primo.
entonces
mt ≡ m (mod n).
D EMOSTRACIÓN.
b) Sea n primo: si m es primo con n ya lo hemos demostrado en el apartado a); si no, es que m es múltiplo
de n, luego
m ≡ 0 (mod n) ⇒ mt ≡ 0 ≡ m (mod n).
c) Si n = pq siendo p y q dos números primos distintos, por el Teorema 1.6.26, se tiene que
Luego t ≡ 1 (mod φ(p)) y t ≡ 1 (mod φ(q)) por lo que, gracias al apartado b),
Como p y q son primos distintos, esto implica (véase la Proposición 1.6.15) que
Observación 1.7.7 Este resultado se aplica para encriptar como sigue: se elige n primo o producto de dos
primos distintos, se calcula φ(n), se toma k primo con φ(n) y se calcula j, el inverso de k en Zφ(n) , es
decir, de forma que
kj ≡ 1 (mod φ(n)).
Suponiendo que el emisor y el receptor de un mensaje (o, más precisamente, de su conversión numérica m)
conocen los números k y j, el emisor mandará el mensaje codificado que es r, el resto de la división de mk
entre n. Para descodificar, teniendo en cuenta que
mkj ≡ m (mod n),
el receptor calculará
( )j
rj ≡ mk ≡ mkj ≡ m (mod n),
y así recuperará (la conversión numérica de) el mensaje original m.
Obviamente, este procedimiento sólo es válido cuando el número m es menor que n. Por ello, en la prác-
tica, cuando el mensaje es largo, se agrupan sus caracteres (escribiendo las cifras como 00, 01, 02, . . . , 09
para que todos los caracteres estén representados por un número de dos cifras) en paquetes mi de la misma
longitud ℓ de forma que el número 36 .ℓ). . 36 sea menor que n (por ejemplo, para n = 108 , podemos tomar
ℓ = 4, puesto que 36363636 < n). En el caso de que el número de caracteres del mensaje no sea múltiplo
de ℓ, el último paquete se completa con espacios en blanco. 2
Ejemplo 1.7.8 Para ilustrar este método, consideramos un caso sencillo con n pequeño y un mensaje corto.
Tomamos n = 5 × 11 = 55, lo que nos obliga a tomar paquetes que contienen un único carácter. Veamos
cómo cifrar el mensaje “ADN’. Puesto que
φ(55) = 4 × 10 = 40,
tomamos, por ejemplo, k = 3 (que es primo con 40). A partir de la tabla
i ri qi xi yi
0 40 1 0
1 3 13 0 1
2 1 3 1 −13
0
deducimos que el inverso de k = 3 en Z40 es
j = −13 ≡ 27 (mod 40).
Traduciendo cada carácter a su valor numérico, el mensaje se convierte en 101323. Como nuestros paquetes
se corresponden con un único carácter, debemos codificar 3 números: m1 = 10, m2 = 13 y m3 = 23. Para
ello, empleando el algoritmo de exponenciación modular rápida calculamos m3i a partir de la siguiente
tabla
(1) (1) (2) (2) (3) (3)
i di zi bi zi bi zi bi
0 3 1 1 10 1 13 1 23
1 1 1 10 45 13 4 23 34
0 10 52 12
Los tres paquetes de mensaje codificados que se envían son 10, 52 y 12.
Para descifrar los tres paquetes recibidos, el receptor debe calcular el resto, módulo n = 55, de los
números recibidos (10, 52 y 12) elevados a j = 27. Empleando de nuevo el algoritmo de exponenciación
modular rápida tenemos
(1) (1) (2) (2) (3) (3)
i di zi bi zi bi zi bi
0 27 1 1 10 1 52 1 12
1 13 1 10 45 52 9 12 34
2 6 0 10 45 28 26 23 1
3 3 1 10 45 28 16 23 1
4 1 1 10 45 8 36 23 1
0 10 13 23
Por tanto, el descifrado de los tres paquetes es, respectivamente, 10, 13 y 23 (lo cual se corresponde con el
mensaje inicial “ADN”). 2
Ejemplo 1.7.9 Para ejemplificar el uso del procedimiento RSA consideramos también un valor pequeño de
n y el mismo mensaje “ADN” del Ejemplo 1.7.8. Supongamos que el emisor A tiene como clave pública
(nA , kA ) = (91, 5) mientras que la del receptor B es (nB , kB ) = (55, 3). Según lo visto en el Ejem-
plo 1.7.8, el texto cifrado que se envía está formado por los tres paquetes 10, 52 y 12. Para obtener la firma
digital, supongamos que el resumen del mensaje fuera “N”. Como la clave privada de A es jA = 29 (puesto
que φ(91) = 72 y 5 × 29 = 145 ≡ 1 (mod 72)), el paquete del resumen m = 23 debe elevarse a 29
módulo nA = 91, obteniéndose 04 (compruébese). De esta forma, el mensaje que recibe B es
10 52 12 | 04.
Para descifrar el primer trozo, B utiliza su clave privada que es, como se vio en el Ejemplo 1.7.8, jB = 27.
Elevando los tres paquetes 10, 52 y 12 a 27 módulo nB = 55, obtiene 10, 13 y 23 (compruébese) lo que,
obviamente, se corresponde con el mensaje original “ADN”. Al elevar el paquete de la firma digital 04 a la
clave pública de A, kA = 5, módulo nA = 91 obtiene “N”, comprobando que es lo que le sale al hacer el
resumen del mensaje recibido. Esta coincidencia le confirma que el mensaje ha sido enviado por A y no ha
sido manipulado. 2
[4] T. S. Blyth y E. F. Robertson: Sets and mappings. Essential Student Algebra, vol. 1, Chapman and
Hall, Londres y Nueva York, 1986.
[5] J. Casey: A treatise of spherical trigonometry and its application to Geodesy and Astronomy with
numerous examples. Merchant Books, 2007.
[8] P. Fernández: El secreto de Google y el Álgebra lineal. Boletín de la Sociedad Española de Matemática
Aplicada, 30 (2004), 115–141. Un enlace a este trabajo puede encontrarse en la página personal del
autor: http://www.uam.es/personal_pdi/ciencias/gallardo/index.htm
[9] T. Gowers: Matemáticas. Una breve introducción. Alianza Editorial, Madrid, 2008.
[10] B. Grünbaum y G. C. Shephard: Tilings and patterns. W. H. Freeman and Company, Nueva York,
1987.
[11] J. A. Infante y J. M. Rey: Software Sisdin para el estudio y visualización de sistemas dinámicos
discretos. http://www.mat.ucm.es/momat/software/Sisdin_setup_win32.exe.
[12] M. A. Martín, M. Morán y M. Reyes: Iniciación al caos. Educación matemática en secundaria, Edito-
rial Síntesis, Madrid, 1995.
[15] J. T. Sandefur: Discrete Dynamical Systems. Theory and Applications. Clarendon Press, Oxford, 1990.
[16] I. Stewart: ¿Juega Dios a los dados? Crítica, 1997.