 Casi todos los algoritmos relacionados con la criptografía, como la mayoría que presentaremos en este curso, están basados en aritmética con un conjunto finito de elementos. La aritmética modular permite trasladar el concepto de infinito, como el de los conjuntos numéricos con los que trabajamos en el módulo 1, a un conjunto finito de elementos. A continuación, introduciremos el conjunto de los enteros módulo m. Y comenzaremos con un ejemplo sencillo que utilizamos constantemente en nuestro día a día, el que se acostumbra a llamar aritmética del reloj. Cuando a las 11 de la mañana se le agregan 2 horas, se llega a la 1 de la tarde. En cierta manera estamos diciendo que 12 más 2 vale 1. Y si son las 3 de la tarde, pero hace 5 horas que comenzamos una cierta actividad, querrá decir que comenzamos a las 10 de la mañana. Esto quiere decir, en cierta manera, que 3 menos 5 son 10. Y así vamos añadiendo o quitando horas, pero nunca nos movemos del conjunto 0, 1, 2, hasta 11 horas. Otro ejemplo sería el de los días de la semana. Así, añadiendo días pasamos de lunes a martes, de martes a miércoles y así sucesivamente. Y cuando llegamos al domingo, volvemos a empezar por el lunes de nuevo. Y así vamos añadiendo días y días, pero nunca nos movemos del conjunto de días de la semana. O lo que es lo mismo dentro de este conjunto si asignamos un número a cada uno de los días de la semana. Observemos que si pintamos cada día con un color distinto, los lunes de rojo, los martes de naranja, los miércoles de amarillo y así sucesivamente, lo que estamos haciendo es dividir el conjunto de todos los días en 7 conjuntos diferentes. Así pues el conjunto de todos los días de la semana ha resultado ser la unión disjunta del subconjunto de todos los lunes, todos los martes y así hasta todos los domingos. Notaremos de esta manera a la unión disjunta. Ahora, en lugar de 7, supondremos un entero M mayor que 1 y nos olvidaremos de las semanas para considerar los números enteros. Nuestro objetivo será clasificar los enteros en M subconjuntos diferentes. El primer conjunto será el de los múltiplos de M. El segundo será el de aquellos enteros cuyo resto al realizar la división con M es 1. El tercero es el de los enteros con resto 2 en la división por M y así sucesivamente. El primer conjunto de hecho lo podríamos haber considerado como el conjunto de enteros cuyo resto en la división por M estero. Así pues observamos que simplemente calculando la división entera podemos saber en qué conjunto estará nuestro entero M. Perdón, nuestro estero A. Así, si consideramos por ejemplo M igual a 5 y A 21, observamos que al realizar la división entera sabremos que 1 es el resto correspondiente. Matemáticamente lo que hacemos es definir una clase de equivalencia y considerar el conjunto de sus clases. Pero para comenzar en este curso nos conformaremos si trabajáis y operáis cómodamente con estos elementos, los elementos m. Encontraréis más información en el apartado para saber más. Veamos un par de ejemplos. Si M vale 2, el conjunto de los enteros se divide en estos dos conjuntos disjuntos. Observar que son el de los pares y el de los impares. Y recordad que los podíamos escribir de esta manera más compacta. De la misma manera, si M vale 3, el conjunto de los enteros lo podemos representar en estos tres conjuntos disjuntos. Será la unión de ellos 3. También podemos notarlos de esta de esta manera. Definamos a continuación el concepto de congruencia. Da un entero M mayor que 1 y A y B enteros, diremos que A y B son equivalentes m, si tienen el mismo resto al realizar la división entera por M. Lo notaremos de esta manera. Y en ocasiones no solo diremos que son equivalentes, sino también solemos decir que son congruentes m. Equivalentemente, diremos que A y B son congruentes, si su diferencia es un m. Veamos a continuación la equivalencia. Para ver la equivalencia debemos probar que si A y B tienen el mismo resto, automáticamente A menos B es un m. Pero también el resultado recíproco. Esto es que si A menos B es un m, automáticamente la división entera de A y B por M tiene el mismo resto. Comencemos viendo si tiene el mismo resto, su diferencia es un m. Para ello, comencemos expresando A y B como la división entera de A y B por M. Puesto que tienen el mismo resto, si calculamos su diferencia, tendremos esto de aquí y observar que se eliminan las R con lo que nos podemos expresar como q1 menos q2 por M. Esto es, son un m. Probemos el resultado recíproco. Esto es que si A menos B es un m, automáticamente A y B tienen el mismo resto en la división entera por M. Comenzamos suponiendo que A menos B es un m, que podemos expresar por ejemplo así. Exprésemos la división entera de A y B por M. En un principio de R1 y R2 no tienen por qué ser iguales. Veamos que si A menos B es un m, automáticamente sí será el caso. Calculemos a partir de la expresión de A y B la diferencia. Y, observemos que lo podemos escribir de esta manera. Estamos suponiendo de que A menos B es un m, con lo cual R1 menos R2 deberá ser también un m. Pero si R1 y R2 es un m, y sabemos que son restos, automáticamente R1 menos R2 ha de ser 0. Puesto que al ser un resto de una división entera, sabemos que su valor estará entre 0 y m menos 1. Pero si R1 menos R2 es 0, forzosamente R1 es igual a R2. Por lo que concluimos la prueba de la equivalencia. Notaremos al conjunto de los enteros m de esta manera. Este conjunto solo tiene m elementos. Cada elemento de este conjunto es un subconjunto infinito de enteros que corresponden a todos los enteros que tienen el mismo resto al ser divididos por m, como ya vimos. Los enteros 0, 1, m menos 1 son los representantes de la clase. Y ninguno más al ser precisamente estos los posibles restos de la división entera por m. Aunque se podrían elegir otros, generalmente se elige este conjunto. Como notación, para denotar a los elementos de m, utilizaremos o bien a con una barra o bien la entre corchetes o simplemente la a si del propio contexto queda claro que estamos refiriéndonos a un elemento de zm. Cuando decimos calcular la clase de congruencia de un entero dado a módulo un m dado, debemos encontrar el único de los enteros de entre 0 a m menos 1 que es congruente con a módulo m. Esto no es otra cosa que calcular el resto de la división de a por m. Por ejemplo, vimos hace unos minutos al principio del vídeo que 21 en z módulo 5 era 1 con lo cual 21 es congruente a 1 módulo 5. Esta es la clase de congruencia de 21 módulo 5. De la misma manera, si consideramos y buscamos la clase de congruencia de m.24 módulo 7, debemos realizar la división entera y puesto que el resto es 3, diremos que m.24 es congruente a 3 módulo 7 o lo que es lo mismo, su clase de congruencia es 3. Y finalizamos proponiendo que para estos 3 enteros calculéis las clases de congruencia módulo 11. Hemos visto pues cómo son los enteros módulo m. Veremos más sobre ellos en los próximos vídeos, en especial sobre su estructura y cómo se opera con ellos.