Secuencia Didáctica 3

Criptografía y Teoría de Números

Una aplicación de teoría de números orientada al cifrado y descifrado de información con el algoritmo RSA.

Detalles de la Unidad

Asignatura: Matemáticas Discretas
Unidad Temática: Unidad 3: Teoría elemental de números y métodos de demostración
Subtemas: 3.1 Divisores | 3.2 Representación de enteros y algoritmos enteros | 3.3 Algoritmo Euclidiano | 3.4 Sistema criptográfico de llave pública RSA
Rol de la Inteligencia Artificial Generativa (IAG): El alumno utilizará a la Inteligencia Artificial Generativa como recurso inicial de referencia en el desarrollo del proyecto.

Actividad 1: Conceptos Matemáticos

Objetivo: El alumno comprenderá los conceptos básicos de teoría de números para el cifrado moderno.

Modalidad: Trabajo en equipos de 5 personas.

Entregable (Producto): Infografía conceptual.

Recursos: Libro de texto base: Johnsonbaugh, R. (2005). Matemáticas Discretas (6ª edición). Pearson.

Indicaciones paso a paso

  1. Recuperación de saberes previos: Responder por escrito a las siguientes preguntas a partir de sus conocimientos previos:
    • ¿Qué son los números enteros?
    • ¿Qué es un número primo?
    • ¿Qué es el mínimo común múltiplo?
    • ¿Qué es el máximo común divisor?
  2. Lectura colaborativa: En equipo, realizar de forma colaborativa la lectura de la sección 5.1 del libro de texto base, enfocada en divisores y números enteros. Anotar las dudas teóricas.
  3. Discusión grupal: Comentar en plenaria grupal guiada por el profesor las dudas surgidas y establecer las ideas clave sobre algoritmos enteros.
  4. Diseño de Infografía: Realizar como tarea grupal una infografía que resuma los conceptos principales, propiedades y fórmulas clave explicadas en las secciones 5.1, 5.2 y 5.3 del libro de texto.

Actividad 2: Desarrollo del Proyecto

Objetivo: El alumno aplicará los conceptos básicos de teoría de números en la programación de un algoritmo de criptografía moderno.

Modalidad: Trabajo en equipos de 5 personas.

Entregable (Producto): Reporte de investigación escrito y código fuente del programa.

Recursos: ChatGPT (u otra IAG de referencia).

Indicaciones paso a paso

  1. IA como recurso inicial de referencia: Realizar consultas a ChatGPT para comprender la base teórica del algoritmo RSA. Tomar notas de la interacción (preguntas y respuestas).
    Ejemplos de consultas recomendadas: - "Explica brevemente el funcionamiento del algoritmo RSA."
    - "¿Qué conceptos previos necesito para entender el algoritmo RSA?"
    - "¿En qué lenguaje de programación me conviene implementar este algoritmo?"
  2. Investigación en fuentes académicas: Validar y profundizar en la teoría del Algoritmo RSA recurriendo a fuentes académicas confiables. El uso de la IA es únicamente orientativo para el inicio.
  3. Programando el algoritmo RSA: Implementar el sistema criptográfico de llave pública RSA en el lenguaje de programación que prefieran. Debe permitir cifrar y descifrar una cadena de texto.
    Ejemplo de salida en consola del programa:
    Mensaje original: Hola mundo
    Claves generadas (p, q): 61, 53
    Llave pública (e, n): 17, 3233
    Llave privada (d, n): 2753, 3233
    Mensaje cifrado: 3000, 1047, 1698, 2038, 1421...
    Mensaje descifrado: Hola mundo

Actividad de Aprendizaje Sugerida

Ejercicio Interactivo

Selecciona dos números primos pequeños, genera la base matemática del cifrado RSA y encripta un mensaje numérico.