Guías Académicas

CRIPTOGRAFÍA

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

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
Ver en : https://politecnicazamora.usal.es/estudiantes/#informacion-academica
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
Ver en : https://politecnicazamora.usal.es/estudiantes/#informacion-academica
URL Web
http://web.usal.es/hernando/
E-mail
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.