Académique Documents
Professionnel Documents
Culture Documents
Asesor:
Dr. Figueroa Alvarado, Andrés
1
UNIVERSIDAD NACIONAL PEDRO RUIZ GALLO
FACULTAD DE CIENCIAS FÍSICAS Y MATEMATICAS
ESCUELA PROFESIONAL DE MATEMATICAS
TITULO:
LAS MATEMATICAS EN LA CRIPTOGRAFIA
.
AUTOR:
Kalos André Guevara Sánchez.
e-mail: KALOS_GUEVARA@hotmail.com
Cel. 990529170
RESOLUCION APROBADA:
N°087-2018-VRINV
TIPO DE INVESTIGACION:
Teórica-descriptiva.
AREA DE INVESTIGACION:
Ciencias sociales.
SUB AREA: Matemáticas.
DISCIPLINA: Matemática Aplicada.
LINEA DE INVESTIGACION: Análisis.
LOCALIDAD E INSTITUCION:
Ambiente de la FACFYM-UNPRG
2
DEDICATORIA
A mi madre
Irma violeta que me motiva siempre a salir adelante y a mi esposa por su apoyo
incondicional y a todos los compañeros que con sus observaciones han
ayudado a la mejora de este proyecto y para terminar agradezco la oportunidad
no merecida al DR. ANDRES FIGUEROA.
3
AGRADECIMIENTO
Agradezco a FACFYM por permitirme aplicar cada una de las actividades aquí
propuestas; y a las personas que facilitaron a que este trabajo fuera realidad.
4
RESUMEN
5
Abstract
6
INDICE
RESUMEN
INTRODUCCIÓN
UNIDAD I
Preliminares.
Introducción.
Historia de la Criptografía
Matrices.
Teoría de números
UNIDAD II
Criptografía simétrica.
Criptografía 𝐻𝑖𝑙𝑙.
Criptografía 𝐶é𝑠𝑎𝑟
UNIDAD III
Criptografía Asimétrica.
Criptografía 𝑅𝑆𝐴
CONCLUSIONES Y RECOMENDACIONES
BIBLIOGRAFIA
ANEXOS
7
I. INTRODUCCIÓN
¿Qué es criptografía? ¿Cómo funciona la criptografía? ¿Para qué sirve la
criptografía? y muchas preguntas más pueden surgir con respecto a esta
palabra. Inicialmente, son variadas las definiciones que existen sobre su
significado, y esto debido a las diversas aplicaciones que ha tenido a lo largo
de la historia. Desde que los seres humanos han tenido la necesidad de
comunicarse unos con otros, enviar mensajes a un receptor y poder garantizar
que sólo este lo pueda entender, se ha hecho necesario la creación de
sistemas de cifrado. Un primer paso para definir criptografía es hacer uso de la
definición del diccionario como punto de partida. El diccionario de la Real
Academia Española la define como [1] “el arte de escribir con clave secreta o
de un modo enigmático” (𝑘𝑟𝑦𝑝𝑡𝑜𝑠 – ocultar, y 𝑔𝑟𝑎𝑓í𝑎 –escribir-).De acuerdo a
esta definición, se puede entender que la criptografía nos permite “escribir” de
manera tal que el resultado solo pueda ser interpretado únicamente por quien
conozca la clave secreta o el modo “enigmático”. Actualmente la criptografía
está relacionada tanto con la ciencia matemática, como rama de la ciencia de
la computación o informática. Las funciones criptográficas actuales tienen
aplicación más allá del solo resguardar información confidencial; se utilizan
para certificar la autoría, autenticidad e integridad de una información particular,
por ejemplo la firma digital.
En el ámbito de la informática de hoy en día, existen programas de escritorio,
servicios, sitios web, etc., los cuales contienen implementaciones criptográficas
de utilidad para evitar que una información pueda ser leída por un usuario
ocasional de estas aplicaciones o servicios, y otras aplicaciones que impidan a
entes que dispongan de gran capacidad de procesamiento y conocimiento de
teorías 𝑐𝑟𝑖𝑝𝑡𝑜𝑎𝑛𝑎𝑙í𝑡𝑖𝑐𝑎𝑠 actuales, acceder a, o descifrar esta información. A
este respecto, según 𝑆𝑐ℎ𝑒𝑛𝑒𝑖𝑒𝑟 [2], existe criptografía para evitar que su
hermana menor acceda al contenido de sus archivos, y, por otra parte, aquella
otra criptografía que impedirá a los gobiernos más desarrollados el acceso a su
información. Lo cual significa que muchos desarrolladores, a la hora de
implementar un software para el resguardo de la información, han utilizado
8
técnicas antiguas o rudimentarias. Esto podrá detener ataques de quien no
tenga conocimientos suficientes para poder decodificar o descifrar la
información, pero seguramente no resistirá el “ataque” de alguien con
conocimientos de criptoanálisis. Una definición más acertada sobre criptografía,
es la del español 𝑅𝑎𝑚í𝑜 𝐴𝑔𝑢𝑖𝑟𝑟𝑒 [3]: “Rama inicial de las matemáticas y en la
actualidad también de la informática y la telemática, que hace uso de métodos
y técnicas con el objeto principal de cifrar, y por tanto proteger, un mensaje o
archivo por medio de un algoritmo, usando una o más claves.”
Otra definición de los autores 𝑀𝑒𝑛𝑒𝑧𝑒𝑠, 𝑉𝑎𝑛 𝑂𝑜𝑟𝑠𝑐ℎ𝑜𝑡 𝑦 𝑉𝑎𝑛𝑠𝑡𝑜𝑛𝑒 [4], es una
descripción matemáticamente formal al describir los protocolos y algoritmos
tratados en su libro: “La criptografía es el estudió de técnicas matemáticas
relacionadas con los aspectos de la seguridad de la información tales como la
confidencialidad, la integridad de datos, la autenticación de entidad y de origen.
La criptografía no comprende sólo a los medios para proveer seguridad de
información, sino a un conjunto de técnicas.”
9
I. CAPITULO I
Antecedentes
Los antecedentes tomados han sido seleccionados de acuerdo a la relación
directa con el presente trabajo de investigación, los mismos que han servido
de orientación arribando a sus importantes conclusiones.
10
claves de 𝐷𝑖𝑓𝑓𝑖𝑒 – 𝐻𝑒𝑟𝑚𝑎𝑛 fue publicado en el artículo
𝑁𝐸𝑊 𝐷𝐼𝑅𝐸𝐶𝑇𝐼𝑂𝑁𝑆 𝐼𝑁 𝐶𝑅𝑌𝑃𝑇𝑂𝐺𝑅𝐴𝑃𝐻𝑌.
Base teórica
El proyecto involucra:
Teoría de matrices.
Teoría de criptografía.
Teoría de los números
11
II. CAPITULO II
Situación problemática
Hoy en día la información puede que sea uno de los bienes más preciados, o la
desinformación una de las peores armas con las que atacar a alguien. Por lo
que en la sociedad en la que vivimos se hace muy necesario la seguridad en
las comunicaciones, y como principal exponente en Internet, ya que este
método de comunicación es cada vez más utilizado, no solo por estudiantes y
comunidad universitaria, sino por empresas, particulares, y cada vez para
realizar más cosas. Con lo cual cabe pensar que la criptografía será uno de los
claros exponentes a tener muy en cuenta en el futuro de la informática, sobre
todo a la velocidad que se implementan nuevas tecnologías, las cuales
permiten el envió de información más valiosa y que puede comprometer mucho
a los interlocutores en caso de que sea interceptada por otras personas. Lo
cierto es que se trata de un mundo fascinante y que tiene muchas posibilidades
de investigación.
MÉTODOS
MATERIALES
Recopilación de información referida al tema de investigación, tales como:
Cálculo Diferencial e Integral, Función Gamma.
Papel.
Laptop.
Lápiz.
12
III. CAPITULO III
RESULTADOS Y DISCUSIONES
Los resultados y la discusión están en la descripción de los temas a tratar:
UNIDAD 1
PRELIMINARES
CAPITULO III
Criptografía Asimétrica
1) Criptografía 𝑅𝑆𝐴
UNIDAD 1
1. PRELIMINARES
1.1. HISTORIA DE LA CRIPTOGRAFIA
Hasta los años 70, la criptografía era de dominio de los gobiernos, hasta la
publicación de un estándar de cifrado público (DES); y la invención de la
criptografía asimétrica.
Criptografía clásica
Los griegos de la época clásica conocían el cifrado (por ejemplo, se dice que los
militares espartanos utilizaban el cifrado por transposición de la 𝑒𝑠𝑐í𝑡𝑎𝑙𝑎, imagen
13
a la derecha). Los romanos sabían algo de criptografía con toda seguridad como
por ejemplo, el cifrado César. Consistía en desplazar el alfabeto tres posiciones,
si se quiere enviar el texto Atacar se codifica como 𝐷𝑊𝐷𝐹𝐷𝑈, en nuestro
alfabeto. En India también se conocía la criptografía. El Kama Sutra la
recomienda como técnica para que los amantes se comuniquen sin ser
descubiertos.
Criptografía medieval
Aunque la criptografía tiene una historia larga y compleja, hasta el siglo XIX solo
se desarrollaron soluciones específicas para el cifrado y el criptoanálisis (la
ciencia que busca debilidades en los 𝑐𝑟𝑖𝑝𝑡𝑜𝑠𝑖𝑠𝑡𝑒𝑚𝑎𝑠). Ejemplos de lo último son
el trabajo de Charles Babbage, en la época de la Guerra de Crimea, sobre el
criptoanálisis matemático de los cifrados 𝑝𝑜𝑙𝑖𝑎𝑙𝑓𝑎𝑏é𝑡𝑖𝑐𝑜𝑠, redescubierto y
publicado algo después por el prusiano 𝐹𝑖𝑒𝑑𝑟𝑖𝑐ℎ 𝐾𝑎𝑠𝑖𝑠𝑘𝑖. En esa época, el
conocimiento de la criptografía consistía normalmente en reglas generales
averiguadas con dificultad. Edgar Allan Poe desarrolló métodos sistemáticos
para resolver cifrados en los años 1840.
14
Proliferaron métodos matemáticos en la época justo anterior a la Segunda
Guerra Mundial (principalmente con la aplicación, por parte de William F.
Friedman, de las técnicas estadísticas al desarrollo del criptoanálisis y del
cifrado, y la rotura inicial de Marian 𝑅𝑒𝑗𝑒𝑤𝑠𝑘𝑖 de la versión del Ejército Alemán
del sistema Enigma). Tanto la criptografía como el criptoanálisis se han hecho
mucho más matemáticas desde la Segunda Guerra Mundial. Aun así, ha hecho
falta la popularización de los ordenadores y de Internet como medio de
comunicación para llevar la criptografía efectiva al uso común por alguien que no
sea un gobierno nacional u organizaciones de tamaño similar.
15
la computación moderna, hicieron progresar sustancialmente la escala y
tecnología del descifrado Enigma.
1.2. MATRICES
16
algebra; más adelante en 1750 Gauss en el libro 𝐼𝑛𝑡𝑟𝑜𝑑𝑢𝑐𝑡𝑖𝑜𝑛 á𝑙 𝑎𝑛𝑎𝑙𝑦𝑠𝑒
𝑑𝑒𝑠 𝑙𝑖𝑔𝑛𝑒𝑠 𝑐𝑜𝑢𝑟𝑏𝑒𝑠 𝑎𝑙𝑔é𝑏𝑟𝑖𝑞𝑢𝑒𝑠 describió la regla para determinar los
coeficientes de una cónica general pasando por 5 puntos dados utilizando
determinantes. En 1776 el matemático francés 𝐵𝑒𝑧𝑜𝑢t demostró que la
anulación del determinante de un sistema de dos ecuaciones con dos
incógnitas homogéneo es una condición necesaria y suficiente para que haya
soluciones no nulas.
17
Todo elemento 𝑎 ∈ 𝑅 es trivialmente divisible por las unidades de 𝑅 y por a,
así como por los productos de ambos. Cuando esos son precisamente los
únicos divisores de a, entonces a se dice que es un elemento irreducible.
Los resultados más importantes sobre elementos irreducibles son los
siguientes:
ALGORITMO DE EUCLIDES.
18
𝛷(𝑝 ∗ 𝑞) = (𝑝 − 1) ∗ (𝑞 − 1).
19
UNIDAD 2
2. CRIPTOGRAFIA SIMETRICA.
20
aplicaciones del álgebra lineal a la criptografía poligráfica. En 1931, volvió a
escribir un artículo sobre el cifrado en otra edición del mismo periódico.
𝐻𝑖𝑙𝑙, con ayuda de 𝐿𝑜𝑢𝑖𝑠 𝑊𝑒𝑖𝑠𝑛𝑒𝑟, tuvieron la idea de construir una máquina que
implementase el 𝑐𝑟𝑖𝑝𝑡𝑜𝑠𝑖𝑠𝑡𝑒𝑚𝑎. La llamaron 𝑡ℎ𝑒 𝑀𝑒𝑠𝑠𝑎𝑔𝑒 𝑃𝑟𝑜𝑡𝑒𝑐𝑡𝑜𝑟 y la
patentaron. La máquina operaba con bloques de seis letras y se basaba en un
sistema de engranajes y poleas.
Descripción matemática
Sea un mensaje 𝑚 = 𝑚1 𝑚2 𝑚3 … donde cada 𝑚𝑖 es el entero correspondiente
a la letra 𝑖– é𝑠𝑖𝑚𝑎 del mensaje. Y sea la clave dada por una matriz cuadrada 𝐾
de dimensión 𝑛. El procedimiento de cifrado consiste en dividir nuestro mensaje
en vectores de longitud 𝑛 (denotados por 𝑣𝑗 ), para posteriormente, multiplicar
cada vector por nuestra matriz clave. Por tanto, la función encriptada 𝐹 se
define:
𝐹𝐻𝑖𝑙𝑙 (𝑣𝑗 , 𝐾) = 𝐾 𝑥 𝑣𝑗 = 𝑚𝑗 ′
𝐺𝐻𝑖𝑙𝑙 (𝑚𝑗 ′, 𝐾) = 𝐾 −1 𝑥 𝑚𝑗 ′ = 𝑣𝑗
Hay que tener en cuenta que los elementos de la matriz 𝐾 son de 𝐹28 y que
siempre operamos en módulo 28. Por tanto, la matriz 𝐾 debe ser invertible para
que el criptosistema funcione correctamente.
A B C D E F G H I J K L M N Ñ O P Q R S T U V WX Y Z −
1 2 3 4 5 6 7 8 9 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8
21
𝐹 𝑁 𝐷 ∗ 𝐸 𝑂 𝑂 𝐸 𝐼 𝐴 𝑅
𝐸 𝐴 ∗ 𝑃 𝑅 ∗ ∗ 𝑆 𝐺 ∗ 𝐴
𝐿 𝑉 𝑌 𝑅 𝑂 𝑁 𝑃 𝑂 𝑈 𝐴 𝐷
𝐴=
𝐼 𝐼 ∗ 𝑂 ∗ 𝑈 𝑅 𝑅 𝐸 𝐿 𝑂
𝑍 𝐷 𝑈 𝑆 𝐴 𝐸 𝑂 ∗ 𝑅 𝑉 ∗
[∗ 𝐴 𝑁 𝑃 Ñ 𝑉 𝐹 𝐹 𝑂 𝐴 ∗]
6 14 4 28 5 16 16 5 9 1 19
5 1 28 17 19 28 28 20 7 28 1
12 23 26 19 16 14 17 16 22 1 4
𝐴=
9 9 28 16 28 22 19 19 5 12 16
27 4 22 20 1 5 16 28 19 23 28
[ 28 1 14 17 14 23 6 6 16 1 23 ]
El código puede ser cualquier matriz de orden 6𝑥6, la única condición que
tiene que cumplir es que su determinante tiene que ser diferente de cero
(𝑑𝑒𝑡(𝐴) ≠ 0), incluso puede tener elementos ceros.
2 5 28 12 6 4
0 3 38 1 7 17
5 2 35 20 9 20
𝐶=
3 1 15 3 4 16
8 0 14 8 17 22
[4 9 13 5 6 28 ]
𝐵
755 813 1400 1053 951 950 996 978 907 456 627
1145 931 1492 1218 938 1064 963 985 1267 312 843
1443 1113 2024 1679 1472 1571 1375 1377 1420 563 1369
=
786 447 826 786 586 740 548 540 711 190 726
1363 596 1302 1332 813 1091 922 1024 1095 531 1428
[ 1216 461 1270 1188 937 1282 896 839 972 495 1169 ]
𝑀𝐸𝑁𝑆𝐴𝐽𝐸 = 𝑖𝑛𝑣(𝐶) ∗ 𝐵.
6 14 4 28 5 16 16 5 9 1 19
5 1 28 17 19 28 28 20 7 28 1
12 23 26 19 16 14 17 16 22 1 4
9 9 28 16 28 22 19 19 5 12 16
27 4 22 20 1 5 16 28 19 23 28
[ 28 1 14 17 14 23 6 6 16 1 23 ]
22
Ahora el profesor comparará las letras correspondientes a nuestro abecedario
establecido anteriormente y obtendrá.
Suponiendo que alguien que intercepta los mensajes descubrió que se trata de
un 𝑐𝑖𝑓𝑟𝑎𝑑𝑜 𝐻𝑖𝑙𝑙, y sabe cómo decodificar el mensaje, ya sea en mensajes con
letras, o bien en números. Podríamos asignar números distintos a las letras
para hacerle la tarea un poco más difícil.
Por ejemplo, la asignación en vez de ser números ascendentes, podrían ser
números primos en orden ascendente.
A B C D E F G H I J K L M N Ñ O P Q R S T U V WX Y Z ∗
2 3 5 7 1 1 1 1 2 2 3 3 4 4 4 5 5 6 6 7 7 7 8 8 9 1 1 1
1 3 7 9 3 9 1 7 1 3 7 3 9 1 7 1 3 9 3 9 7 0 0 0
1 3 7
2 11 2 23 2
𝐴 = [37 3 107 43 37 ]
17 67 37 11 107
13 17 43
𝐶 = [59 11 67]
3 5 83
El mensaje lo encriptamos de la siguiente manera:
Multiplicamos la matriz 𝐶 por la matriz 𝐴, dando la matriz 𝐵; que la llamaremos
matriz encriptada.
Para que la matriz encriptada pueda ser leída, la persona interesada tiene que
saber el código, suponiendo que sabe el código; solo tendrá que introducir la
matriz B y la matriz C en Matlab (esto sirve para facilitar los cálculos
engorrosos), de la siguiente manera:
𝑀𝐸𝑁𝑆𝐴𝐽𝐸 = 𝑖𝑛𝑣(𝐶) ∗ 𝐵
2 11 2 23 2
𝐴 = [37 3 107 43 37 ]
17 67 37 11 107
23
Ahora solo falta hacer la relación correspondiente a nuestro nuevo diccionario y
así obtendremos nuestro mensaje.
Descripción matemática:
Dados un mensaje 𝑚 = 𝑚1 𝑚2 . .. , donde cada 𝑚𝑖 es el entero correspondiente a la
𝑖– é𝑠𝑖𝑚𝑎 letra del mensaje, y la clave privada 𝑘 ∈ 𝑵, el procedimiento de cifrado que
debemos de llevar a cabo consiste en sumar ambos números módulo 28. De esta
forma la función encriptada 𝐹 se define:
𝑭(𝒎𝒊 , 𝒌) = 𝒎𝒊 + 𝒌 𝒎𝒐𝒅𝟐𝟖
Mientras que el descifrado que realiza el receptor del mensaje encriptado 𝑚0 no es
más que restar la clave 𝑘 al entero que le corresponde a cada letra de 𝑚0 . Quedando
la función desencriptadora 𝐺 definida de la siguiente forma:
𝑮(𝒎𝒊 ´ , 𝒌) = 𝒎𝒊 ´ − 𝒌 𝒎𝒐𝒅𝟐𝟖
24
UNIDAD 3
3. Criptografía asimétrica
Conocida también como cifrado de clave pública. Este sistema de cifrado usa
dos claves diferentes. Una es la clave pública la cual puede conocer o enviarse
a cualquier persona y otra que se llama clave privada, que únicamente la
conoce la persona autorizada para tener acceso a ella. El protocolo acordado
para el uso de criptografía asimétrica entre las partes “𝐴” 𝑦 “𝐵” consiste en que
la parte “𝐴” cifra el 𝑚𝑒𝑛𝑠𝑎𝑗𝑒/𝑎𝑟𝑐ℎ𝑖𝑣𝑜 utilizando la llave pública recibida de la
parte “𝐵”. La parte “𝐴” envía a “𝐵” el texto cifrado. La parte “𝐵” descifra el texto
cifrado haciendo uso de su llave privada. La figura 3 muestra el protocolo
utilizado en este proceso.
25
Actualmente el método de factorización más rápido conocido es la Criba
Numérica Especial de Campo (𝑆𝑝𝑒𝑐𝑖𝑎𝑙 𝑁𝑢𝑚𝑏𝑒𝑟 𝐹𝑖𝑒𝑙𝑑 𝑆𝑖𝑒𝑣𝑒): Rivest, uno de los
coautores de 𝑅𝑆𝐴, propuso en 1977 que se intentara factorizar un número de
129 dígitos. Estableció que harían falta alrededor de 4𝑥1016 años de
computación para lograrlo, según el estado de la Teoría de Números y la
disponibilidad de algoritmos de entonces. Sin embargo, la factorización del
número propuesto por Rivest, el famoso 𝑅𝑆𝐴 − 129, se logró el 2 de abril de
1994, después de menos de 8 meses de trabajo, por el desarrollo del método
conocido como la criba cuadrática (𝑄𝑆, 𝑄𝑢𝑎𝑑𝑟𝑎𝑡𝑖𝑐 𝑆𝑖𝑒𝑣𝑒).
La idea básica de la familia de algoritmos cuadráticos que emplea la criba
cuadrática es la siguiente. Siendo 𝑛 el entero a factorizar, supongamos que 𝑥, 𝑦
son dos enteros tales que 𝑥 2 ≡ 𝑦 2 (𝑚𝑜𝑑 𝑛). Entonces que 𝑥 2 – 𝑦 2 =
(𝑥 + 𝑦)(𝑥 – 𝑦) ≡ (𝑚𝑜𝑑 𝑛), por lo que, si 𝑥 – 𝑦 < 𝑛, resulta que
𝑚𝑐𝑑(𝑥 – 𝑦, 𝑛) ≠ 1 ha de ser un factor de 𝑛.
A modo de ejemplo, tratemos de factorizar con este método el número 91.
Después de algunos ensayos, nos daremos cuenta de que 102 ≡ 9 (𝑚𝑜𝑑 91) y
32 ≡ 9 (𝑚𝑜𝑑 91); por otro lado, 10 ≡ 10(𝑚𝑜𝑑91) y 3 ≡ 3 (𝑚𝑜𝑑 91), luego 𝑥 =
10 e 𝑦 = 3. Como 10 – 3 < 91, tomamos 𝑚𝑐𝑑 (10 – 3, 91) = 7, que es un
factor de 91.
Conseguida la factorización del número 𝑅𝑆𝐴 − 129, se abordó la factorización
del siguiente número:
𝑅𝑆𝐴 − 130 = 18070 82088 68740 48059 51656 16440 59055 66278 10251
67694 01349 17012 70214 50056 66254 02440 48387 34112
75908 12303 37178 18879 66563 18201 32148 80557.
En este caso se hizo uso de una extensión de la criba cuadrática establecida
anteriormente llamada la criba del cuerpo de números
(𝑆𝑁𝐹𝑆, 𝑆𝑝𝑒𝑐𝑖𝑎𝑙 𝑁𝑢𝑚𝑏𝑒𝑟 𝐹𝑖𝑒𝑙𝑑 𝑆𝑖𝑒𝑣𝑒)
26
NÚMEROS PRIMOS:
27
Propiedades elementales de los coprimos
28
Un ejemplo de uso:
𝜙(9) = 6 Puesto que 1, 2, 4, 5, 7, 𝑦 8 son primos con9.
𝜙(10) = 4 puesto que 1, 3, 7 𝑦 9 son coprimos con 10.
𝜙(11) = 10 puesto que todos los números menores que un primo son coprimos
con él.
ARITMÉTICA MODULAR
Todo esto parece muy difícil así escrito, pero se entiende muy fácilmente con
un ejemplo:
29
Otra forma de escribir módulo de 𝑛 es:
𝑧𝑛 = {0, 1, 2, … , 𝑛 − 1} Subconjunto de ℤ, conjunto de números enteros entre
0 𝑦 𝑛 − 1.
Aplicando los conceptos anteriores a números concretos, tendremos:
𝑧12 = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11}
𝑧𝑛 ∗ : Conjunto que incluye todos los números menores que 𝑛 y coprimos con él.
Criterios de primalidad:
30
Si existe un número natural 𝑎 menor que 𝑛 y mayor que 1 que verifica las
𝑛−1
condiciones:𝑎𝑛−1 ≡ 1(𝑚𝑜𝑑 𝑛) así como 𝑎 𝑞 ≠ 1(𝑚𝑜𝑑 𝑛) para todos los factores
primos q de 𝑛 > 1, entonces 𝑛 es primo. Si no puede encontrarse tal 𝑎,
entonces 𝑛 es un número compuesto.
31
Para hacer más difícil la descomposición en factores primos del número 𝑛, se
eligen 𝑝 𝑦 𝑞 de tal forma que cumplan las siguientes condiciones:
-𝑚𝑐𝑑 ((𝑝 − 1), (𝑞 − 1)) debe ser pequeño.
- 𝑝 − 1 𝑦 𝑞 − 1 deben tener algún factor primo grande 𝑝’ 𝑦 𝑞’.
- Tanto 𝑝’ − 1 como 𝑞’ − 1 deben tener factores primos grandes.
- Tanto 𝑝’ + 1 como 𝑞’ + 1 deben tener factores primos grandes.
- Las dos primeras condiciones se cumplen si tanto (𝑝 − 1)/2 como (𝑞 − 1)/2
son primos. Fuertes. Otra característica muy importante de los números primos
es que no están distribuidos de una forma regular, lo único que está claro es
que a medida que avanzamos en orden creciente, va disminuyendo el número
de ellos, lo cual tiene lógica, ya que a medida que los números son más
grandes, hay más posibles factores de éstos.
Una de las muchas aplicaciones de este algoritmo son los inversos modulares:
En criptografía deberá estar permitido invertir una operación para recuperar un
cifrado, descifrar.
Aunque la cifra es una función, en lenguaje coloquial la operación de cifrado
podría interpretarse como una “multiplicación” y la operación de descifrado
como una “división”, si bien hablaremos en este caso de una multiplicación por
el inverso.
La analogía anterior sólo será válida en el cuerpo de los enteros 𝑧𝑛 con inverso.
-Luego, si en una operación de cifrado la función es el valor a dentro de un
cuerpo 𝑛, deberemos encontrar el inverso 𝑎 − 1 𝑚𝑜𝑑 𝑛 para descifrar; en otras
palabras…hallar el número que multiplicado por 𝑎 nos de 1 (siempre en módulo
de 𝑛).
Si 𝑎. 𝑥 ≡ 1(𝑚𝑜𝑑 𝑛) Se dice que 𝑥 es el inverso multiplicativo de 𝑎 en 𝑍𝑛 y se
denotará por 𝑎−1 .
-Si no hay primalidad entre 𝑎 𝑦 𝑛, es decir, Si 𝑚𝑐𝑑 (𝑎, 𝑛) ≠ 1, no existe el
inverso. Por ejemplo, si 𝑛 = 6, no existe el inverso del 2, pues la ecuación 2 ∗
𝑥 ≡ 1 𝑚𝑜𝑑 6 no tiene solución.
-Si 𝑛 es un número primo 𝑝, entonces todos los elementos de 𝑧𝑝 salvo el cero
tienen inverso.
Por ejemplo, en se tiene que:
1 − 1𝑚𝑜𝑑 5 = 1; 2 − 1𝑚𝑜𝑑 5 = 3; 3 − 1 𝑚𝑜𝑑 5 = 2.
Bueno, ya sabemos qué es un inverso, pero, ¿cómo se calcula?:
Inverso multiplicativo:
*Hay una propiedad que dice que un número a tiene inversa módulo 𝑛, si no
existe ningún número (excepto 1) menor que a y menor que 𝑛 que los divida de
forma exacta. Esto es a lo que se llama primos relativos. 8 𝑦 5 Serían primos
relativos, porque no hay ningún número que los divida, aunque 8 no sea primo.
Su máximo común divisor es 1.
En el ejemplo del módulo 7, vemos que todos los números (el cero no cuenta)
tienen que tener inversa, porque 7 es primo absoluto y no va a existir ningún
número que lo divida.
* La inversa del 1 es el 1: 1 ∗ 1 = 1 que dividido entre 7 es igual a cero y resto
1,(1 . 1𝑚𝑜𝑑 7 = 1)
32
• La inversa del 2 es el 4: 2 ∗ 4 = 8 que dividido entre 7 es igual a 1 y de resto
0,(2 .4𝑚𝑜𝑑7 = 1), etc.
TEOREMA DE EULER:
ECUACIÓN DIOFÁNTICA:
33
Teorema. La ecuación diofántica 𝑎𝑥 + 𝑏𝑦 = 𝑐 tiene solución sí y sólo sí 𝑑 es
múltiplo de 𝑐, donde 𝑑 = 𝑀. 𝐶. 𝐷. (𝑎, 𝑏).
Ejemplo 2:
La ecuación 5𝑥 + 6𝑦 = 8 tiene solución porque: 1 = 𝑀. 𝐶. 𝐷. (5, 6) divide a 8.
Existen dos métodos. El primero es por simple inspección, pero si así no fuera
posible, podemos utilizar el algoritmo de Euclides así:
Entonces: 𝑥 = −1, 𝑦 = 1.
𝑥 = 𝑎1 𝑚𝑜𝑑(𝑚1 )
Nos dice que un sistema del tipo:{ ⋮ donde los 𝑚𝑖 , 𝑚𝑗 son primos
𝑥 = 𝑎𝑛 𝑚𝑜𝑑(𝑚𝑛 )
entre sí, admite una solución única en 𝑚𝑜𝑑(𝑚1 . 𝑚2 . ⋯ . 𝑚𝑛 ), [𝑥0 ] ∈
ℤ /𝑚1 𝑚2 ⋯ 𝑚𝑛 . El resto de soluciones sería de la forma 𝑥 = 𝑥0 +
𝑡. 𝑚1 . 𝑚2 . ⋯ . 𝑚𝑛
Cuando vimos esto nos desmoralizó un poco y decidimos intentar entender y
desgajar la demostración pero sólo para tres ecuaciones. Allá vamos, ¿quién
dijo miedo?
Las soluciones se pueden escribir de la forma: 𝑥0 = 𝑎1 . 𝑏1 . 𝑁1 + 𝑎2 . 𝑏2 . 𝑁2 +
𝑎3 . 𝑏3 . 𝑁3 , donde 𝑁1 = 𝑚2 . 𝑚3 , 𝑁2 = 𝑚1 . 𝑚3 , 𝑁3 = 𝑚1 . 𝑚2 y 𝑏1 , 𝑏2 , 𝑏3 serían los
inversos respectivos de 𝑁1 , 𝑁2 𝑦 𝑁3 en módulo 𝑚1 , 𝑚2 𝑦 𝑚3 respectivamente, es
decir,[𝑏1 ]. [𝑁1 ] = [1] en 𝑧/𝑚1 ,[𝑏2 ]. [𝑁2 ] = [1] en 𝑧/𝑚2 y [𝑏3 ]. [𝑁3 ] = [1] en 𝑧/𝑚3
34
Sabemos que 𝑁1 tiene inverso en módulo 𝑚1 porque es 𝑁1 = 𝑚2 . 𝑚3 que son
coprimos con 𝑚1 .
Por otra parte, sabemos que 𝑥0 𝑦 𝑎1 son congruentes en módulo 𝑚1 , es decir,
𝑥0 = 𝑎1 𝑚𝑜𝑑(𝑚1 ) y además 𝑥0 = 𝑎1 . 𝑏1 . 𝑁1 + 𝑎2 . 𝑏2 . 𝑁2 + 𝑎3 . 𝑏3 . 𝑁3 que como
𝑁2 = 𝑚1 . 𝑚3 , 𝑁3 = 𝑚1 . 𝑚2 , son múltiplos de 𝑚1 ⇒ [𝑥0 ] = [𝑎1 . 𝑏1 . 𝑁1 ] en 𝑧/𝑚1 , es
decir, son congruentes en módulo 𝑚1 .
Esto se pone bonito porque vamos llegando a lo que queremos y además
entendiéndolo, cosa que no esperábamos del todo. Resulta que entonces:
[𝑥0 ] = [𝑎1 ]. [1] en 𝑧/𝑚1 ya que [𝑏1 ]. [𝑁1 ] = [1] en 𝑧/𝑚1 por ser 𝑏1 , inverso de 𝑁1
en este módulo. Con esto queda demostrado como queríamos que [𝑥0 ] = [𝑎1 ]
en 𝑧/𝑚1 conclusión generalizable [𝑥0 ] = [𝑎𝑗 ] en 𝑧/𝑚𝑗 .
Vamos a ver ahora si realmente entendemos cómo se utiliza para calcular
potencias grandes, utilidad que nos ocupará en la criptografía RSA:
Calculemos 𝑥 = (25)200 𝑚𝑜𝑑(100)
Sabemos que:
𝑚 =4
100 = 4𝑥25 ⇒ { 1 .Evidentemente, 𝑥 = (25)200 ≡ 0 en 𝑚𝑜𝑑(25) por ser
𝑚2 = 25
múltiplo de 25. Ahora vamos a calcularlo en módulo 4:
𝑥 ≡ 1 𝑚𝑜𝑑(4)
[25]200 = [1]200 = [1] en 𝑧/4 pues bien, entonces :{ lógicamente
𝑥 ≡ 0 𝑚𝑜𝑑(25)
𝑥 = 𝑥0 + 𝑡. 100 como explicamos antes:𝑥0 = 1. 𝑏1 . 𝑁1 + 0. 𝑏2 𝑁2 = 𝑏1 . 25 + 0 = 25.
ALGORITMO RSA:
36
CONCLUSIONES Y RECOMENDACIONES
El tema sobre criptografía, sus métodos, sus tipos, sus diferentes algoritmos
existentes, sus aplicaciones son muy extensos para poderlos cubrir en un
artículo. Lo presentado en este, es simplemente una pequeña descripción
sobre qué es, cómo se usa, para qué sirve, así como el desarrollo práctico
de tres algoritmos propios para mostrar su funcionamiento y aplicabilidad sobre
cualquier tipo de archivo, que sea necesario encriptar para protegerlo de
terceros, para ser enviado por la red o para poder garantizar en cierto modo su
inviolabilidad o su adulteración.
El desarrollo de algoritmos criptográficos está en cierta manera reservado para
desarrolladores de código con buen conocimiento de lenguajes de
programación – 𝑐/𝑐 + +, java, punto.net, etc. su uso si está orientado para toda
persona/empresa que necesite garantizar la confidencialidad e integridad de
sus archivos, sus mensajes, sus datos y todo lo que pueda almacenar en un
computador y transmitir a un receptor vía internet o cualquier otro medio.
Existen diferentes programas (software) tanto libres como propietarios que se
pueden instalar en un computador para utilizarlos en estos propósitos, también
es cierto que es más interesante el tener una herramienta propia, diseñada al
gusto, con todos los “secretos” posibles que preste a su usuario la facilidad, la
seguridad, y la ventaja de saber qué hace el programa y cómo transforma un
archivo, cualquiera que sea, en un archivo cifrado. Esto es un mensaje para los
desarrolladores: si alguien pudo escribir un programa para cifrar, ¿por qué no
se puede escribir otro utilizando un algoritmo propio? Si bien es cierto, los
programas ejemplo presentados en el artículo están orientados para un usuario
que conozca y sepa cómo ejecutar programas desde la consola (línea de
comandos), pasando argumentos al programa, un usuario en particular también
está en capacidad de poder instalarlos y ejecutarlos con un poco de asesoría
de un estudiante de ingeniería de sistemas. En el artículo se muestra cómo
pedir ayuda al programa sobre su funcionamiento.
Se recomienda el uso del programa cifrarchi.exe, el cual está garantizado que
cifra y descifra cualquier tipo de archivo y de cualquier tamaño, siempre y
cuando entre emisor y receptor se conozca la palabra clave con la cual fue
cifrado. Cifre sus fotos, sus videos, sus cartas, sus mensajes, pero no olvide la
Clave!
IV. BIBLIOGRAFIA
1) http://www.criptored.upm.es/guiateoria/gt_m001a.htm
2) http://www.criptored.upm.es/software/sw_m001k.htm
3)http://thales.cica.es/rd/Recursos/rd97/UnidadesDidacticas/16-2-o-primos.html
4)http://www.telefonica.net/web2/lasmatematicasdemario/Aritmetica/Numeros/D
ivisibilida d/Primos/PolGenPri.htm
5)http://it.aut.uah.es/enrique/docencia/ii/seguridad/documentos/t4-0506.pdf
6)http://www.algebra.com/algebra/homework/equations/Diophantine_equation
7)http://huitoto.udea.edu.co/SistemasDiscretos/contenido/alg_euclides.html
8)http://mathworld.wolfram.com/DiophantineEquation.html
9)http://www.revistasic.com/revista40/agorarevista_40.htm
37
V. ANEXOS
CENTRO DE INVESTIGACIÓN
REGISTRO NACIONAL DE TRABAJOS DE INVESTIGACIÓN Y PROYECTOS
FORMATO N° 1
CERTIFICACIÓN DE APROBACIÓN
DEL PROYECTO DE INVESTIGACIÓN
CÓDIGO:...… FECHA…
COTEJO EN LA BASE DE DATOS DE LA ANR.
1. Escuela Profesional:
Matemáticas.
2. Apellidos y Nombres:
Guevara Sanchez kalos Andre.
3. Título del Proyecto:
Las matematicas en la criptografía.
4. Asesor:
Dr. Andres Figueroa Alvarado.
Problema Científico: ¿Es posible dar solución a un sistema de cifrado y descifrado de
palabras, utilizando la teoría de matrices para enviar mensajes?
1. ¿Es posible encriptar mensajes utilizando las matemáticas?
2. Objetivo General: Investigar e identificar una de las aplicaciones del algebra lineal y la
aritmética modular para cifrar y descifrar mensajes.
7. Hipótesis:
Con la ayuda de las aplicaciones del algebra lineal y la teoría de números a la criptografía daremos
solución a un sistema de cifrado y descifrado de mensajes.
8. Diseño de Contrastación:
Estudiar la criptografía simétrica y asimétrica.
Estuadiar las matrices y teoría de números como método de solución a un sistema de
cifrados o descifrados de mensajes.
38
UNIVERSIDAD NACIONAL PEDRO
CIENCIAS FÍSICAS Y
MATEMÁTICAS
I. ASPECTO INFORMATIVO
1.2. AUTOR:
Guevara Sánchez Kalos André.
e-mail: kalos_guevara@hotmail.com
Celular: 990529170
39
II. ASPECTO DE LA INVESTIGACIÓN
2.1. Planteamiento del Problema Científico.
Nuestro trabajo de investigación comienza por una visión general de a qué
se dedica, qué problemas ataca la criptografía y cómo los resuelve
utilizando matemáticas, para pasar después a estudiar con detalle un
problema menos conocido para aquél que no se dedique a la investigación
en estos temas, y mostrar finalmente su solución.
2.2. Revisión Bibliográfica.
a) Antecedentes.
Ayuso, A. (2014), Una simulación simplificada de la criptografía. Presenta
un algoritmo para la solución numérica de las distintas criptografías.
40
2.4. Objetivos.
2.4.1. Objetivo general
Investigar e identificar una de las aplicaciones del álgebra lineal la cual
consiste en la criptografía mediante matrices, sus conceptos,
procedimientos y métodos que dan solución a un sistema de cifrado y
descifrado de palabras.
El propósito principal en estas páginas es presentar una base
matemática necesaria para la posterior comprensión de un
𝑐𝑟𝑖𝑝𝑡𝑜𝑠𝑖𝑠𝑡𝑒𝑚𝑎 asimétrico llamado 𝑅𝑆𝐴. El estudio y conocimiento de los
fundamentos matemáticos de la criptografía asimétrica ha adquirido un
interés práctico que se le añade al intrínseco interés teórico del que
gozan todas las matemáticas.
2.4.2. Objetivo específicos
Familiarizarse con aspectos de la teoría de matrices que están
implicados en la explicación y desarrollo de las inversas de las matrices
y así relacionar los elementos de la matriz con las letras del abecedario
Mostrar un método sencillo para introducir las ideas básicas de la
criptografía mediante el uso de herramientas básicas del algebra
matricial.
41
2.6. Hipótesis.
Con ayuda del algebra matricial y la teoría de números aplicamos un método
para dar solución a un sistema de cifrado y descifrado de mensajes.
http://it.aut.uah.es/enrique/docencia/ii/seguridad/documentos/t4-0506.pdf
http://www.algebra.com/algebra/homework/equations/Diophantine_equation
http://huitoto.udea.edu.co/SistemasDiscretos/contenido/alg_euclides.html
http://mathworld.wolfram.com/DiophantineEquation.html
http://www.revistasic.com/revista40/agorarevista_40.htm
Libros
David M. Burton - 𝐸𝑙𝑒𝑚𝑒𝑛𝑡𝑎𝑟𝑦 𝑁𝑢𝑚𝑏𝑒𝑟 Theory. Editorial Allyn and Bacon
Pino Caballero Gil – Introducción a la Criptografía. Editorial Ra.
42
III. ASPECTO ADMINISTRATIVO
3.1. Cronograma de Actividades.
43
3.2 PRESUPUESTO:
RUBROS COSTO PARCIAL COSTO TOTAL
Fotocopias 10.00
Folder 5.00
C) Servicios: S/.
Internet
90.00
……………………...
80.00
Movilidad …………………...
20.00
Tipeo e impresiones……….
00.00
Empastado …………………
10.00 200.00
Otros
S/.
TOTAL
235.00
3.3. Financiamiento.
Autofinanciado
44