CRIPTOGRAFÍA
GRADO EN INGENIERÍA INFORMÁTICA EN SISTEMAS DE INFORMACIÓN
Curso 2023/2024
1. Datos de la asignatura
(Fecha última modificación: 05-07-23 10:33)- 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
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
- Ver en : https://politecnicazamora.usal.es/estudiantes/#informacion-academica
- URL Web
- -
- 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
- Ver en : https://politecnicazamora.usal.es/estudiantes/#informacion-academica
- URL Web
- http://web.usal.es/hernando/
- hernando@usal.es
- Teléfono
- 923294500 Ext. 3701 / 3706
2. Sentido de la materia en el plan de estudios
Bloque formativo al que pertenece la materia.
Formación complementaria
Papel de la asignatura.
La asignatura está concebida para dar al estudiante una formación más amplia, profunda y complementaria de las técnicas criptográficas con el fin de dar a éste un bagaje de conocimiento que le permita abordar con más solidez aspectos importantes de la Seguridad Informática.
Perfil profesional.
El seguimiento correcto de esta asignatura permitirá alcanzar al alumnado una formación de indudable interés para su ejercicio profesional desde el punto de vista instrumental.
3. 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.
4. Objetivo de la asignatura
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
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. Competencias a adquirir
Específicas.
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.
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.
7. Metodologías
La metodología docente se enfoca a la resolución de problemas, aunque obviamente en las clases magistrales se exponen los fundamentos teóricos mínimos necesarios para una correcta comprensión de los diferentes algoritmos de resolución de problemas que se utilizan a lo largo del semestre.
En consecuencia, la mayoría de las actividades realizadas en el aula son de carácter práctico, con la resolución por parte del profesor y de los alumnos de numerosos 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 tal 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, aprovechando la licencia campus de Mathematica que la Universidad de Salamanca tiene.
En consecuencia, las actividades presenciales de los alumnos se orientan a 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 están a disposición de los alumnos a través del portal http://portalevlm.usal.es/ fruto esencial del proyecto europeo EVLM, y de la plataforma Studium de la Universidad de Salamanca.
Los alumnos han de elaborar, individualmente y en grupos muy reducidos, una serie de trabajos que permitan su evaluación así como al menos dos exámenes presenciales en horas de clase. La metodología docente se completa con un horario muy amplio de atención al alumno mediante las tutorías diseñadas a través del Centro de Matemáticas y la Escuela Politécnica Superior de Zamora.
8. Previsión de Técnicas (Estrategias) Docentes
9. Recursos
Libros de consulta para el alumno.
Schneier, Bruce, «Applied Cryptography: Protocols, Algorithms and Source Code in C». Second edition, John Wiley and Sons, 1996.
Pieprzyk, Josef, Hardjono, Thomas y Seberry, Jennifer, «Fundamentals of Computer Security». Springer, 2003.
Pastor Franco, José y Sarasa López, Miguel Ángel, «Criptografía Digital: Fundamentos y Aplicaciones». Prensas Universitarias de Zaragoza, 1997.
Stallings, William, «Fundamentos de Seguridad en Redes: aplicaciones y estándares». Segunda Edición, Pearson - Prentice Hall, 2004.
Nombela, Juan José, «Seguridad Informática». Primera Edición, Editorial Paraninfo, 1996.
Stinson, Douglas R., «Cryptography: Theory and Practice». Second Edition, Chapman & Hall/CRC, 2002.
Tanenbaum, Andrew S., «Computer Networks». Cuarta Edición, Prentice Hall, 2002. Mitnick, Kevin D. y Simon, William L., «The Art of Intrusion». Wiley Publishing, Inc., 2005.
Otras referencias bibliográficas, electrónicas o cualquier otro tipo de recurso.
Base de datos del portal EVLM: http://portalevlm.usal.es/
Kernighan, Brian W. y Ritchie, Dennis M, «El lenguaje de programación C, segunda edición». Prentice-Hall Hispanoamericana, 1991.
10. Evaluación
Consideraciones generales.
Los procedimientos de evaluación miden la consecución de los objetivos de la asignatura. Además de los trabajos presentados por los alumnos sobre algunos aspectos teóricos y prácticos relacionados con la asignatura, se valorará el resultado de los exámenes presenciales cuyo formato se detalla más abajo.
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.
Instrumentos de evaluación.
La parte teórica de la asignatura está dividida en dos parciales, el primero de ellos correspondiente a los temas 1 a 4 y el segundo a los temas 5 a 8. 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.
En cada parcial, la nota de la parte de teoría se distribuirá de la siguiente forma: el 80% corresponde a la resolución individual de 4 problemas propuestos a lo largo del curso, y el 20% corresponde a la realización de un examen presencial, que es voluntario.
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. Esa nota se promediará con la nota obtenida en la parte práctica 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 al menos 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.
Recomendaciones para la recuperación.
Asistir a una tutoría personalizada con el profesor de la asignatura para aquellos alumnos presentados que no superen la asignatura. En dicha tutoría se realizará una programación de las actividades del alumno para alcanzar las competencias de esta asignatura.