47

Aprender Criptografía para el Colegio

Embed Size (px)

DESCRIPTION

Historia de la Criptografía, bases y ejercicios prácticos para su entendimiento.

Citation preview

Page 1: Aprender Criptografía para el Colegio

Universidad Nacional de Educación a Distancia de España

Máster Universitario en Formación del Profesorado de EducaciónSecundaria de Ecuador

Especialidad: Matemáticas.

Las Matemáticas que hacen segura la red:Criptografía.

Área de trabajo: Docencia en MatemáticasEnfoque:Tercero de Bachillerato,

especialidad Informática.

Autor:

Xavier Enrique Ñauta TapiaTutor:

Dr. Carlos Fernández

Cuenca, 8 de diciembre de 2015

Page 2: Aprender Criptografía para el Colegio

AGRADECIMIENTO: A Dios, por haberme dado la fuerza y valor para ter-minar otra etapa en mi vida profesional. Agradezco también la con�anza y elapoyo brindado por parte de mi esposa, que sin duda alguna, en el trayectode mi vida me ha demostrado su amor, corrigiendo mis faltas y celebrandomis triunfos. Dedico este trabajo y esfuerzo a mi razón de vivir, mi hijo, quetome el ejemplo de esfuerzo y ganas de superarse, del mismo modo que tomé loenseñado por mis padres. Finalmente, al Ministerio de Educación de mi país,por la oportunidad de superación y el de haber traído docentes tan prestigiososcomo el Tutor de mi trabajo.

Page 3: Aprender Criptografía para el Colegio

Índice general

1. Introducción. 5

2. Documentación. 72.1. Criptografía, de�nición. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72.2. Criptografía en la antiguedad. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82.3. Cifrado del César. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102.4. Cifrado de Vigenère. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112.5. Cifrado de Vernam. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112.6. Cifrado RSA (Criptografía de clave pública). . . . . . . . . . . . . . . . . . . . . . . 12

2.6.1. Demostración de la obtención de claves públicas y privadas del cifrado RSA 13

3. Trabajo matemático. 153.1. Números primos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153.2. Aritmética modular. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

3.2.1. Relaciones de congruencias. . . . . . . . . . . . . . . . . . . . . . . . . . . . 173.2.2. Operaciones aritméticas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

3.3. Sistema Binario y operaciones. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203.3.1. Suma de Binarios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213.3.2. Tablas de verdad con el sistema binario. . . . . . . . . . . . . . . . . . . . . 22

3.4. Máximo común divisor y el algoritmo de Euclides. . . . . . . . . . . . . . . . . . . . 243.5. Números coprimos y función de Euler. . . . . . . . . . . . . . . . . . . . . . . . . . 26

4. Diseño de una unidad didáctica 294.1. Unidad didáctica, realización de programa en visual basic para calcular números

primos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294.1.1. Destrezas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294.1.2. Estrategias metodológicas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294.1.3. Actividades. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304.1.4. Recursos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304.1.5. Evaluación y programa �nal. . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

4.2. Unidad didáctica, realización de programa en visual basic para codi�car un mensajeutilizando el cifrado del César. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 344.2.1. Destrezas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 344.2.2. Estrategias metodológicas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 344.2.3. Actividades. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 354.2.4. Recursos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

3

Page 4: Aprender Criptografía para el Colegio

4 ÍNDICE GENERAL

4.2.5. Evaluación y programa �nal. . . . . . . . . . . . . . . . . . . . . . . . . . . . 364.3. Unidad didáctica, realización de programa en visual basic para codi�car un mensaje

utilizando el cifrado de Vernam. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 414.3.1. Estrategias metodológicas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 414.3.2. Actividades. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 414.3.3. Recursos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 424.3.4. Evaluación y programa �nal. . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

5. Anexos 455.1. Programa Números Primos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 455.2. Programa Cifrado del César . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 455.3. Programa Cifrado de Vernam . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

Page 5: Aprender Criptografía para el Colegio

1. Introducción.

El presente trabajo tiene como objetivo el aplicar conceptos matemáticos con ayuda de la infor-mática, en el currículum de estudio de la unidad educativa, donde las matemáticas juegan un papelpredominante en la educación técnica de la especialidad escogida por el estudiante. Mi profesiónes Ingeniería de Sistemas y me resulta muy útil enfocar este trabajo a la aplicacián en el aula declases de este tema que es muy utilizado hoy en día.

El auge de internet y su utlización diaria en todos los aspectos de la vida profesional o social,ha determinado que se busquen mecanismos para proteger la información que circula por la red, yse recurrió a las matemáticas para buscar un mecanismo de hacer más segura la misma. La cienciaque ayudó a la protección de la información fué la criptografía, ciencia que ya era aplicada desdetiempos antiguos para encriptar mensajes militares.

Este trabajo y la posterior unidad didáctica será aplicada y probada en la Unidad FranciscoFebres Cordero, con los alumnos del Tercer Año de la especialidad de Informática. Esta unidadeducativa es emblemática en la ciudad de Cuenca y su especialidad de informática es complemen-tada con un Instituto Superior donde los estudiantes tienen la posibilidad de obtener un título detercer nivel.

La criptografía como ciencia, está presente en la actualidad ya que toda transacción que lo hace-mos por internet tiene seguridades, el navegador Google Chrome dispone de medidas de seguridadque te protegen cuando navegas por internet, transacciones bancarias con comercio electrónico,�rmas digitales para documentos públicos y privados, dinero digital, comunicaciones anónimas yprotocolos, donde el cifrado y seguridad de la información resulta sumamente utilizado y de ahí laimportancia en el estudio de esta ciencia.

En el presente trabajo se detallará conceptos básicos de criptografía, su historia y como havenido evolucionando esta ciencia, además de que, se explicará algunos métodos criptográ�cos conguías para la programación de pequeñas aplicaciones realizadas en el lenguaje de Visual Basic,programación que han venido estudiando y practicando los alumnos de la unidad educativa.

En la siguiente parte del trabajo, explicaremos fundamentos matemáticos básicos para la com-prensión de la criptografía por parte de los estudiantes, enfocándonos en cifrados utilizados pornosotros a los largo de nuestra historia, para �nalmente proponer una unidad didáctica de trabajopara la aplicación y comprensión en el aula por parte del estudiante.

El lenguaje de programación a utilizar va ser Visual Basic, que de acuerdo al currículum

5

Page 6: Aprender Criptografía para el Colegio

6 CAPÍTULO 1. INTRODUCCIÓN.

de la materia, los estudiantes han venido trabajando con este lenguaje de programación. Lasunidades didácticas propuestas para reforzar el conocimiento teórico y matemático son prácticas yse necesitará el uso del computador. Como anexos se presentará el código fuente utilizado para lasprácticas realizadas. Este trabajo representa una muy buena opción de aplicación del conocimientoy detrezas para los alumnos.

Page 7: Aprender Criptografía para el Colegio

2. Documentación.

2.1. Criptografía, de�nición.

La criptología (del griego criptos= oculto y logos= tratado, ciencia) es la ciencia que trata lasescrituras ocultas, está comprendida por la criptografía, el criptoanálisis y la esteganografía comose muestra en al siguiente �gura (2.1).[1].

Figura 2.1: Ramas de la criptología

El signi�cado de la palabra criptografía indica como el arte de ocultar mensajes, utilizandoclaves. Hoy en día, más que un arte, se considera una ciencia, ya que detrás de la utilización decualquier método de cifrado, está inmerso conocimientos matemáticos, computacionales y estadís-ticos, que vuelve compleja su utilización

Además de las técnicas que se utilizan para cifrar la información, la criptografía también sepreocupa de que la información que llega cifrada, pueda volver a su estado o mensaje original sinpoder alterarlo e inclusivo veri�cando quien lo envió.

Si un mensaje cifrado se desconoce la clave utilizada, la ciencia que trabaja para poder recu-perar el mensaje original es el criptoanálisis, muchas de las veces, utilizado con �nes ilegales. Nose debe decir que estas ciencias son iguales, al contrario, son complementarias.

Otra manera de ocultar la información es el de esconder en el interior de un mensaje, otromensaje. La ciencia que estudia esta manera de encriptar información es la esteganografía.

7

Page 8: Aprender Criptografía para el Colegio

8 CAPÍTULO 2. DOCUMENTACIÓN.

2.2. Criptografía en la antiguedad.

El arte de cifrar mensajes viene desde tiempos remotos, se tiene indicios de que los antiguosegipcios y griegos ya empleaban estas técnicas de cifrado en jeroglí�cos o papiros. Entre los años500 Y 600 A.C., los hebreos cuando querían enviar mensaje con textos cifrados utilizaban el alfabe-to al revés, un ejemplo es el Libro de Jeremías, llamando a esta técnica como código espejo o Atbash.

En el siglo I A.C. los romanos utilizaron una manera de comunicación secreta la cual deno-minaron el cifrado del César, nombre que viene del militar y político romano Julio César, quienlo utilizó de manera frecuente y para su tiempo segura. El método utilizado era relativamentesencillo, consistía de reemplazar la letra de orígen con una equivalente, la misma que se obteníacon el número de saltos o posiciones que debían realizarse y que estaban previamente de�nidas.Inicialmente siempre se utilizaron 3 posiciones, pero luego ese número llegó a ser aleatorio. Masadelante detallaremos este cifrado y plantearemos unas prácticas para emplearlos en el aula declases.

Además los romanos, tenían otras técnicas de ocultar información, para la cual utilizaban aesclavos para enviar mensajes escritos en su cabeza, previamente las rapaban. Utilizaban métodoscrueles, como el de cortarles la lengua para que no digan el mensaje y la forma de ocultarlo losolucionaban dejándoles crecer el cabello.

Otra forma en la antiguedad de protejer los mensajes, fué mediante la utilización de símbolosque representaban a un ser superior, estos símbolos (llamados símbolos apostólicos), [2]; por logeneral eran �guras y eran utilizados por los cristianos cuando en esa época eran perseguidos porsu docma religioso.

No solo los romanos utilizaron técnicas de comunicaciones secretas, también fueron los árabesque implementaron mecanismos de protección de sus mensajes, entre los principales procedimientosde cifrado se muestra los siguientes [2]:

1. Reemplazar unas letras por otras.

2. Escribir palabras al revés.

3. Invertir letras alternadas en el texto del mensaje original.

4. Dar a las letras un valor numérico y escribir dichos valores con símbolos.

5. Reemplazar cada letra con otras dos de forma que la suma de sus valores numéricos fueraigual al valor numérico de la letra reemplazada.

6. Sustituir cada letra con el nombre de una persona o un objeto.

7. Sustituir las letras por signos lunares, pájaros, �ores u otros signos inventados.

Una de las primeras obras o tratados de cifrado conocidos y documentados formalmente es larealizada por los duques Sforza de Milán [2], que en mencionado trabajo estudia y analiza diversossistemas criptográ�cos.

Page 9: Aprender Criptografía para el Colegio

2.2. CRIPTOGRAFÍA EN LA ANTIGUEDAD. 9

En 1595 el francés Blaise Vigenère inventó un método de cifrado que consistía en asignar unnúmero a cada letra del alfabeto y sumar los números correspondientes a una clave con los delmensaje para obtener el criptograma.

Existieron varias versiones de máquinas de cifrado manuales, como el cifrador de discos deJe�erson, nombre tomado de su autor Thomas Je�erson, cifrador de Wheatstone y cifrador deBazeries. Gilbert Vernam, creó un algoritmo, denominado cifrado de Verman, este último es con-siderado las bases de la criptografía moderna. Algunos ejemplos se encuentra en la siguiente �gura(2.2)

(a) Cifrador de discos deJe�erson

(b) Cifrador de Wheatsto-ne

(c) Cifrador de Bazeries

Figura 2.2: Historia de Cifradores.

Siguiendo la cronología de la criptografía, nos encontramos una cita en la historia donde estaciencia jugó un papel predominante y donde su uso de�nió la victoria contra la Alemania Nazi. Enla segunda guerra mundial, los alemanes crearon la primera máquina electromecánica para codi�-car y decodi�car los mensajes, esta máquina fue denominada ENIGMA, como se puede observaren la �gura (2.3) . Así mismo los aliados, con un grupo de cientí�cos liderados por el matemáticoinglés Alan Turing, diseñó una máquina para descifrar las comunicaciones nazis generedas porENIGMA, muchos consideran esta máquina como el primer computador con un propósito de�nidoy demostró la importancia de esta ciencia.

Con el auge de las comunicaciones globales, internet y las TICS, la criptografía no es utilizadahoy en día con �nes militares, al contrario, es utilizado en casi todas las transacciones online quese realizan a través de la internet. Firmas electrónicas utilizando claves RSA o claves públicas yprivadas, transacciones bancarias utilizando métodos y protocolos de encriptación como el https,haciendo más segura la red y las transacciones que se realizan. Claves que circulan en el aire concomunicaciones inalámbricas, utilizando protocolos como el WEP y WAP que ayudan a encriptar

Page 10: Aprender Criptografía para el Colegio

10 CAPÍTULO 2. DOCUMENTACIÓN.

Figura 2.3: Máquina ENIGMA

la clave de acceso, aplicaciones de celulares que permiten ocultar información de estos dispositivos.Programas informáticos que protegen la información de los hackers o piratas informáticos, perso-nas que por gusto informático o por malos hábitos buscan obtener nuestra información. Sin estaciencia, creo que ninguna de estas utilidades y transacciones que lo hacemos diariamente por lainternet podrían tener el auge e importancia de hoy en día, razón por la cual es necesario su estudioy comprensión para saber lo que utilizamos y trabajamos diariamente, de donde vino y a dondese proyecta. Muchos de estos grandes descubrimientos, están estrechamente relacionados con lasmatemáticas y los aportes de grandes cientí�cos que dieron a esta ciencia su importancia. Coneste recorrido en la historia y su uso en la actualidad, revisamos que el estudio de la criptografíase debe tomar como un tópico en la comprensión del alumnado, estudiarlo y comprenderlo paraque incluso, con el avance vertiginoso de la tecnología, aplicar o quizá descubrir nuevas técnicasde cifrado.

2.3. Cifrado del César.

Este cifrado, utilizado en la época romana consiste básicamente en reemplazar la letra de origencon la letra correspondiente dada por el número o llave que indica la cantidad de saltos que debadar y su correspondiente equivalencia. Un ejemplo se puede observar en la siguiente �gura (2.4):

Debido a que esa época, muy pocas personas podían leer o escribir, resultaba un medio deencriptación bastante útil para proteger los secretos de estado o para comunicarse entre las tropas.Mas adelante en el trabajo matemático se denotará una notación aritmética modular y se propondrá

Page 11: Aprender Criptografía para el Colegio

2.4. CIFRADO DE VIGENÈRE. 11

Figura 2.4: Cifrado del César con clave 2 (2 Saltos)

trabajos para realizarlos en el aula. Con la aparición de los computadores, y teniendo en cuentaque las claves para esa época utilizadas se limitaba a 26 caracteres del alfabeto, un método paradescifrar era el denominado de fuerza bruta, el cual consistía de probar las diferentes claves yeliminar los mensajes sin sentido. Revisar unidad didáctica, realización de programa en visualbasic para codi�car un mensaje utilizando el cifrado del César.

2.4. Cifrado de Vigenère.

Este cifrado utiliza una variación de diferentes cifrados del César, recuerden que en el anteriorcifrado se utilizaba una llave que indicaba la cantidad de posiciones que debía aumentar parapoder colocar la letra correspondiente. En este cifrado se utiliza una palabra clave, la misma queen su fondo viene a constituir un cifrado del César con múltiples variaciones o múltiples alfabetosCésar diferentes. Este es uno de los cifrados de sustitución polialfabético, esto quiere decir queel caracter no se sustituye siempre por el mismo caracter. Es decir, en el sistema hay implicadosvarios alfabetos y dependiendo de las circunstancias se aplicará uno u otro. Para este cifrado existeuna tablilla, que la debemos seguir para poder cifrar y descifrar el mensaje como se muestra enlas siguientes �guras (2.5):

2.5. Cifrado de Vernam.

En 1917 Gilbert Vernam propone un cifrador por sustitución binaria con clave de un solo uso(one-time pad) basado en el código de 5 bits, es parecido al cifrado de Vigenère solo que aquí laclave es aleatoria y tan larga como el mensaje, además se debe utilizar una sola vez. Se utilizacódigos binarios y operaciones sobre ellos como la XOR, que la indicaremos en los fundamentosmatemáticos. La clave será tan larga o más que el mensaje y se usará una sola vez, como se puedeobservar en la siguiente �gura (2.6):

Page 12: Aprender Criptografía para el Colegio

12 CAPÍTULO 2. DOCUMENTACIÓN.

(a) Ejemplo 1 mensaje Ci-frado Vigenère

(b) Ejemplo 2 mensaje Ci-frado Vigenère

(c) Tabla de Vigenère

Figura 2.5: Cifrado de Vigenère.[2]

Figura 2.6: Ejemplo del Cifrado de Vernam

2.6. Cifrado RSA (Criptografía de clave pública).

El algoritmo RSA es un algoritmo de clave pública desarrollado en 1977 por Ronald Rivest,Adi Shamir y Leonard Adelman (el nombre viene de las iniciales de los apellidos de los creadores).El sistema criptográ�co con clave pública RSA es un algoritmo asimétrico cifrador de bloques,que utiliza una clave pública, la cual se distribuye (en forma autenticada preferentemente), y otraprivada, la cual es guardada en secreto por su propietario.

La robustez de este método de cifrado es la utilización de números primos grandes, elegidos alazar. La clave pública es conocida por todos los que quieran interceptar la comunicación, pero lacombinación de esa clave con la clave privada del receptor permiten obtener el mensaje original.Se utiliza aritmética modular y factorización del número grande en factores primos, este trabajoo este procedimiento, involucra bastante tiempo y procesamiento a nivel computacional en el casode querer descifrar el mensaje, de ahí la complejidad y robustez del cifrado.

Los detalles de la solución matemática se lo indicará con un ejemplo en la parte �nal de estetema o en el subcapítulo (Demostración de la obtención de claves públicas y privadas del cifradoRSA), en la siguiente �gura (2.7) se muestra un esquema de este cifrado.

Page 13: Aprender Criptografía para el Colegio

2.6. CIFRADO RSA (CRIPTOGRAFÍA DE CLAVE PÚBLICA). 13

Figura 2.7: Ejemplo del Cifrado RSA

2.6.1. Demostración de la obtención de claves públicas y privadas del

cifrado RSA

Para la obtención o generación de claves del cifrado RSA, se debe seguir los siguientes pasos:

1. Se debe elegir 2 números primos distintos, cada uno lo denominaremos p y q.

2. Se calcula n = p ∗ q, donde n sería el módulo para ambas claves, la pública y la privada.

3. Se calcula φ(n) = (p− 1)(q − 1). Función de Euler, explicada en el capítulo de fundamentosmatemáticos (3.4. Máximo común divisor y el algoritmo de Euclides y 3.5. Números coprimosy función de Euler.).

4. Se escoge un número entero positivo e menor que φ(n), que sea coprimo con n, φ(n) y �nal-mente aplicamos la fórmula del cifrado:

Para cifrar: c ≡ me(modn)

5. Para descifrar, se determina un d (mediante aritmética modular) qué satisfaga e.d ≡ (modφ(n)) = 1 y aplicamos la siguiente fórmula:

Para descifrar: m ≡ cd(modn)

Ejemplo:

1. Elegimos los siguientes 2 números primos, para el ejemplo utilizaremos números primos pe-queños, pero en realidad la encriptación y la robustez del RSA se basa en utilizar númerosprimos bastante grandes. Elegimos el 2 y el 7. Entonces p = 2 y q = 7.

2. Calculamos n, n = p ∗ q, n = 2 ∗ 7,n = 14.

3. φ(14) = (1)∗(6) es decir, los coprimos son 6 (1, 3, 5, 9, 11, 13), Esto se explica en fundamentosmatemáticos lo que es un número coprimo y aplicar el algoritmo de Euclides para hallar elm.c.d.

4. Se escoge e, el mismo que debe cumplir 2 propiedades:

1 < e < φ(n) Cumplen el 2, 3, 4, 5.

coprimo de n, φ(n) Esta propiedad cumple solo el 5 (m.c.d. = 1).

por lo tanto e = 5 y ciframos el mensaje (llave privada 5 y llave pública 14).

Page 14: Aprender Criptografía para el Colegio

14 CAPÍTULO 2. DOCUMENTACIÓN.

supongamos que queremos cifrar el número 2, aplicando la fórmula del cifrado con losvalores obtenidos, tenemos que c = 25(mod14) = 32(mod14) = 4, que es el mensajecifrado.

5. Para descifrar necesitamos escoger d, para esto debe cumplir la expresión e.d ≡ ( mod φ(n)) =1, por lo tanto:

por lo tanto 5d ≡ 1(mod6) = 1.

Al aplicar aritmética modular, debemos encontrar un número que multiplicado por 5,nos de residuo 1 aplicando mod 6. Ejemplo el 11, porque 5 ∗ 11 = 55 y 55 mod 6 = 1.Otro valor que cumple esta ecuación es 5 ∗ 17 = 85 y 85 mod 6 = 1 y así hay varios,pero escogemos 1 de ellos.

por lo tanto para el ejemplo escogemos d = 11 y aplicamos la fórmula (llave privada 11y llave pública 14).

m = 411(mod14) = 4194304(mod14) = 2, que es el mensaje original.

Page 15: Aprender Criptografía para el Colegio

3. Trabajo matemático.

3.1. Números primos.

Los números primos por de�nición es un número entero, mayor a 1 y que son divisibles para símismo y para la unidad. La operación matemática que nos permite saber si un número es primoo no es la división y existe varias maneras de determinar el mismo. En la siguiente �gura (3.1), sepuede obervar los primeros números primos en los primeros 100 números naturales.

Figura 3.1: Números primos, contenidos en los primeros 100 números naturales.

El método para determinar el cálculo o de�nición de si un número es primo o no, lo detallaréen el siguiente ejemplo, pero antes debemos indicar una operación matemática que se utiliza muyfrecuentemente en este capítulo y en la práctica, la operación es MOD y lo que nos devuelve comoresultado es el residuo de una división. En la siguiente �gura (3.2) se muestra la diferencia entre unadivisión (div) y el MOD. Como se puede observar, lo que nos interesa es el residuo de esa operación.

Cuando el residuo es igual a 0, indica que existe un divisible para ese número, tener muy encuenta que todo número sea primo o no, es divisible para 1 y para sí mismo, es decir la operaciónMOD es igual a 0. Esta secuencia de operaciones las haríamos con cualquier número que deseemosdeterminar si es primo o no, donde si encontramos un divisible se puede determinar el resultado.

15

Page 16: Aprender Criptografía para el Colegio

16 CAPÍTULO 3. TRABAJO MATEMÁTICO.

Figura 3.2: Explicación de la función MOD.

A continuación detallamos un ejemplo para determinar si el número es primo (ejemplo con elnúmero 5):

1. Escojemos el número 5.

2. Tenemos que realizar operación MOD sucesivas, que comiencen desde 1 y terminen hasta elnúmero en revisión, es decir:

a) 5 mod 1 = 0

b) 5 mod 2 = 1

c) 5 mod 3 = 2

d) 5 mod 4 = 1

e) 5 mod 5 = 0

3. Si notamos en la sucesión anterior, los únicos residuos con valor 0 es para la unidad y parasí mismo, por lo tanto determinados que el número es primo.

A continuación detallamos un ejemplo donde se determina que el número no es primo (ejemplocon el número 9):

1. Escojemos el número 9.

2. Tenemos que realizar operación MOD sucesivas, que comiencen desde 1 y terminen hasta elnúmero en revisión, es decir:

a) 9 mod 1 = 0

b) 9 mod 2 = 1

c) 9 mod 3 = 0 (aquí hay un divisible)

d) 9 mod 4 = 1

e) 9 mod 5 = 4

f ) 9 mod 6 = 3

Page 17: Aprender Criptografía para el Colegio

3.2. ARITMÉTICA MODULAR. 17

g) 9 mod 7 = 2

h) 9 mod 8 = 1

i) 9 mod 9 = 0

3. Si notamos en la sucesión anterior, determinamos que a parte en que el MOD con valor 0 espara la unidad y para sí mismo, existe otro con valor 0 que es con el número 3, por lo tanto9 es divisible para 3 y determinados que el número NO es primo.

Existen otros métodos y mas abreviados para determinar si un número es primo o no, peroescogimos éste que es mas didáctico y que se puede expresar de mejor manera en el programa quese puede revisar en la sección 4.1 Unidad didáctica, realización de programa en visual basic paracalcular números primos. También es importante denotar, que por razones de hacer mas óptimoel proceso detallado anteriormente es preferible y resulta absurdo comenzar la operación en 1 yterminar en el número analizado, ya que sabemos que su residuo es 0, sea éste un número primoo no; por lo tanto es recomendable comenzar el proceso desde 2 hasta N-1. (N es el número enrevisión)

3.2. Aritmética modular.

La artimética modular según wikipedia, es un sistema aritmético para claves de equivalenciade números enteros llamadas clases de congruencia. El ejemplo más simple y claro de que nosotrosutilizamos aritmética modular es el reloj, ya que los números van desde el 1 hasta el 12, matemá-ticamente se dice que es módulo 12, por tal razón es denominada también aritmética del reloj.

Cuando a las 10 de la mañana se le agrega 5 horas se llega a las 3 de la tarde, es decir 10+5 = 3.Por otra parte, si a las 2 de la tarde se le quita 4 horas, el resultado es las 10, lo que equivale adecir que 2− 4 = 10.

Las notaciones que se utilizan es la Z, tomando el ejemplo anterior del reloj decimos que loselementos, se llaman enteros módulo 12, denotado de la siguiente forma:

Z12 = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11}

óZN = {0, 1, 2, ...., (N − 1)}

En realidad cualquier número entero es equivalente a un entero módulo 12 que se obtiene como elresiduo (nunca negativo) de la división entre 12. Por ejemplo 29 es equivalente a 5 mod 12 y seescribe 29 ≡ 5( mod 12), porque al dividir 29 / 12 el resultado es (cociente 2 y) residuo 5.

3.2.1. Relaciones de congruencias.

Otro tema que debemos saber en aritmética modular es de las relaciones de congruencias, quese de�ne como: a y b se encuentran en la misma clase de congruencia módulo n, si ambos dejan elmismo resto si los dividimos entre n, o, equivalentemente, si a − b es un múltiplo de n. Podemosexpresarle con la siguiente notación:

a ≡ b(modn)

Page 18: Aprender Criptografía para el Colegio

18 CAPÍTULO 3. TRABAJO MATEMÁTICO.

Por ejemplo tenemos:23 ≡ 53(mod10)

ya que ambos, el 23 y el 53 tienen un mismo residuo al dividir entre 10.

Una propiedad que se utiliza frecuentemente es la siguiente: Si

a1 ≡ b1(modn)

ya2 ≡ b2(modn)

entoncesa1 + a2 ≡ b1 + b2(modn)

ya1a2 ≡ b1b2(modn)

3.2.2. Operaciones aritméticas.

En aritmética modular también se pueden realizar las operaciones aritméticas, por ejemplo enla suma decimos:

(A+B) mod C = (A mod C +B mod C) mod C

Ejemplo:Sea A=14, B=17, C=5Veri�quemos que: (A+B) mod C = (A mod C +B mod C) mod CLI = Lado Izquierdo de la ecuaciónLD = Lado Derecho de la ecuación

LI = (A+B) mod C

LI = (14 + 17) mod 5

LI = 31 mod 5

LI = 1

LD = (A mod C +B mod C) mod C

LD = (14 mod 5 + 17 mod 5) mod 5

LD = (4 + 2) mod 5

LD = 1

por lo tanto:LI = LD = 1

La operación de suma modular se debe intuir, observando la �gura (3.3). Si queremos calcular12+9 mod 7 podemos fácilmente ir alrededor del círculo modular por una secuencia de 12+9 pasosen sentido de las manecillas del reloj (como se muestra en el círculo inferior izquierdo). Recordemosque el módulo del ejemplo es 7, por lo tanto va desde el 0 hasta el 6.

Page 19: Aprender Criptografía para el Colegio

3.2. ARITMÉTICA MODULAR. 19

Figura 3.3: Movimiento manecillas del reloj para suma modular.[3]

Podemos tomar un atajo si observamos que cada 7 pasos terminamos en la misma posiciónen el círculo modular. Estas vueltas completas alrededor del círculo modular no contribuyen anuestra posición �nal. Podemos ignorar estas vueltas completas alrededor del círculo calculandocada número mod7 (como se muestra en los dos círculos modulares superiores). Esto nos dará elnúmero de pasos en sentido de las manecillas del reloj, relativos a 0, que contribuyen a cada unade las posiciones �nales alrededor del círculo modular. Ahora, solo tenemos que ir alrededor delcírculo en sentido de las manecillas del reloj el número total de pasos que contribuyen a la posición�nal de cada número (como se muestra en al círculo modular inferior derecho). Este método aplica,en general, a cualesquiera dos enteros y cualquier círculo modular.

Otra manera de realizar la suma y utilizando la fórmula (A + B) mod C es elaborando elsiguiente cuadro, donde A es la columna de color rosado, B la �la de color amarillo y C es elmódulo que estamos aplicando la fórmula, para este ejemplo es el 7 y se ve en la �gura (3.4):

Figura 3.4: Cuadro de la suma modular en módulo 7.

Como podemos observar el ciclo siempre se va repetir cada 7 pasos y es muy fácil utilizandouna herramienta como Microsoft Excel realizar el cuadro hasta el número que deseemos (columnarosada). En el cuadro podríamos decir que 7+5 = 5 (A+B mod 7), nos �jamos el 7 en la columna

Page 20: Aprender Criptografía para el Colegio

20 CAPÍTULO 3. TRABAJO MATEMÁTICO.

rosada y el 5 en la �la amarilla y la intersección es el resultado.

Para la operación de resta se aplica la misma fórmula pero cambiando de signo, es decir (A−B) mod C lo que nos daría el siguiente cuadro de la �gura (3.5), utilizando la misma lógica anterior.

Figura 3.5: Cuadro de la resta modular en módulo 7.

Aquí, por ejemplo hay que tener en cuenta el ciclo y el número negativo, por ejemplo en elcuadro 1− 2 mod 7, es igual a −1 mod 7 = 6.

Para la multiplicación, la fórmula es (A ∗ B) mod C, lo que tendríamos el siguiente cuadro�gura (3.6):

Figura 3.6: Cuadro de la multiplicación modular en módulo 7.

Esta lógica se aplica para cualquier número y cualquier módulo.

3.3. Sistema Binario y operaciones.

El sistema binario es aquel compuesto sólo de los valores 0 y 1, es utilizado en infomática dondeun 0 signi�ca apagado y un 1 encendido. Casi todo se puede expresar en este sistema y tiene equi-valencia con el sistema decimal que utilizamos. A continuación detallo el método de transformaciónentre sistema decimal a binario y visceversa.

Por ejemplo, queremos transformar el número 65 a sistema binario, el proceso es el siguiente:

Page 21: Aprender Criptografía para el Colegio

3.3. SISTEMA BINARIO Y OPERACIONES. 21

1. Tenemos que realizar 2 operaciones matemáticas, estas son las divisiones y la operación MODsucesivas en módulo 2. La divisón me dará el dividendo y el MOD me entregará el resultadodel número en binario. Así que comenzamos desde 65 y terminen hasta que el dividendo seamayor al divisor, es así que tenemos las siguientes operaciones:

a) 65÷ 2 = 32 (próximo dividendo)

? 65 mod 2 = 1 (valor del binario)

b) 32÷ 2 = 16 (próximo dividendo)

? 32 mod 2 = 0 (valor del binario)

c) 16÷ 2 = 8 (próximo dividendo)

? 16 mod 2 = 0 (valor del binario)

d) 8÷ 2 = 4 (próximo dividendo)

? 8 mod 2 = 0 (valor del binario)

e) 4÷ 2 = 2 (próximo dividendo)

? 4 mod 2 = 0 (valor del binario)

f ) 2÷ 2 = 1 (última división)

? 2 mod 2 = 0 (valor del binario)

g) 1 mod 2 = 1 (valor del binario)

2. Finalmente, armamos el número binario tomando desde el último residuo al primero. Es decirel resultado sería:

1000001

Para transformar un número binario a sistema decimal se detalla el siguiente método:

1. Inicie por el lado derecho del número en binario, cada cifra multiplíquela por 2 elevado a lapotencia consecutiva (comenzando por la potencia 0, 20).

27

0

26

1

25

0

24

0

23

0

22

0

21

0

20

1

2. Fíjese los valores que tienen 1, y realice la operación correspondiente, en este caso el 20 y 26.

3. Sume 20 = 1 y 26 = 64 y el número resultante será el equivalente al sistema decimal, es decir1 + 64 = 65.

3.3.1. Suma de Binarios

Para la operación suma en el sistema binario,tenemos las posibles combinaciones al sumar dosbits, que son:

0 + 0 = 0

0 + 1 = 1

Page 22: Aprender Criptografía para el Colegio

22 CAPÍTULO 3. TRABAJO MATEMÁTICO.

1 + 0 = 1

1 + 1 = 10

Note que al sumar 1+1 es 102, es decir, llevamos 1 a la siguiente posición de la izquierda (acarreo).Esto es equivalente en el sistema decimal a sumar 9+1, que da 10: cero en la posición que estamossumando y un 1 de acarreo a la siguiente posición. Para la suma, debemos �jarnos en la siguientetabla (3.1):

+ 0 1

0 0 11 1 10

Cuadro 3.1: Tabla de suma de binarios.

Aplicando lo anterior, la suma del siguiente ejemplo sería:

10011000

+

00010101

�����������

10101101

Para el presente trabajo no es necesario revisar las otras operaciones aritméticas con sistemabinario.

3.3.2. Tablas de verdad con el sistema binario.

En matemáticas existe un tema denominado lógica matemática, dentro de ellos se utilizanoperadores lógicos donde se re�ejan resultados diferentes de acuerdo al operador utilizado. Ademásaquí también se denota a un 0 como (Falso o Apagado) y a un 1 como (Verdadero o Prendido).Es muy utlizado en computación y en la elaboración de sistemas electrónicos.

Operador AND

En la siguiente tabla (3.2), se muestra los resultados utilizando el operador AND.

A B A AND B

0 0 00 1 01 0 01 1 1

Cuadro 3.2: Tabla de verdad utilizando operador AND.

Lo que se puede deducir es que, al utilizar el operador AND, si en uno de los 2 (A o B) existeun 0, el resultado será 0, solo es 1 cuando los 2 valores son 1. A continuación se revisará los demásoperadores lógicos involucrados en la lógica matemática.

Page 23: Aprender Criptografía para el Colegio

3.3. SISTEMA BINARIO Y OPERACIONES. 23

Operador OR

En la siguiente tabla (3.3), se muestra utilizando el operador lógico OR. En este operador de-ducimos que, el resultado de la expresión es falso o tiene el valor de 0, solo cuando los 2 operadores(A y B) son 0, todo lo demás es 1 o verdadero.

A B A OR B

0 0 00 1 11 0 11 1 1

Cuadro 3.3: Tabla de verdad utilizando operador OR.

Operador NOT

Es denominado operador de negación y funciona de la siguiente manera de acuerdo a la tabla(3.4):

A NOT A

0 11 0

Cuadro 3.4: Tabla de verdad NOT.

Operador XOR

El XOR bit a bit, toma dos números enteros y realiza la operación OR exclusivo en cada parcorrespondiente de bits. El resultado en cada posición es 1 si el par de bits son diferentes y cero siel par de bits son iguales, la tabla de verdad se observa en el siguiente cuadro (3.5)

A B A XOR B

0 0 00 1 11 0 11 1 0

Cuadro 3.5: Tabla de verdad utilizando operador XOR.

Este último operador, es utilizado en el cifrado de Vernam, que lo mencionamos en el capítuloanterior y que lo necesitaremos para realizar la unidad didáctica.

Page 24: Aprender Criptografía para el Colegio

24 CAPÍTULO 3. TRABAJO MATEMÁTICO.

3.4. Máximo común divisor y el algoritmo de Euclides.

El máximo común divisor (m.c.d) es aquel número entero, más grande posible, que permitedividir a dos o más números. La forma más directa de sacar el m.c.d es veri�cando sus divisores,el valor más alto que se repita en todos los números revisados es el m.c.d.

Por ejemplo: m.c.d. (20,10)

Los divisores de 20 : 1, 2, 4, 5, 10 y 20, es decir los que en operación 20 mod 2, el residuo dévalor 0.

Los divisores de 10 : 1, 2, 5 y 10, es decir los que en operación 10 mod 2, el residuo dé valor0.

En este ejemplo el número más alto que es común entre los 2 es el 10, por lo tanto su m.c.d= 10.

Este procedimiento se aplica para números pequeños, pero se complica para números mas gran-des, para esto se utiliza un sistema denominado descomposición de factores.

Por ejemplo: m.c.d. (40,36,12)

Descomponer cada número en todos sus divisores.

40 220 210 25 51 1

36 218 29 33 31 1

12 26 23 31 1

Los divisores de 40 = 2 ∗ 2 ∗ 2 ∗ 5 ∗ 1 o 40 = 23 ∗ 5 ∗ 1 o 40 = 22 ∗ 2 ∗ 5 ∗ 1

Los divisores de 36 = 2 ∗ 2 ∗ 3 ∗ 3 ∗ 1 o 36 = 22 ∗ 32 ∗ 1.

Los divisores de 12 = 2 ∗ 2 ∗ 3 ∗ 1 o 12 = 22 ∗ 3 ∗ 1.

En este ejemplo el número más alto que es común entre los números es el 22 ∗ 1, por lo tantosu m.c.d = 4.

Otro método para obtener el m.c.d. de números grandes es el de utilizar el algoritmo de Euclides.Este método antiguo y e�caz para calcular el máximo común divisor fué originalmente descritopor Euclides en su obra Elementos y se enumera su funcionamiento de la siguiente manera:

1. Supongamos que tenemos dos números, Número A y Número B, determinamos que A > B.

2. Procedemos a dividor A÷B

3. El resto de la división anterior lo denominaremos r y la próxima división sería B ÷ r, obte-niendo otro residuo r1.

Page 25: Aprender Criptografía para el Colegio

3.4. MÁXIMO COMÚN DIVISOR Y EL ALGORITMO DE EUCLIDES. 25

4. La siguiente división sería r ÷ r1 y así sucesivamente hasta que se encuentre un residuo 0.

5. El dividor de la última división, sería el m.c.d.

Recordamos que para el anterior proceso, necesitamos de la función mod para obtener el residuo.A continuación un ejemplo de la aplicación del algoritmo de Euclides:

Supongamos que tenemos 2 números A = 1032 y B = 180.

Realizamos las 2 operaciones conocidas:

• 1032÷ 180 = 5

• 1032 mod 180 = 132

En el siguiente cuadro ilustramos los valores obtenidos:

COCIENTES 5DIVISORES 1032 180 132RESIDUOS 132

• 180÷ 132 = 1

• 180 mod 132 = 48

quedando el siguiente cuadro:

COCIENTES 5 1DIVISORES 1032 180 132 48RESIDUOS 132 48

• 132÷ 48 = 2

• 132 mod 48 = 36

quedando el siguiente cuadro:

COCIENTES 5 1 2DIVISORES 1032 180 132 48 36RESIDUOS 132 48 36

Page 26: Aprender Criptografía para el Colegio

26 CAPÍTULO 3. TRABAJO MATEMÁTICO.

• 48÷ 36 = 1

• 48 mod 36 = 12

quedando el siguiente cuadro:

COCIENTES 5 1 2 1DIVISORES 1032 180 132 48 36 12RESIDUOS 132 48 36 12

• 36÷ 12 = 3

• 36 mod 12 = 0

quedando el siguiente cuadro:

COCIENTES 5 1 2 1 3DIVISORES 1032 180 132 48 36 12RESIDUOS 132 48 36 12 0

En este último cuadro, observamos que el residuo tiene el valor de 0 y por lo tanto el divisores el máximo común divisor, en este caso el m.c.d. = 12

Este concepto matemático es aplicado en el cifrado RSA o de clave pública o privada visto enel capítulo anterior.

3.5. Números coprimos y función de Euler.

Dos números enteros son coprimos o primos entre sí si su máximo común divisor (m.c.d.) es1. En tal caso los únicos divisores comunes son −1 y 1. Esto equivale a decir que la fracción a

bes

irreductible (no se puede simpli�car).

Ejemplos

5 y 7 son coprimos porque son ambos primos (y distintos, desde luego).

11 y 49 son coprimos porque 11 es primo y 49 no es múltiplo de 11.

36 y 91 son coprimos porque en la descomposición en factores primos de cada uno, no apareceningún factor común: 36 = 22 ∗ 32 y 91 = 7 ∗ 13.

234 y 658 no son coprimos porque son ambos pares, y por lo tanto 2 es un divisor comúnmayor que 1.

6 y 25 son coprimos porque en la descomposición en factores primos de cada uno, no apareceningún factor común: 6 = 2 ∗ 3 y 25 = 5 ∗ 5.

Page 27: Aprender Criptografía para el Colegio

3.5. NÚMEROS COPRIMOS Y FUNCIÓN DE EULER. 27

La función φ de Euler, es una función que nos dá la cantidad de números coprimos de unnúmero entero - 1. Por ejemplo:

φ(7) = 6 porque los números coprimos son: 1, 2, 3, 4, 5, 6.

φ(6) = 2 porque los números coprimos son: 1, 5

La función tiene algunas propiedades, entre las que destacan son las siguientes:

1. Si tenemos un número p, que es primo, la φ(p) = p − 1, como en el ejemplo anterior deφ(7) = 7− 1 = 6.

2. Si p es primo → φ(pe) = pe − pe − 1 = pe(1− 1p).

Ejemplo:φ(52) = 52(1− 15)= 25(4

5)=5 ∗ 4=20.

Con este decimos que existe 20 números coprimos en φ(25), estos son: 1, 2, 3, 4, 6, 7, 8, 9, 11, 12, 13, 14, 16, 17, 18, 19, 21, 22, 23, 24

Page 28: Aprender Criptografía para el Colegio

28 CAPÍTULO 3. TRABAJO MATEMÁTICO.

Page 29: Aprender Criptografía para el Colegio

4. Diseño de una unidad didáctica

4.1. Unidad didáctica, realización de programa en visual ba-

sic para calcular números primos.

4.1.1. Destrezas.

1. Conceptuales.

Conocer el concepto de los números primos.

Conocer el método matemático para identi�car un número primo.

2. Procidementales.

Resolver mediante método matemático el reconocimiento de un número primo.

Realizar un programa que determine si un número ingresado es número primo o no.

Manejar herramientas de programación.

3. Actitudinales.

Compartir experiencias con sus compañeros al momento de trabajar en grupo.

Exponer los conocimientos adquiridos ante sus compañeros.

4.1.2. Estrategias metodológicas.

1. Técnicas.

Expositiva.

Grupal

Aprendizaje activo.

Resolución de problemas.

2. Método Heurístico.

De�nición de propósitos.

Exploración de caminos.

Presentación de informes.

Análisis de informes o conclusión.

29

Page 30: Aprender Criptografía para el Colegio

30 CAPÍTULO 4. DISEÑO DE UNA UNIDAD DIDÁCTICA

4.1.3. Actividades.

1. Prerrequisitos.

Se iniciará la clase mediante una exploración de conocimientos previos, necesarios paraentender el contenido propuesto. Para esto se debe realizar operaciones básicas ma-temáticas como la división y en programación, el conocimiento de técnicas básicas ycomandos en visual basic.

Explicación del residuo de una división y la utilización del comando MOD en VisualBasic y el comando RESIDUO en Excel 2013.

Revisión del capítulo 3 (Trabajo Matemático) y del subcapítulo 3.1 (Números primos)en este trabajo.

2. Esquema conceptual de partida.

Se les indicará el tema a tratarse y el objetivo de la clase, se explicará la técnica aaplicarse y la conformación de los grupos en su primera y segunda instancia, además, seprocederá a entregar los temas para cada uno de los tres grupos de la primera instancia,recalcando la responsabilidad que recae sobre cada uno de los estudiantes. Los temasquedan de�nidos de la siguiente manera: Grupo 1 �Cálculo de la divisón entera y residuodel número primo 5 y no primo 9�; Grupo 2 �Cálculo de la divisón entera y residuo delnúmero primo 7 y no primo 15�; y, Grupo 3 �Cálculo de la divisón entera y residuo delnúmero primo 11 y no primo 20�, los estudiantes estarán consientes de lo que van aexponer y lo que van a aprender de sus compañeros.

3. Construcción del conocimiento.

Se dará una breve explicación de los procesos para resolver los ejercicios en los distintoscasos propuestos de acuerdo al tema de la clase. Seguidamente, los estudiantes se dispon-drán de acuerdo a los grupos formados para la primera instancia procediendo a resolverlos ejercicios propuestos por el profesor entregados previamente en una hoja para cadauno de acuerdo al tema que les tocó, se entregará además, el contenido cientí�co a cadaestudiante. Posterior a este proceso, se reunirán para la segunda instancia, en dondedeberán exponer lo que han descubierto a sus compañeros mediante la exposición delos ejercicios resueltos y sus respectivos procedimientos, los alumnos podrán entoncesanalizar las exposiciones y sacar sus propias conclusiones. Durante las dos instancias elprofesor vigilará el proceso y salvará cualquier inquietud de manera general o personalde acuerdo al caso.

4. Transferencia del conocimiento.

Los estudiantes tomarán sus puestos habituales y de disponer del tiempo necesario,procederán voluntariamente a resolver ejercicios en la pizarra, en donde se pondrá demani�esto lo aprendido, además, se enviará tarea para la casa y uso del computador.

4.1.4. Recursos.

1. Recursos materiales.

Page 31: Aprender Criptografía para el Colegio

4.1. UNIDADDIDÁCTICA, REALIZACIÓN DE PROGRAMA ENVISUAL BASIC PARA CALCULAR NÚMEROS PRIMOS.31

Laboratorio de computación.

Proyector.

Memorias �ash.

Computadores con software o�mático y software de programación lenguaje Visual Basic.

2. Recursos relacionados con el proceso.

Ejercicios de acuerdo al tema propuestos por el docente, como operaciones aritméticasmatemáticas e identi�cación correcta de sus partes.

Método aplicado el heurístico con la técnica de la rejilla.

Procedimientos: observación, análisis, síntesis.

Formas aplicadas: expositiva � interrogativa.

Modos: simultáneo - individual.

3. Recursos humanos.

Evaluador.

Docente.

Estudiantes.

4.1.5. Evaluación y programa �nal.

1. Técnica: observación, resolución de ejercicios, exposición.

2. Instrumento: ejercicios relacionados con los prerrequisitos y al tema propuesto para la clase.

3. Indicador de logro:

Discrimina los tipos de ejercicios de acuerdo a los subtemas planteados.

Resuelve acertadamente los ejercicios propuestos por el profesor.

Muestra con�anza al resolver los ejercicios en la pizarra.

Desarrolla el programa en visual basic, maneja las herramientas de depuración y pro-gramación.

Resvisión del programa en correcto funcionamiento.

Código fuente del programa desarrollado en Visual Basic:

• En la siguiente �gura (4.1) se muestra el código fuente del ejercicio.

• En la siguiente �gura (4.2) se muestra el programa en funcionamiento, determinandoel resultado que el número es primo.

• En la siguiente �gura (4.3) se muestra el programa en funcionamiento, determinandoel resultado que el número ingresado no es primo.

Page 32: Aprender Criptografía para el Colegio

32 CAPÍTULO 4. DISEÑO DE UNA UNIDAD DIDÁCTICA

Figura 4.1: Código fuente del programa para determinar si un número ingresado es primo o no.

Page 33: Aprender Criptografía para el Colegio

4.1. UNIDADDIDÁCTICA, REALIZACIÓN DE PROGRAMA ENVISUAL BASIC PARA CALCULAR NÚMEROS PRIMOS.33

Figura 4.2: Programa en funcionamiento, determina que el 67 es primo.

Figura 4.3: Programa en funcionamiento, determina que el 100 no es primo.

Page 34: Aprender Criptografía para el Colegio

34 CAPÍTULO 4. DISEÑO DE UNA UNIDAD DIDÁCTICA

4.2. Unidad didáctica, realización de programa en visual ba-

sic para codi�car un mensaje utilizando el cifrado del

César.

4.2.1. Destrezas.

1. Conceptuales.

Conocer el concepto de criptografía.

Conocer el método matemático para aplicar el cifrado del César.

Conocer aritmética modular.

2. Procidementales.

Resolver mediante método matemático cifrado del César.

Realizar un programa que realice el cifrado del César.

Manejar herramientas de programación.

3. Actitudinales.

Compartir experiencias con sus compañeros al momento de trabajar en grupo.

Exponer los conocimientos adquiridos ante sus compañeros.

4.2.2. Estrategias metodológicas.

1. Técnicas.

Expositiva.

Grupal

Aprendizaje activo.

Resolución de problemas.

2. Método Heurístico.

De�nición de propósitos.

Exploración de caminos.

Presentación de informes.

Análisis de informes o conclusión.

Page 35: Aprender Criptografía para el Colegio

4.2. UNIDADDIDÁCTICA, REALIZACIÓN DE PROGRAMA ENVISUAL BASIC PARA CODIFICAR UNMENSAJE UTILIZANDO EL CIFRADODEL CÉSAR.35

4.2.3. Actividades.

1. Prerrequisitos.

Se iniciará la clase mediante una exploración de conocimientos previos, necesarios paraentender el contenido propuesto. Para esto se debe realizar operaciones básicas ma-temáticas como la división y en programación, el conocimiento de técnicas básicas ycomandos en visual basic.

Explicación del residuo de una división y la utilización del comando MOD en VisualBasic y el comando RESIDUO en Excel 2013.

Explicación de aritmética modular.

Revisión del capítulo 2 (Documentación) y del subcapítulo 2.3 (Cifrado del César) eneste trabajo.

Revisión del capítulo 3 (Trabajo Matemático) y del subcapítulo 3.2 (Aritmética modu-lar) en este trabajo.

2. Esquema conceptual de partida.

Se les indicará el tema a tratarse y el objetivo de la clase, se explicará la técnica aaplicarse y la conformación de los grupos en su primera y segunda instancia, además, seprocederá a entregar los temas para cada uno de los tres grupos de la primera instancia,recalcando la responsabilidad que recae sobre cada uno de los estudiantes. Los temasquedan de�nidos de la siguiente manera: Grupo 1 �Cálculo de módulo 2, codi�car lapalabra COLEGIO�; Grupo 2 �Cálculo de módulo 6, codi�car la palabra FEBRES�; y,Grupo 3 �Cálculo de módulo 12 codi�car la palabra CORDERO�, los estudiantes estaránconsientes de lo que van a exponer y lo que van a aprender de sus compañeros.

3. Construcción del conocimiento.

Se dará una breve explicación de los procesos para resolver los ejercicios en los distintoscasos propuestos de acuerdo al tema de la clase. Seguidamente, los estudiantes se dispon-drán de acuerdo a los grupos formados para la primera instancia procediendo a resolverlos ejercicios propuestos por el profesor entregados previamente en una hoja para cadauno de acuerdo al tema que les tocó, se entregará además, el contenido cientí�co a cadaestudiante. Posterior a este proceso, se reunirán para la segunda instancia, en dondedeberán exponer lo que han descubierto a sus compañeros mediante la exposición delos ejercicios resueltos y sus respectivos procedimientos, los alumnos podrán entoncesanalizar las exposiciones y sacar sus propias conclusiones. Durante las dos instancias elprofesor vigilará el proceso y salvará cualquier inquietud de manera general o personalde acuerdo al caso.

4. Transferencia del conocimiento.

Los estudiantes tomarán sus puestos habituales y de disponer del tiempo necesario,procederán voluntariamente a resolver ejercicios en la pizarra y en el computador, endonde se pondrá de mani�esto lo aprendido, además, se enviará tarea para la casa.

Page 36: Aprender Criptografía para el Colegio

36 CAPÍTULO 4. DISEÑO DE UNA UNIDAD DIDÁCTICA

4.2.4. Recursos.

1. Recursos materiales.

Laboratorio de computación.

Proyector.

Memorias �ash.

Computadores con software o�mático y software de programación lenguaje Visual Basic.

2. Recursos relacionados con el proceso.

Ejercicios de acuerdo al tema propuestos por el docente, como operaciones aritméticasmatemáticas e identi�cación correcta de sus partes.

Método aplicado el heurístico con la técnica de la rejilla.

Procedimientos: observación, análisis, síntesis.

Formas aplicadas: expositiva � interrogativa.

Modos: simultáneo - individual.

3. Recursos humanos.

Evaluador.

Docente.

Estudiantes.

4.2.5. Evaluación y programa �nal.

1. Técnica: observación, resolución de ejercicios, exposición.

2. Instrumento: ejercicios relacionados con los prerrequisitos y al tema propuesto para la clase.

3. Indicador de logro:

Discrimina los tipos de ejercicios de acuerdo a los subtemas planteados.

Resuelve acertadamente los ejercicios propuestos por el profesor.

Muestra con�anza al resolver los ejercicios en la pizarra.

Desarrolla el programa en visual basic, maneja las herramientas de depuración y pro-gramación.

Resvisión del programa en correcto funcionamiento.

Código fuente del programa desarrollado en Visual Basic:

• En la siguiente �gura (4.4) se muestra el código fuente de encriptado del César.

• En la siguiente �gura (4.5) se muestra la pantalla del cifrado del César.

• En la siguiente �gura (4.6) se muestra el código fuente del programa para descifrarun mensaje cifrado.

• En la siguiente �gura (4.7) se muestra la pantalla del descifrado del César.

Page 37: Aprender Criptografía para el Colegio

4.2. UNIDADDIDÁCTICA, REALIZACIÓN DE PROGRAMA ENVISUAL BASIC PARA CODIFICAR UNMENSAJE UTILIZANDO EL CIFRADODEL CÉSAR.37

Figura 4.4: Código fuente del programa del Cifrado del César.

Figura 4.5: Programa en funcionamiento, determina , el encriptado de la palabra COLEGIO conllave 2.

Page 38: Aprender Criptografía para el Colegio

38 CAPÍTULO 4. DISEÑO DE UNA UNIDAD DIDÁCTICA

Figura 4.6: Código fuente del programa para descifrar un mensaje.

Figura 4.7: Programa en funcionamiento, determina , el descifrado del mensaje EQNGIKQ conllave 2, el resultado la palabra COLEGIO.

Page 39: Aprender Criptografía para el Colegio

4.2. UNIDADDIDÁCTICA, REALIZACIÓN DE PROGRAMA ENVISUAL BASIC PARA CODIFICAR UNMENSAJE UTILIZANDO EL CIFRADODEL CÉSAR.39

Figura 4.8: Código fuente del programa para descifrar aplicando fuerza bruta.

Figura 4.9: Programa en funcionamiento, visualiza el mensaje entendible como la palabra COLE-GIO, encriptado con llave 2.

Page 40: Aprender Criptografía para el Colegio

40 CAPÍTULO 4. DISEÑO DE UNA UNIDAD DIDÁCTICA

En la siguiente parte de este ejercicio se muestra el programa que prueba diferentes llaves paradescifrar el mensaje, probamos 26 llaves para que nos devuelva con qué llave fué encriptado elmensaje y se visualiza en las �guras (4.8) y (4.9).

Page 41: Aprender Criptografía para el Colegio

4.3. UNIDADDIDÁCTICA, REALIZACIÓN DE PROGRAMA ENVISUAL BASIC PARA CODIFICAR UNMENSAJE UTILIZANDO EL CIFRADODE VERNAM.41

4.3. Unidad didáctica, realización de programa en visual ba-

sic para codi�car un mensaje utilizando el cifrado de

Vernam.

1. Conceptuales.

Conocer el concepto de criptografía.

Conocer el método matemático para aplicar el cifrado de Vernam.

Conocer aritmética modular.

2. Procidementales.

Resolver mediante método matemático cifrado de Vernam.

Realizar un programa que realice el cifrado de Vernam.

Manejar herramientas de programación.

3. Actitudinales.

Compartir experiencias con sus compañeros al momento de trabajar en grupo.

Exponer los conocimientos adquiridos ante sus compañeros.

4.3.1. Estrategias metodológicas.

1. Técnicas.

Expositiva.

Grupal

Aprendizaje activo.

Resolución de problemas.

2. Método Heurístico.

De�nición de propósitos.

Exploración de caminos.

Presentación de informes.

Análisis de informes o conclusión.

4.3.2. Actividades.

1. Prerrequisitos.

Se iniciará la clase mediante una exploración de conocimientos previos, necesarios paraentender el contenido propuesto. Para esto se debe realizar operaciones básicas ma-temáticas como la división y en programación, el conocimiento de técnicas básicas ycomandos en visual basic.

Page 42: Aprender Criptografía para el Colegio

42 CAPÍTULO 4. DISEÑO DE UNA UNIDAD DIDÁCTICA

Explicación del residuo de una división y la utilización del comando MOD en VisualBasic y el comando RESIDUO en Excel 2013.

Explicación de aritmética modular.

Revisión del capítulo 2 (Documentación) y del subcapítulo 2.5 (Cifrado de Vernam) eneste trabajo.

Revisión del capítulo 3 (Trabajo Matemático) y del subcapítulo 3.2 (Aritmética modu-lar) y 3.3 (Sistema Binario y operaciones)en este trabajo.

2. Esquema conceptual de partida.

Se les indicará el tema a tratarse y el objetivo de la clase, se explicará la técnica aaplicarse y la conformación de los grupos en su primera y segunda instancia, además,se procederá a entregar los temas para cada uno de los tres grupos de la primera ins-tancia, recalcando la responsabilidad que recae sobre cada uno de los estudiantes. Lostemas quedan de�nidos de la siguiente manera: Grupo 1 �Ejercicio del cifrado de Ver-nam, codi�car la palabra COLEGIO, con clave XAVIER�; Grupo 2 �codi�car la palabraEDUCACION con clave FEBRES�; y, Grupo 3 �codi�car la palabra CUENCA con cla-ve FIESTA�, los estudiantes estarán consientes de lo que van a exponer y lo que van aaprender de sus compañeros.

3. Construcción del conocimiento.

Se dará una breve explicación de los procesos para resolver los ejercicios en los distintoscasos propuestos de acuerdo al tema de la clase. Seguidamente, los estudiantes se dispon-drán de acuerdo a los grupos formados para la primera instancia procediendo a resolverlos ejercicios propuestos por el profesor entregados previamente en una hoja para cadauno de acuerdo al tema que les tocó, se entregará además, el contenido cientí�co a cadaestudiante. Posterior a este proceso, se reunirán para la segunda instancia, en dondedeberán exponer lo que han descubierto a sus compañeros mediante la exposición delos ejercicios resueltos y sus respectivos procedimientos, los alumnos podrán entoncesanalizar las exposiciones y sacar sus propias conclusiones. Durante las dos instancias elprofesor vigilará el proceso y salvará cualquier inquietud de manera general o personalde acuerdo al caso.

4. Transferencia del conocimiento.

Los estudiantes tomarán sus puestos habituales y de disponer del tiempo necesario,procederán voluntariamente a resolver ejercicios en la pizarra, en donde se pondrá demani�esto lo aprendido, además, se enviará tarea para la casa.

4.3.3. Recursos.

1. Recursos materiales.

Laboratorio de computación.

Proyector.

Memorias �ash.

Page 43: Aprender Criptografía para el Colegio

4.3. UNIDADDIDÁCTICA, REALIZACIÓN DE PROGRAMA ENVISUAL BASIC PARA CODIFICAR UNMENSAJE UTILIZANDO EL CIFRADODE VERNAM.43

Computadores con software o�mático y software de programación lenguaje Visual Basic.

2. Recursos relacionados con el proceso.

Ejercicios de acuerdo al tema propuestos por el docente, como operaciones aritméticasmatemáticas e identi�cación correcta de sus partes.

Método aplicado el heurístico con la técnica de la rejilla.

Procedimientos: observación, análisis, síntesis.

Formas aplicadas: expositiva � interrogativa.

Modos: simultáneo - individual.

3. Recursos humanos.

Evaluador.

Docente.

Estudiantes.

4.3.4. Evaluación y programa �nal.

1. Técnica: observación, resolución de ejercicios, exposición.

2. Instrumento: ejercicios relacionados con los prerrequisitos y al tema propuesto para la clase.

3. Indicador de logro:

Discrimina los tipos de ejercicios de acuerdo a los subtemas planteados.

Resuelve acertadamente los ejercicios propuestos por el profesor.

Muestra con�anza al resolver los ejercicios en la pizarra.

Desarrolla el programa en visual basic, maneja las herramientas de depuración y pro-gramación.

Resvisión del programa en correcto funcionamiento.

Código fuente del programa desarrollado en Visual Basic:

• En la siguiente �gura (4.10) se muestra pantalla del programa en funcionamientocon el cifrado de Vernam.

• En la siguiente �gura (4.11) se muestra el código fuente del programa cifrado deVernam.

NOTA: En este ejercicio práctico se utilizó el cifrado de Vernam con MOD 26, se aplica el mismoconcepto del cifrado utilizando código Binario o MOD 2 y la operación XOR, explicados en elcapítulo 3 del trabajo matemático.

Page 44: Aprender Criptografía para el Colegio

44 CAPÍTULO 4. DISEÑO DE UNA UNIDAD DIDÁCTICA

Figura 4.10: Pantalla del programa en funcionamiento, cifra la palabra COLEGIO con la palabraclave XAVIER, utilizando Vernam.

Figura 4.11: Código fuente del cifrado de Vernam.

Page 45: Aprender Criptografía para el Colegio

5. Anexos

5.1. Programa Números Primos

En este enlace puede encontrar los formularios, imágenes y código fuente del ejercicio explicadoen el capítulo anterior.

https://drive.google.com/folderview?id=0B6mYejWQoqFnaDRzUHNLM05tSVE&usp=sharing

5.2. Programa Cifrado del César

En este enlace puede encontrar los formularios, imágenes y código fuente del ejercicio explicadoen el capítulo anterior.

https://drive.google.com/folderview?id=0B6mYejWQoqFnSFFJSzE1Y19OTG8&usp=sharing

5.3. Programa Cifrado de Vernam

En este enlace puede encontrar los formularios, imágenes y código fuente del ejercicio explicadoen el capítulo anterior.

https://drive.google.com/folderview?id=0B6mYejWQoqFnTGZGQkdzYmdoajQ&usp=sharing

45

Page 46: Aprender Criptografía para el Colegio

46 CAPÍTULO 5. ANEXOS

Page 47: Aprender Criptografía para el Colegio

Bibliografía

[1] Universidad Nacional Autónoma de México, Fundamentos de Criptografía,www.redyseguridad.�-p.unam.mx.

[2] Christian Guitierrez, Analisis de frecuencia (proyecto), https://d14m4nt3.wordpress.com/.

[3] Khan Academy, Un viaje por la criptografía, https://es.khanacademy.org/computing/computer-science/cryptography.

47