¿Quieres entender por qué los algoritmos criptográficos pueden prometer seguridad? Todos están basados en operaciones matemáticas, problemas difíciles de resolver, probabilidad y estadística.

Veamos un plan de estudios de matemáticas que podrías usar para adquirir las habilidades matemáticas necesarias para entender mejor los algoritmos criptográficos.

Básico básico

Empecemos por los fundamentos más profundos que debes tener, que hasta pueden parecer obvios. Lo importante es que tengas la seguridad de que los dominas y si no, te proporcionamos algunos recursos para que los repases.

Álgebra

Es necesario conocer los procedimientos algebraicos a fondo porque en esto se basa la resolución de problemas de muchas otras áreas. Además la factorización es uno de los problemas más importantes de la criptografía actual, y aquí es donde aprenderás el concepto básico en práctica. Si sientes que te falta aprender un poco, puedes tomar estos cursos:

Probabilidad y estadística

Siempre que hablamos de que un algoritmo es seguro, lo decimos basados en la probabilidad de que alguien pueda encontrar una solución a un problema muy difícil en un número de intentos razonable.

Por ejemplo: confiamos en que la probabilidad de que alguien rompa un cifrado es cercana a cero, pero realmente esta probabilidad nunca es cero absoluto, sino algo como 1/2^128 por intento, pero alguien motivado podría hacer miles de millones de intentos. Para poder calcular estas probabilidades hay que entender lo básico de probabilidad y estadística.

La probabilidad también te ayudará a entender lo que es una distribución de probabilidad, que es muy importante tanto para atacar algoritmos criptográficos como para verificar que las salidas de estos son seguras.

Puedes aprender un poco de esto en los siguientes cursos:

Matemáticas discretas

Me atrevería a decir que esta es la rama más importante de matemáticas que debes de conocer como programador y como criptógrafo. La mayoría de los operaciones criptográficas y de algoritmos de programación están basadas en el conocimiento que aprenderás aquí. Ya hemos mencionado que las matemáticas discretas son el estudio de las cosas que se pueden contar, sean finitas o infinitas, a diferencia de las matemáticas continuas que estudian los números reales o cosas que son continuas, incontables y sin divisiones claras.

A continuación te listamos algunos de los temas que debes dominar o por lo menos conocer bien.

Lógica

La lógica tiene la intención de formalizar el razonamiento de tal manera que lo podamos estudiar, entender y aplicar a otras áreas.

En este tema se habla de cosas como tablas de verdad, lógica proposicional, deducción, teorías y lógica de primer orden, etc.

Teoría de números

La teoría de números trata acerca de los números enteros, sus propiedades, operaciones y relaciones. Esta es la base de varios problemas difíciles que sirven para crear los algoritmos criptográficos modernos. En esta rama se estudia la divisibilidad, los números primos, la aritmética modular y los algoritmos relacionados con estas operaciones.

Si no vas a estudiar nada más, entender los temas de un curso de teoría de números enfocado en criptografía es suficiente para no sentirte sin rumbo. Estos cursos pueden ayudarte a aprender lo que necesitas:

Combinatoria

Esta sub-rama de las matemáticas discretas tiene que ver con el conteo, combinaciones y arreglos de objetos en estructuras discretas (con objetos claramente separados) como los grafos y conjuntos. Normalmente estas estructuras discretas contienen números, pero podrían contener palabras, textos, frases. La combinatoria incluye el conteo de objetos y combinaciones que llevamos a a cabo en probabilidad y estadística: las operaciones de combinación y permutación.

Algunos recursos que te ayudarán a aprender combinatoria a fondo se encuentran aquí: Combinatorics and Discrete Mathematics que tiene un conjunto de libros sobre combinatoria con diferentes enfoques.

Cursos de matemáticas discretas generales

Algunos cursos y temarios que puedes tomar son:

Geometría analítica

Conocer las propiedades matemáticas de los objetos geométricos te ayudará a comprender intuitivamente algunas de los problemas difíciles en los que está basada la criptografía.

Algunos cursos que puedes tomar:

Álgebra lineal

El álgebra lineal tiene que ver con el estudio de ecuaciones lineales (que pueden ser graficadas en el plano cartesiano con una recta), sus soluciones y su tratamiento a través de vectores y matrices.

Muchas de las técnicas utilizadas en álgebra lineal son ocupadas en criptografía para crear algoritmos seguros que sean imposibles de revertir sin conocer la llave correcta. Un ejemplo es el algoritmo Rijndael, el actual AES.

Algunos recursos que te ayudarána a aprender matemáticas discretas son:

Opcionales

Si quieres avanzar a campos muy adelantados de la criptografía, debes estudias campos aún más específicos de las matemáticas discretas como:

  • Teoría de grupos
  • Teoría de grafos
  • Retículas (algo muy importante para la criptografía post-cuántica)

Cursos completos

Para finalizar, te quiero presentar recursos que tienen un conjunto completo básico de todas las matemáticas necesarias para entender los algoritmos criptográficos modernos.

Bonus: Cryptogaphy, Boolean Functions and related problems

Conclusión

Como podrás observar, hay una gran cantidad de recursos para aprender lo necesario para entender la criptografía a fondo, desde sus bases matemáticas. Puedes usar estas recomendaciones como guía, o ver los temas y buscar tus propios recursos para seguir aprendiendo. Si tienes alguna recomendación no dudes en compartirla con nosotros para poder actualizar nuestra lista y cada vez hacerla mejor.

Comentar