Documentos de Académico
Documentos de Profesional
Documentos de Cultura
A. Martı́nez
1 / 43
MA2002B
A. Martı́nez
Fundamentos de
Criptografı́a.
Parte II
Fundamentos de Criptografı́a.
2 / 43
Teorı́a de Números
MA2002B
A. Martı́nez
Fundamentos de
Criptografı́a.
Definiciones (conjuntos de números naturales, números enteros,
números racionales, números reales).
Operaciones con enteros.
Divisibilidad y números primos.
Factorización y el teorema fundamental de la aritmética.
Máximo común divisor (gcd) y el algoritmo de Euclides.
3 / 43
Definiciones (conjuntos, números naturales, números
enteros, números racionales, números reales).
MA2002B
A. Martı́nez
Fundamentos de
Criptografı́a.
4 / 43
Definiciones (conjuntos, números naturales, números
enteros, números racionales, números reales).
MA2002B
A. Martı́nez
Definición
Un número natural es aquel elemento contable, cuyo rango es
[1, ∞). Para denotarlos como conjunto se usa el sı́mbolo N. Es
decir, se es número natural si a ∈ N, N = {1, 2, ...}.
5 / 43
Definiciones (conjuntos, números naturales, números
enteros, números racionales, números reales).
MA2002B
A. Martı́nez
Fundamentos de
Criptografı́a.
Se tiene que [2]:
Definición
Un número entero es aquel elemento contable, cuyo rango es
(−∞,∞). Para denotarlos como conjunto se usa el sı́mbolo Z (la
letra alemana Zahlen). Es decir, se es número entero si a ∈ Z,
Z = {..., −2, −1, 0, 1, 2, ...}.
6 / 43
Definiciones (conjuntos, números naturales, números
enteros, números racionales, números reales).
MA2002B
A. Martı́nez
Los números enteros pueden ser divididos en los siguientes
Fundamentos de
Criptografı́a.
subconjuntos [2]:
El cero, {0}.
Números enteros positivos, Z+ . Con rango [1, ∞),
Z+ = {1, 2, ...} = N.
Números enteros negativos, Z− . Con rango (−∞, −1]. Es
decir, Z− = {..., −2, −1}.
Números enteros no negativos, Z∗ . Conjunto de números que
abarca desde el cero a ∞. Es decir, Z∗ = {0, 1, 2, ...}. O
también puede ser Z∗ = Z+ ∪ {0}.
7 / 43
Definiciones (conjuntos, números naturales, números
enteros, números racionales, números reales).
MA2002B
A. Martı́nez
Fundamentos de
Criptografı́a.
Se tiene que [3]:
Definición
Un número racional es aquel que puede ser expresado como una
fracción de 2 números enteros p, q, con p, q ∈ Z, q ̸= 0, donde p es
conocido como numerador y q es conocido como denominador. Para
denotarlos como conjunto se definen con la letra Q.
8 / 43
Definiciones (conjuntos, números naturales, números
enteros, números racionales, números reales).
MA2002B
A. Martı́nez
Fundamentos de
Criptografı́a.
Se tiene que [4]:
Definición
Un número irracional es aquel que NO puede ser expresado como
una fracción de 2 números enteros p, q, con p, q ∈ Z, q ̸= 0, donde
p es conocido como numerador y q es conocido como denominador.
Para denotarlos como conjunto se definen con la notación Q̄.
9 / 43
Definiciones (conjuntos, números naturales, números
enteros, números racionales, números reales).
MA2002B
A. Martı́nez
Fundamentos de
Criptografı́a.
Se tiene que [5]:
Definición
El conjunto de los números reales está definida como la unión de los
conjuntos de los números racionales e irracionales. Su notación es
R. Dado lo anterior, si un número a es real, entonces a ∈ R.
10 / 43
Operaciones con enteros
MA2002B
Se tiene que [6, 7]:
A. Martı́nez
Definición
Fundamentos de
Criptografı́a. Un campo es un conjunto de elementos que satisfacen los axiomas de campo
tanto de la suma (+) como de la multiplicación (*), es decir, cumple con las
siguientes definiciones:
Asociatividad. Sean a,b,c, entonces
(a + b) + c = a + (b + c) (1)
(a ∗ b) ∗ c = a ∗ (b ∗ c) (2)
11 / 43
Operaciones con enteros
a ∗ (b + c) = (a ∗ b + a ∗ c) (5)
(a + b) ∗ c = (a ∗ c + b ∗ c) (6)
12 / 43
Operaciones con enteros
MA2002B
Por otro lado, recordemos que existen las siguientes 6 operaciones aritméticas,
A. Martı́nez
que buscaremos acotar a los números enteros positivos. Sean a, b ∈ Z + :
Fundamentos de Suma: c = a + b. La suma de 2 números enteros positivos es un entero
Criptografı́a.
positivo.
Resta: c = a − b. La resta de 2 números enteros positivos no siempre es un
número entero positivo.
Multiplicación: c = a ∗ b. La multiplicación de 2 números enteros positivos
siempre es un número entero positivo.
División: c = a/b. La división entre 2 números enteros positivos no siempre
es un número entero positivo.
Potencia: c = ab . La potencia entre 2 números enteros positivos siempre es
un número entero positivo.
√
Raı́z: c = b a. La raı́z entre 2 números enteros positivos no siempre es un
número entero positivo.
13 / 43
Operaciones con enteros
MA2002B
A. Martı́nez
Fundamentos de
Criptografı́a.
Lo mostrado anteriormente implica que para las operaciones de resta, división y
raiz el resultado no siempre caerá en Z+ . Y es por esa razón que más adelante se
verán formas de que esas operaciones puedan ser re-definidas para Z∗ (con la
inclusión del número cero, teniendo cuidado respecto a la operación del inverso),
con tal de que todas las operaciones antes mencionadas puedan formar un
campo definido en Z∗ .
14 / 43
Operaciones con enteros
MA2002B
A estos campos se les conoce como Campos de Galois. Este tema se retomará
cuando se vea Aritmética Modular (el término suena “extravagante”, pero
simplemente se trata de aritmética con residuos en la operación de división
usando números enteros no negativos, o en Z∗ ). Para fines de este bloque, sólo
trabajaremos con GF (p), p siendo un número primo.
15 / 43
Primos y divisibilidad
MA2002B
A. Martı́nez
Fundamentos de
Criptografı́a.
16 / 43
Primos y divisibilidad
MA2002B
A. Martı́nez
Reglas de divisibilidad: Sea a, a ∈ Z+ \{1}, entonces [11]:
a es divisible entre 2 siempre y cuando su último dı́gito sea cero o par.
Fundamentos de
Criptografı́a. a es divisible entre 3 si la suma de cada uno de los dı́gitos que forman a a
dan como resultado un múltiplo de 3.
a es divisible entre 5 siempre y cuando su último dı́gito sea cero o 5.
a ≡ {an−1 an−2 ...a2 a1 a0 } es divisible entre 7 si después de hacer
17 / 43
Primos y divisibilidad
MA2002B
Una de las guı́as más notables para verificar si un número es o no es primo es
A. Martı́nez mediante la bien conocida Criba de Eratóstenes. Una de las maneras
(ineficientes) en que se construye es verificando si cada número en el conjunto
Fundamentos de
Criptografı́a. C = {2, ..., n} es divisible por cada número del conjunto H = {2, ..., n/2} e ir
marcando quienes son únicamente divisibles entre ellos mismos [12, 13, 14].
18 / 43
Factorización y el teorema fundamental de la aritmética
MA2002B
A. Martı́nez
Tomando de referencia a [9, 15], se tiene que:
Fundamentos de
Criptografı́a.
Definición
El Teorema Fundamental de la Aritmética establece que cualquier
numero a, a ∈ Z+ \{1}, puede ser descompuesto y representado de
manera única como un producto de números primos de la forma
19 / 43
Factorización y el teorema fundamental de la aritmética
MA2002B
A. Martı́nez
Fundamentos de
Criptografı́a. Para descomponer un número en sus factores primos, basta con ir probando cada
número primo en cada división subsecuente de tal cantidad, hasta que no quede
residuo alguno [11]. Probemos con 85. Considerar a p como el divisor primo.
a p
85 5
17 17
1 1
20 / 43
El gcd y el algoritmo de Euclides
MA2002B
A. Martı́nez
Fundamentos de
Criptografı́a. Revisando en [9], se tiene que:
Definición
Un algoritmo es un procedimiento computacional bien definido que toma una
entrada variable y que se detiene con una salida.
21 / 43
El gcd y el algoritmo de Euclides
MA2002B
A. Martı́nez
Fundamentos de
Criptografı́a.
Definición
Sean a, b ∈ Z. Entonces, a divide exactamente a b si existe un entero c tal que
b = a ∗ c. Su notación es a|b.
22 / 43
El gcd y el algoritmo de Euclides
MA2002B
A. Martı́nez
Fundamentos de
Criptografı́a.
Las propiedades de la división son [9]:
a|a. A es divisible por sı́ misma.
Propiedad transitiva. Si a|b y b|c, entonces a|c.
Si a|b y a|c, entonces a|(b ∗ x + c ∗ y ), ∀x, y ∈ Z. Implica propiedades de
distribución.
Si a|b y b|a, entonces a = ±b. Implica obtener un ±1 como resultado en el
cociente.
23 / 43
El gcd y el algoritmo de Euclides
MA2002B
A. Martı́nez
Fundamentos de
Criptografı́a. El algoritmo de la división nos indica que [9]:
Definición
Si a y b son enteros, con b ≥ 1, entonces la división puede ser expresada en
términos de un único cociente q y un único residuo r de la forma
a=q∗b+r (14)
donde 0 ≤ r < b
24 / 43
El gcd y el algoritmo de Euclides
MA2002B
Definición
Si un número c tiene la propiedad de que c|a y c|b, entonces c es común divisor
de a y b.
25 / 43
El gcd y el algoritmo de Euclides
MA2002B
A. Martı́nez
Acá se recuerdan algunas reglas referentes a calcular el máximo común divisor y
Fundamentos de el mı́nimo común múltiplo. Pongamos un ejemplo de calcular el mı́nimo común
Criptografı́a. múltiplo en Aritmética (mayores detalles en [11]). Considerar a p como el divisor
primo.
a b p
85 20 2
85 10 2
85 5 5
17 1 17
1 1 1
27 / 43
El gcd y el algoritmo de Euclides
MA2002B
A. Martı́nez
Pongamos un ejemplo de calcular el máximo común divisor en Aritmética
Fundamentos de (mayores detalles en [11]), usando los mismos valores numéricos. Considerar a p
Criptografı́a. como el divisor primo.
a b p Usar
85 20 2 No
85 10 2 No
85 5 5 Si
17 1 17 No
1 1 1 Si
28 / 43
El gcd y el algoritmo de Euclides
MA2002B
A. Martı́nez
Definición
e f
Sean a,b, a, b ∈ Z+ \{1}, con a = p1e1 p2e2 ...pkk , b = p1f1 p2f2 ...pkk , i ∈ {1, ..., k}
+
,ei , fi ∈ Z . Entonces
29 / 43
El gcd y el algoritmo de Euclides
MA2002B
A. Martı́nez
30 / 43
El gcd y el algoritmo de Euclides
MA2002B
31 / 43
El gcd y el algoritmo de Euclides
MA2002B
Consecuencias de las propiedades anteriores [9]:
A. Martı́nez
Divisibilidad por un número primo
Fundamentos de
Criptografı́a. Definición
Si p es primo y p|a ∗ b, entonces al menos p divide a uno de los factores en a ∗ b,
es decir p|a, o p|b, o los 2.
π(x)
lı́m =1 (22)
x→∞ x/ln(x)
32 / 43
El gcd y el algoritmo de Euclides
MA2002B
A. Martı́nez
Fundamentos de
Criptografı́a.
33 / 43
El gcd y el algoritmo de Euclides
MA2002B
Fundamentos de
Criptografı́a. Algorithm 1 Algoritmo de Euclides versión iterativa [9].
1: Entradas: Dos entradas enteras a y b, con a > b
2: Salida: a
3: while b ̸= 0 do
4: r = mod(a,b)
5: a=b
6: b=r
7: end while
8: return a
34 / 43
El gcd y el algoritmo de Euclides
MA2002B
A. Martı́nez
Fundamentos de
Este es el algoritmo de Euclides para calcular el gcd versión recursiva:
Criptografı́a.
35 / 43
El gcd y el algoritmo de Euclides
MA2002B
A. Martı́nez
Fundamentos de
Criptografı́a.
Apliquemos la versión iterativa del gcd euclidiano con gcd(85,20). Entonces
Iteración r a b q
0 - 85 20 -
1 5 20 5 4
2 0 5 0 4
Return a=5.
36 / 43
El gcd y el algoritmo de Euclides
MA2002B
A. Martı́nez
Apliquemos la versión iterativa del gcd euclidiano con gcd(4864, 3458) (ejemplo
Fundamentos de
Criptografı́a. tomado de [9]). Entonces
Iteración r a b q
0 - 4864 3458 -
1 1406 3458 1406 1
2 646 1406 646 2
3 114 646 114 2
4 76 114 76 5
5 38 76 38 1
6 0 38 0 2
Return a=38.
37 / 43
Bibliografı́a I
MA2002B
A. Martı́nez
Eric W. Weisstein.
Fundamentos de Natural Number.
Criptografı́a.
Consultado el 18/02/2023 en From MathWorld–A Wolfram Web Resource
https://mathworld.wolfram.com/NaturalNumber.html, 2023.
Eric W. Weisstein.
Integer.
Consultado el 18/02/2023 en From MathWorld–A Wolfram Web Resource
https://mathworld.wolfram.com/Integer.html, 2023.
Eric W. Weisstein.
Rational Number.
Consultado el 18/02/2023 en From MathWorld–A Wolfram Web Resource
https://mathworld.wolfram.com/RationalNumber.html, 2023.
38 / 43
Bibliografı́a II
MA2002B
A. Martı́nez
Eric W. Weisstein.
Fundamentos de Irrational Number.
Criptografı́a.
Consultado el 18/02/2023 en From MathWorld–A Wolfram Web Resource
https://mathworld.wolfram.com/IrrationalNumber.html, 2023.
Eric W. Weisstein.
Real Number.
Consultado el 18/02/2023 en From MathWorld–A Wolfram Web Resource
https://mathworld.wolfram.com/RealNumber.html, 2023.
Eric W. Weisstein.
Field.
Consultado el 18/02/2023 en From MathWorld–A Wolfram Web Resource
https://mathworld.wolfram.com/Field.html, 2023.
39 / 43
Bibliografı́a III
MA2002B
A. Martı́nez
Eric W. Weisstein.
Fundamentos de
Criptografı́a.
Field Axioms.
Consultado el 18/02/2023 en From MathWorld–A Wolfram Web Resource
https://mathworld.wolfram.com/FieldAxioms.html, 2023.
Eric W. Weisstein.
Finite Field.
Consultado el 18/02/2023 en From MathWorld–A Wolfram Web Resource
https://mathworld.wolfram.com/FiniteField.html, 2023.
40 / 43
Bibliografı́a IV
MA2002B
A. Martı́nez
Eric W. Weisstein.
Fundamentos de
Criptografı́a.
Prime Number.
Consultado el 18/02/2023 en From MathWorld–A Wolfram Web Resource
https://mathworld.wolfram.com/PrimeNumber.html, 2023.
J. A. Baldor.
Aritmética.
Grupo Editorial Patria, 2016.
Breanna Widner.
Sieve of Eratosthenes.
Consultado el 18/02/2023 en New Mexico State University https://web.
nmsu.edu/~pbaggett/Lessons/primeNumbers/primeNumbers.html, s.f.
41 / 43
Bibliografı́a V
MA2002B
Eric W. Weisstein.
A. Martı́nez
Sieve of Eratosthenes.
Fundamentos de Consultado el 18/02/2023 en From MathWorld–A Wolfram Web Resource
Criptografı́a.
https://mathworld.wolfram.com/SieveofEratosthenes.html, 2023.
Kulwinder Kaur.
Sieve of Eratosthenes Algorithm.
Consultado el 18/02/2023 en Top Coder Web Page https://www.
topcoder.com/thrive/articles/sieve-of-eratosthenes-algorithm,
2021.
Eric W. Weisstein.
Fundamental Theorem of Arithmetic.
Consultado el 18/02/2023 en From MathWorld–A Wolfram Web Resource
https:
//mathworld.wolfram.com/FundamentalTheoremofArithmetic.html,
2023.
42 / 43
Bibliografı́a VI
MA2002B
A. Martı́nez
Fundamentos de
Criptografı́a.
Kenneth J. Goldman.
Recursive Algorithms.
Consultado el 18/02/2023 en Top Coder Web Page
https://www.cs.wustl.edu/~cytron/101Pages/swf12/Notes/
Recursion/recursion.html, 1997.
43 / 43