
¿Cuánto es ? Le preguntamos esto a alguien de primero básico y nos dirá que 2. Si me preguntas a mí, yo te respondería que depende.
Nuestra intuición nos dice que si comenzamos a sumar tantas veces como se nos ocurra, el resultado será un número cada vez mayor. Esa misma intuición también estalla si vemos escrito
Enteros módulo
¿Qué pasa cuando este número representa, por ejemplo, las horas del reloj? Si a las 21:00 horas le sumas 4 horas, la respuesta será la 01:00 am. Esto ocurre porque estamos en un sistema de numeración distinto, que solo considera 24 números entre 0 y 23; luego, si sumo dos de ellos, esperaría que el resultado siguiera ahí. ¿Cómo podemos justificar que Para formalizar este concepto matemáticamente, definimos lo siguiente:

Sean y números enteros, con . Decimos que es congruente a módulo n y lo denotamos por:
si es el resto de dividir por .1
Por ejemplo, (basta dividir 28 en 5 y ver cuánto «sobra»).
En este conjunto podemos hacer todas las «operaciones básicas» que realizamos en los enteros, y al resultado obtenido aplicarle reducción modular. Por ejemplo:
Con esta notación, podemos escribir entonces que sin ambigüedad. El concepto de congruencias fue introducido por el matemático alemán Carl Friedrich Gauss en su obra Disquisitiones Arithmeticae (1801) cuando tenía 24 años.

La teoría de congruencias se refiere a la «aritmética de los residuos». Gauss lo definió inicialmente de esta manera:
«Si dos enteros y están a distancias múltiplo de n,diremos que y son congruentes».
Cuando consideramos a los números enteros dotados de sus operaciones, escribimos formalmente y diremos que es un anillo.

Aquí podemos hacer de todo, salvo «dividir» (aunque esta operación en lo formal no existe). Si ahora nos movemos a congruencias módulo , usaremos esta notación: .
Vamos un poco más allá con las operaciones. Cuando es un número primo, escribiremos . En se puede dividir, es decir, para todo elemento , distinto de cero, existe un cierto tal que . Cuando esto pasa, decimos que el conjunto con sus operaciones es un cuerpo. De hecho, es un cuerpo finito, pues tiene finitos elementos. Usaremos la notación para este conjunto. Para las demostraciones y otras propiedades de esos conjuntos, ver Burton 2.
Cuerpos Finitos
¿Son todos los cuerpos finitos como para algún primo?
Hay más cuerpos finitos que , pero todos tienen una estructura similar.
Afirmación importante: Todo cuerpo finito tiene elementos, para algún primo y Veamos cómo construirlos.
Supongamos Consideramos un polinomio mónico e irreducible 3 , con . Al ser irreducible, no tiene raíces en Construimos el siguiente conjunto:
donde verifica que. Si asumimos que está fijo, es posible contar a mano cuántos elementos hay en . Hay exactamente elementos, que es la cantidad de combinaciones que se pueden hacer. ¡Lo más interesante es que este conjunto es un cuerpo!
Se puede demostrar que si cambiamos el polinomio (y por ende ), el cuerpo que obtenemos es el mismo desde el punto de vista del álgebra (son isomorfos4).
En general, podemos decir lo siguiente: si , con es un polinomio irreducible y verifica que , entonces
es un cuerpo de elementos. Dada la unicidad de la que hablamos antes, denotamos por a este cuerpo.
Cuerpos Finitos en Criptografía
No se puede comprender casi ningún protocolo criptográfico sin entender antes la aritmética de cuerpos finitos.
Cifrado del César: Este es uno de los ejemplos más clásicos (y lo vimos en el post anterior!) Julio César enviaba mensajes a sus generales desplazando las letras del alfabeto. Si asignamos un número a cada letra :
podemos usar la aritmética módulo 27 (considerando la Ñ). Para cifrar una letra con una clave secreta (el número de desplazamientos), simplemente sumamos:
Para descifrar, hacemos la operación inversa. Probablemente los romanos usaron aritmética modular sin saberlo.
Cuerpos binarios y el protocolo AES: Uno de los principales cifrados simétricos utilizados hoy es AES (Advanced Encryption Standard). La unidad básica de procesamiento es el byte (8 bits). Cada byte puede identificarse con un elemento en el cuerpo finito de 256 elementos: (también denotado como Galois Field ).
Aritmética en el cuerpo finito
Matemáticamente, el cuerpo finito se construye de tal forma que los bytes no se tratan como números, sino como vectores. Los elementos de este cuerpo se representan mediante una base polinómica
donde cada byte se asocia biunívocamente con el polinomio:
Las operaciones binarias fundamentales se definen de la siguiente manera:
Adición
La adición de dos elementos es la suma usual de polinomios con coeficientes en (aritmética módulo 2):
Dado que en la suma es equivalente a la operación lógica (1+1=0), la adición es una operación bastante rápida en un procesador.
Multiplicación
La multiplicación, denotada por , se define como el producto algebraico de los polinomios, al que después se reduce módulo un polinomio irreducible fijo:
con .
Esta reducción modular es la que garantiza que el resultado se mantenga dentro del cuerpo, es decir, con un grado estrictamente menor a 8. Para profundizar, ver el libro 5
Para ilustrar esto, sean dos elementos del cuerpo definidos por:
La suma se realiza sumando los coeficientes de las potencias correspondientes módulo 2:
Observe que los términos se cancelan mutuamente ().
Para el producto, consideremos multiplicar por un nuevo polinomio. Utilizando la propiedad distributiva en el anillo:
Calculamos los términos individuales aplicando la reducción módulo cuando el grado es mayor o igual a 8.
Finalmente, sumamos estos resultados parciales (módulo 2):
Los términos constantes 1+1 se anulan, al igual que otros pares internos. Este polinomio resultante corresponde a la escritura binaria .
Veremos en otros posts que, además de los cuerpos binarios, en criptografía se utilizan cuerpos finitos con siendo primos de 256 bits (por ejemplo, ). Ciertamente estos cuerpos tienen finitos elementos, ¡pero no pocos!
- Otra forma de definirlo es que ↩︎
- Burton, David M. Elementary Number Theory. 6th ed., McGraw-Hill, 2007 ↩︎
- Un polinomio irreducible (sobre un cuerpo) no se puede factorizar como producto de otros de menor grado. Esto implica. Ser mónico significa que el coeficiente del término de mayor grado es 1. ↩︎
- Que dos estructuras sean isomorfas significa que existe una función biyectiva entre ambas que preserva su estructura, en este caso, sus operaciones. En matemáticas usualmente tratamos a los objetos isomorfos como iguales, en cierto sentido. ↩︎
- Smart, N. P. Cryptography Made Simple. Springer International Publishing (2016) ↩︎







Deja un comentario