Cuando enseño Matemática discreta I en UT Dallas, aproximadamente un tercio del semestre, llegamos al tema de la teoría de números. Paso alrededor de 6 clases sobre el tema, y luego los estudiantes tienen suficientes conocimientos matemáticos necesarios para comprender el Criptosistema RSA.
Luego revisamos las matemáticas para calcular un par de claves públicas / privadas RSA, y luego cómo cifrar y descifrar mensajes usando RSA. Encontrar dos primos muy grandes, digamos dos primos de 1024 bits, inicia el proceso.
Realmente hacemos esto a mano usando números primos muy pequeños, y revisamos las matemáticas paso a paso. Más tarde, los estudiantes pueden escribir un programa, decir en Java usando la clase BigInteger, y crear sus propios pares de claves públicas y privadas. Si comienzan con dos primos de 1024 bits, nadie en el mundo, ni siquiera la Agencia de Seguridad Nacional, podrá descifrar sus mensajes cifrados.
- Quiero aprender más sobre algoritmos, pero no sé por dónde empezar. ¿Me puede dar algunas instrucciones o consejos? Gracias.
- ¿Cuál es la principal ventaja de utilizar la búsqueda de profundización iterativa en comparación con la búsqueda de amplitud primero?
- ¿Podemos decir que el Aprendizaje automático es nuestro compromiso para los problemas para los que no pudimos encontrar algoritmos? Argumentos
- ¿Cómo y dónde recopilar datos estadísticos sobre el comercio algorítmico?
- ¿En qué paso de la prueba del algoritmo de Dijkstra utilizamos el hecho crucial de que los bordes no son negativos?
Obviamente, no puedo escribir horas de matemáticas aquí, pero mis alumnos realmente disfrutan esta parte del curso.
Si desea un recurso, lea el capítulo 4 del libro de Matemáticas discretas de Rosen, 7ª edición. Puede encontrar el libro en Amazon en:
https://www.amazon.com/Discrete-…
Es un buen libro, pero, francamente, aprenderá más en mi clase, por supuesto. Vamos a Dallas, ustedes.