Introduccion a la Criptografía Moderna CC51Q (2007/01)
Profesor: Alejandro Hevia
Propósito: El propósito del curso es dotar al estudiante de herramientas de análisis para diseñar y evaluar formalmente algoritmos y protocolos criptográficos.
Aspectos administrativos:
Cátedra: Martes, Jueves 4:15pm-5:45pm, B211
Auxiliar: Lunes 4:15pm-6:45pm, B211
Sitio web oficial (especialmente el Foro de Discusión): ucursos
Carga académica: 10 UD,
Requisitos: (CC30A, CC30B, MA34A) o (MA47A), o Autorización
Carácter del curso: electivo Cs. de la Computación
Novedades
- Tarea 1 está disponible.
- Calendario de próximas lecturas
disponible.
- Importante: Escoger un proyecto y comunicarselo al profesor antes
del Martes 3 de Abril. Ver listado de proyectos
posibles.
- Fechas Importantes:
- Entrega Reporte de Avance proyecto: 24 de Abril, 2007
Material de Lectura
Estas lecturas son altamente recomendadas para las clases de cátedra/
auxiliares indicadas.
Tareas
- Tarea 1: fecha entrega 20 de Abril, 23:59hrs. Disponible en (PDF).
Temario
- Elementos Básicos:
- Introducción
- Conceptos Básicos: objetivo de seguridad (privacidad,
autentificación), adversarios, recursos.
Seguridad demostrable como una reducción.
- Criptografía Clásica (cifrados de sustitución
y variantes, ataques)
- Criptografía Simétrica (Clave Privada):
- Cifradores de Bloque: Modelos, construcciones (DES, AES)
- Funciones Pseudo-aleatorias
- Encriptación Simétrica: Modelos de seguridad,
construcciones basadas en cifradores de bloque
- Funciones unidireccionales y resistentes a colisiones:
potenciales candidatos (MD5, SHA-1, SHA-256, otros), modelos de
seguridad, el ataque de los cumpleaños
- Autentificación de Mensajes: modelos y construcciones
(CBC-MAC, HMAC, UMAC, CMAC, y otros)
- Criptografía Asimétrica (Clave Pública):
- Teoría de Números Computacional
- Primitivas basadas en teoría de números
- Encriptación Asimétrica
- Firmas Digitales
- Criptografía en la Práctica:
- Infraestructura de Clave Pública (PKI)
- Autentificación e identificación (passwords),
vía terceras partes confiables (Needham-Schroeder, Kerberos)
- Acuerdo de Claves: Diffie-Hellman y intercambio de claves
autentificado (AKE).
- Canales seguros (SSL y Encriptación autentificada)
- Problemas al implementar algoritmos criptográficos
- Tópicos Avanzados:
- Mecanismos para compartir secretos (Secret Sharing)
- Generación de bits pseudo-aleatorios
- Introducción a demostraciones interactivas y
protocolos de Nula Divulgación (Zero Knowledge)
- Introducción a protocolos criptográficos
genéricos (Computación Multi-partita Segura,
Votación Electrónica)
Nota:
El curso se dicta por primera vez. Por lo tanto, el temario del
curso es potencialmente variable dependiendo de disponibilidad de tiempo,
en especial en los tópicos avanzados.
Evaluación:
La evaluación se basa en un control, un proyecto y un exámen
(sin apuntes) má varias (entre 4 y 5) tareas cortas.
El proyecto es desarrollado durante el semestre.
Posibles alternativas para el proyecto incluyen
- Desarrollo de un software de seguridad y/o criptográfico,
- Escritura y presentación de un artículo corto tipo
estado del arte,
discusión de artículo reciente, o
investigación en algún tema relativo al curso.
Posibles Proyectos (todos ya asignados)
- Estado del arte de protocolos alternativos criptograficos
para DNSSEC.
(Asignado: Cristian Campora)
- Estado del arte o implementación de protocolos de
acuerdo de claves.
(Asignado: Felipe Muñoz)
- Estado del arte o implementación de
algoritmos para watermarking de tipo
criptográfico; un watermark es un sello detectables en
contenido digital como música o películas.
(Asignado: Nicolás Rosselot)
- Estado del arte en protocolos criptográficos
para comunicación anónima.
(Asignado: Patricio Seguel)
- Estado del arte en algoritmos de
generación de bits pseudo-aleatorios.
(Asignado: César Castro)
- Estado del arte en funciones de hash criptográficas.
(Asignado: Alejandro García)
- Implementación de algoritmo eficiente para resolver el
problema del 'logaritmo discreto'.
(Asignado: Danny Godoy)
- Implementación de protocolos 'mix-networks'.
(Asignado: Patricia Alarcón)
- Estado del arte de encriptación basada en identidad
-- identity based encryption.
(Asignado: Alexis Henríque)
- Estado del arte de criptografía visual.
(Asignado: Dusan Juretic)
- Implementar un esquema de compartición de secretos verificable.
(Asignado: Ernesto Castillo)
- Implementar algún esquema de firmas grupales
(multifirmas, firmas anillo, firmas de grupo, etc.)
(Asignado: Francisco Gutiérrez)
- Estado del arte de esquemas de compartición de secretos.
(Asignado: Marcelo Sénchez)
- Estado del arte en protocolos criptográficos para
"evaluación segura de funciones"
(secure function evaluation).
(Asignado: Cristián Olate)
- Estado del arte en consultas seguras a base de datos (private
information retrieval).
(Asignado: Andres Ignacio Pérez)
- Implementar un ataque "Man-in-the-middle" en el protocol SSH.
(Asignado: Sebastián Kreft)
- Implementar un ataque "Man-in-the-middle" en el protocol HTTPS.
(Asignado: Felipe Troncoso)
- Implementar el ataque "Meet-in-the-middle" para desencriptar
un texto cifrado usando algún cifrador de bloque
(posiblemente
con tamaño de bloque y espacio de claves reducido).
(Asignado: Fernando Krell)
- Implementar protocolo de backup distríbuido resistente
a catástrofes en internet.
(Asignado: Violeta Díaz)
- Implementar el protocolo de Blum para "Lanzar una moneda por
teléfono".
(Asignado: Joaquín Rivas)
- Estudio de variaciones de criptoanalisis lineal sobre AES.
(Asignado: José Verschae)
Solicitar directamente al profesor el tema, quien le clarificará el
alcance del proyecto.
Cualquier otro tema o posible forma del proyecto queda a criterio del profesor
y debe ser consultado con él.
Tareas
Las tareas consistirán en demostraciones y resolución de
problemas, tanto teóricos como relativos a implementaciones en software.
Nota Magister y Doctorado: La opción (2.)
arriba es la alternativa
sugerida para estudiantes
de Magister o Doctorado tomando el curso. Dependiendo del caso y
del alcance del proyecto, estudiantes de postgrado podrán
convalidar la nota del proyecto como nota simultánea de
proyecto y tareas.
Bibliografía:
- Mihir Bellare y Phil Rogaway, “Introduction to Cryptography, Lecture Notes”, University of California San Diego, 2006.
(Disponible en versiones del curso para
pregrado, y de
postgrado)
- Douglas Stinson, “Cryptography, Theory and Practice”, Second edition, Editorial Cgapman and Hall/CRC, 2002
- Oded Goldreich, “Foundations of Cryptography, Basic Tools”, Cambridge University Press, 2001
- Oded Goldreich, “Foundations of Cryptography, Basic Applications”, Cambridge University Press, 2004
- Alfred J. Menezes, Paul C. van Oorschot, Scott A. Vanstone, “Handbook of Applied Cryptography”, CRC press, 1997
- Josef Pieprzyk, Thomas Hardjono, Jennifer Seberry, “Foundamentals of Computer Security”, Springer, 2003
Última modificación: 29 Marzo 2007.
|