Guías Académicas

CRIPTOGRAFÍA

CRIPTOGRAFÍA

GRADO EN INGENIERÍA INFORMÁTICA EN SISTEMAS DE INFORMACIÓN

Curso 2024/2025

1. Datos de la asignatura

(Fecha última modificación: 27-05-24 13:49)
Código
105935
Plan
ECTS
6.00
Carácter
OPTATIVA
Curso
3
Periodicidad
Segundo Semestre
Idioma
ESPAÑOL
Áreas
LENGUAJES Y SISTEMAS INFORMÁTICOS
MATEMÁTICA APLICADA
Departamentos
Informática y Automática
Matemática Aplicada
Plataforma Virtual

Campus Virtual de la Universidad de Salamanca

http://portalevlm.usal.es/

Datos del profesorado

Profesor/Profesora
Susana Nieto Isidro
Grupo/s
1
Centro
E. Politécnica Superior de Zamora
Departamento
Matemática Aplicada
Área
Matemática Aplicada
Despacho
Despacho 213. Edificio Politécnica
Horario de tutorías
Lunes: 10:00 a 10:30
Martes: 15:00 a 20:00
Jueves: 09:30 a 10:00
Despacho 213. Edificio Politécnica
URL Web
-
E-mail
sni@usal.es
Teléfono
-
Profesor/Profesora
Hernando Silva Varela
Grupo/s
1
Centro
E. Politécnica Superior de Zamora
Departamento
Informática y Automática
Área
Lenguajes y Sistemas Informáticos
Despacho
Despacho 122 / 234. Edificio Administrativo
Horario de tutorías
Lunes: 12:00 - 13:00 y 16:00 - 17:00
Martes: 11:00 - 12:00
Jueves: 11:00 - 14:00
Despacho 234. Edificio Administrativo
URL Web
http://web.usal.es/hernando/
E-mail
hernando@usal.es
Teléfono
923294500 Ext. 3701 / 3706

2. Recomendaciones previas

Es conveniente haber alcanzado las competencias correspondientes a las asignaturas con contenido matemático previas. Concretamente, es conveniente haber seguido las asignaturas de Fundamentos de Matemáticas I, Fundamentos de Matemáticas II y Matemática Discreta. Es conveniente, además, ser hábil es aspectos esenciales de la programación.

3. Objetivos

Hacer que el estudiante profundice en el conocimiento de las técnicas criptográficas.

Dar al estudiante una base de conocimiento más amplia de la seguridad informática.

Aplicar conocimientos adquiridos previamente en otras asignaturas..

Dar al alumno la capacidad de relacionar conceptos, conocimientos e información de materias y asignaturas afines.

Adquirir capacidad de organización, planificación del trabajo, análisis, crítica, síntesis y trabajo en individual y en equipo.

Desarrollar  capacidades  de  comunicación  oral  y  escrita  de  conocimientos,  ideas, procedimientos, experiencias, resultados.

Fomentar el trabajo autónomo, el análisis, la autocrítica y la toma de decisiones

4. Competencias a adquirir | Resultados de Aprendizaje

Específicas | Habilidades.

CA03. Capacidad para comprender y aplicar los fundamentos teóricos y prácticos asociados a los mecanismos utilizados para dotar de seguridad a los sistemas informáticos.

Transversales | Competencias.

CT01. Capacidad de organización, gestión y planificación del trabajo.

CT02. Capacidad de análisis, crítica y síntesis.

CT03. Capacidad para relacionar y gestionar diversas informaciones e integrar conocimientos e ideas.

CT05. Capacidad de toma de decisiones.

CT09. Capacidad de comunicación, tanto oral como escrita, de conocimientos, ideas, procedimientos, y resultados, en lengua nativa.

CT10. Capacidad de integración en grupos de trabajo unidisciplinares o multidisciplinares.

CT11. Aprendizaje autónomo.

5. Contenidos

Teoría.

Tema 1: Introducción a la Criptografía:

Elementos de un sistema criptográfico, procesos criptográficos, criptosistemas y sus características. Introducción a la seguridad criptográfica. Posibles clasificaciones de las técnicas criptográficas

 

Tema 2: Fundamentos Matemáticos:

Números primos, factorización de un número. Algoritmo de Euclides Extendido. Primos seguros y primos fuertes.

Aritmética modular, inverso de una congruencia, grupo de las unidades de Zm, grupos cíclicos, generadores. Restos cuadráticos, Símbolos de Legendre y Jacobi. Teorema de Euler y pequeño Teorema de Fermat. Pruebas de primalidad y generación de números primos. Teorema chino del resto.

 

Tema 3: Criptografía Clásica

Cifrados por transposición. Desórdenes. Ejemplos históricos.

Cifrados por sustitución monoalfabéticos: sustituciones monográmicas y poligrámicas. Ejemplos históricos. Criptoanálisis de las sustituciones monoalfabéticas. Análisis de frecuencias.

Cifrados por sustitución polialfabéticos: ejemplos históricos. Criptoanálisis de los cifrados polialfabéticos. El método de Kasiski, índice de coincidencia. Rotores y máquinas de cifrado.

 

Tema 4: Esteganografía

Elementos de un sistema esteganográfico, procesos esteganográficos, estegosistemas y sus características. Posibles clasificaciones de las técnicas esteganográficas. Desarrollo histórico de la Esteganografía. Esteganografía digital, esteganografía en imágenes, Least Significant Bit (LSB). Marcas de agua vs. Esteganografía

 

Tema 5: Introducción a la Criptografía Moderna

Teoría de la información de Shannon: cantidad de información, unidad de información, entropía, ratio absoluta y ratio real del lenguaje, redundancia del lenguaje. Difusión y confusión. Condiciones de secreto perfecto, información mutua y distancia de unicidad. Teoría de la complejidad computacional.

 

Tema 6: Criptosistemas de clave secreta

Cifrados en flujo, cifrado de Vernam. Requisitos de las secuencias cifrantes. Generadores de secuencias pseudoaleatorias. Complejidad lineal. Sistema RC4.

Cifrados en bloque. Redes de Feistel. El criptosistema DES. Otros cifrados de bloque: Triple DES, AES.

 

Tema 7: Criptografía de clave pública

Protocolo de intercambio de clave de Diffie-Hellman. El criptosistema de ElGamal. El criptosistema RSA: elección de parámetros, mensajes inocultables, claves parejas. Criptosistema de Rabin. Curvas elípticas y su aplicación a la criptografía de clave pública. Teorema chino del resto y RSA.

 

Tema 8: Firma digital y Funciones Hash

Esquemas de firma digital. Firma digital RSA, firma digital ElGamal, otras firmas digitales. Funciones hash. Función MD5 y funciones SHA. Esquemas de certificación digital.

Práctica.

En las primeras prácticas el alumno irá construyendo, en lenguaje C, una serie de herramientas con las que formará una biblioteca de funciones que le facilitarán el desarrollo de prácticas posteriores.

 

BLOQUE 1: Operaciones en congruencias, división módulo n, algoritmo de Euclides, algoritmo extendido de Euclides, criba de Eratóstenes, factorización por fuerza bruta, exponenciación módulo n.

 

BLOQUE 2: Generación de números aleatorios, pruebas de primalidad, algoritmo de Miller-Rabin, generación de números primos fuertes, algoritmo de Gordon.

 

BLOQUE 3: Algoritmos de criptografía clásica. Análisis de frecuencias, cifrado polialfabético, criptoanálisis.

 

BLOQUE 4: Esteganografía con imágenes.

 

BLOQUE 5: Cálculo de raíces primitivas, Símbolo de Legendre, Símbolo de Jacobi, Teorema chino de los restos.

 

BLOQUE 6: Criptografía de clave secreta (simétrica). Cifrado DES, cifrado AES.

 

BLOQUE 7: Criptografía de clave pública. Algoritmo de intercambio de claves de Diffie-Hellman, algoritmo de Pohlig-Hellman, sistema RSA optimizado, cifrado ElGamal.

 

BLOQUE 8: Firma digital y funciones resumen.

6. Metodologías Docentes

En la parte teórica de la asignatura se exponen los fundamentos teóricos necesarios para una correcta comprensión de los diferentes algoritmos y criptosistemas analizados. La mayoría de las actividades realizadas en el aula son de carácter práctico, con la resolución de problemas que permitan adquirir las competencias fijadas para esta asignatura.

 

Un apartado importante en esta asignatura lo constituyen las prácticas de laboratorio usando, entre otros, el paquete Mathematica y lenguajes de programación como C. Estas prácticas se realizan en grupos medianos (dependiendo de la capacidad del aula asignada), aunque la formación se completa con el trabajo individual de los alumnos.

 

En consecuencia, las actividades presenciales de los alumnos se orientan a la compresión de los conocimientos básicos que permitan abordar la resolución de problemas y a la utilización de un software matemático avanzado que les permita abordar cálculos complicados, además de implementar soluciones mediante software a los problemas planteados.

 

Los materiales docentes estarán a disposición de los alumnos a través de la plataforma Studium de la Universidad de Salamanca, y los/as estudiantes dispondrán de un amplio horario de atención por parte de los profesores de la asignatura para la resolución de dudas y la realización de tutorías individuales o en pequeños grupos.

7. Distribución de las Metodologías Docentes

8. Recursos

Libros de consulta para el alumno.

Fúster, A., de la Guía, D., Hernández, L., Montoya, F., & Muñoz, J. (2004). Técnicas criptográficas de protección de datos. RA-MA Editorial.

Durán, R., Hernández, L., Muñoz, J. (2005). El criptosistema RSA. RA-MA Editorial.

Menezes, A.J., Van Oorschot, P.C., Vanstone, S.A. (2018). Handbook of Applied Cryptography. CRC press.

Otras referencias bibliográficas, electrónicas o cualquier otro tipo de recurso.

Schneier, B. (2007). Applied cryptography: protocols, algorithms, and source code in C. John Wiley & Sons.

Kernighan, B W., Ritchie, D.M. (1991). El lenguaje de programación C, segunda edición. Prentice-Hall Hispanoamericana.

9. Evaluación

Criterios de evaluación.

Se valorará la utilización de las técnicas adecuadas para resolver los problemas planteados. También se valorará la claridad y rigor de las argumentaciones realizadas.

La participación activa en clase, la asistencia a las actividades complementarias reflejadas en los apartados Tutorías y Actividades de seguimiento online y los trabajos entregados por los alumnos serán evaluados y constituirán hasta un 80% de la calificación final. Estos trabajos hacen referencia a la resolución de problemas y a la realización de las prácticas en las aulas de Informática.

No se tendrán en cuenta los errores de cálculo salvo que sean repetidos e impidan la correcta interpretación de los problemas a resolver.

Sistemas de evaluación.

La parte teórica de la asignatura está dividida en dos parciales, el primero de ellos correspondiente a los temas del 1 al 4 y el segundo correspondiente a los temas del 5 al 8. En cada parcial el 60% de la nota corresponde a la resolución y entrega individual de 3 problemas propuestos y el 40% corresponde a la realización de un examen presencial en el que se permite el uso de material de apoyo (apuntes, portátil, tabletas, calculadoras, etc.). No es necesario aprobar cada parcial por separado. La nota final de la parte teórica será la media de la nota de los dos parciales.

 

Una vez finalizado el cuatrimestre, cada estudiante tendrá una nota de la parte teórica, que será la media de las notas obtenidas en ambos parciales, y una nota de la parte práctica; ambas notas se promediarán para obtener la nota final de la asignatura. No es necesario aprobar la parte teórica y la parte práctica por separado, basta con que el promedio de ambas partes permita aprobar la asignatura.

 

Para los/as estudiantes que no superen la asignatura a lo largo del curso, el procedimiento de recuperación puede incluir la realización de exámenes presenciales en las fechas previstas por el Centro y/o la realización de las prácticas o problemas propuestos que determinen los profesores, en función de cada caso particular (ver apartado “Recomendaciones para la recuperación”).

 

La no realización de la mitad de los problemas propuestos durante el curso, la no realización de la mitad de las prácticas propuestas durante el curso, o la no realización de las pruebas de recuperación, supondrá la calificación de “No Presentado” en el acta correspondiente.

Recomendaciones para la evaluación.

Realizar durante las horas de trabajo autónomo de los alumnos las actividades sugeridas por el profesor en el aula.

Asistir a clase y utilizar las tutorías es una actividad fundamental para el correcto seguimiento de la asignatura.