Códigos y Criptografía

Departamento de Computación

CINVESTAV

Verao2007 - Profesor: Francisco Rodríguez Henríquez
http://delta.cs.cinvestav.mx/~francisco/cripto2007/cripto07.html



Objetivo General

Estudiar algunos de los principales métodos, algoritmos, técnicas y herramientas necesarias para la implementación de aplicaciones criptográficas y de seguridad de datos. El contenido del curso está orientado a la resolución eficiente del problema de cómo establecer una comunicación segura entre dos o más entidades de manera tal que se garantice un alto grado de confidencialidad,integridad y auntenticidad en los datos y documentos intercambiados. El contenido del curso incluye el estudio de diversos aspectos teóricos relacionados con los algoritmos y esquemas criptográficos, así como la aplicación de dichas técnicas para resolver problemas prácticos en el envío de datos y comunicación de manera segura.



Temas Principales


Libros de texto

W. Trappe & L. C. Washington. Introduction to Cryptography with Coding Theory, Segunda edición, Prentice-Hall, 2006. ISBN: 0131862391

Niels Ferguson and Bruce Schneier, Practical Cryptography, John Wiley & Sons, 2003,.

Francisco Rodríguez-Henríquez, Nazar A. Saqib, Arturo Díaz Pérez and
Cetin K. Koc, "Cryptographic Algorithms on Reconfigurable Hardware",  
Springer; ISBN: 978-0-387-33883-5, 2007.



Información Relevante

Tareas

Exámenes Parciales



Proyectos


Notas de la clase
  1. Introducción (1/2)
  2. Conceptos Generales.
  3. Conferencia Premio Turing 2002
  4. Estudiar los ejemplos de la versión CD-ROM del Code Book. Material complementario: Criptosistemas Clásicos
  5. Algunos Ejemplos en Maple: Subst; Hill;RSA Simple
  6. Algoritmo DES. Implementaciones de DES en: Maple y Hardware reconfigurable.
  7. Tutorial de DES en Flash.
  8. Modos de operación.
  9. Algoritmo AES, Tutorial en Flash, Trucos de implementación
  10. Introducción a Criptografía de llave pública.
  11. Estándar PKCS#1.
  12. Estándar DSA FIPS-186
  13. Introducción a criptografía de curvas elípticas. ejemplo pequeño, laboratorio de Maple.
  14. Estándar P1363, Curvas recomendadas por NIST.


Información sobre el libro de texto Principal


Libros y material de Referencia
  1. The Code Book, The Secret History of Codes and Code Breaking. Simon Singh,  Anchor, 2000.
  2. Handbook of Applied Cryptography, Menezes, Oorschot, Vanstone. CRC Press, New York, fifth edition (2001). Portal Internet del libro.

  3. The Art of Computing Programming, Donald E Knuth, Addison-Wesley, Boston, third edition (2001). Portal Internet del Libro.

  4. The Design of Rijndael, Joan Daemen, Vincent Rijmen, Springer, Heidelberg, 2002. Portal Internet del Libro.

  5. Guide to Elliptic Curve Cryptography, D. Hankerson, A. Menezes, S. Vanstone, Springer-Verlag, 2004. ISBN 0-387-95273-X

  6. Cryptographic Hardware and Embedded Systems, International Workshop, CHES0'99, CHES'2000, CHES'2001, Çetin Koç and Christof Paar (Eds.), Lecture Notes in Computer Science, Springer, Heidelberg, 1999, 2000, 2001. Portadas e ISBNs.

  7. Elementary Number Theory and its applications, Fourth Edition, K. Rosen, AT&T Bell Laboratories, 2000. Portal Internet del libro

  8. Jorge Ramió Aguirre, Seguridad Informática y Criptografía, Tercera edición v 3.1 - 3 de marzo de 2003, disponible en: http://www.criptored.upm.es



Otros enlaces relevantes


Calendario


Semana Día Material Actividades
1 8 y 10 de mayo Introducción y conceptos generales Leer capítulos 1 y 2 del libro de texto
2 15 y 17 de mayo Criptosistemas Clásicos Tarea # 1
3 22 y 24 de mayo DES, algoritmo, modos de operación  
4 29 de mayo, 31 de mayo
DES implementaciones en FPGA y en Maple Entrega tarea #1
5 5 y 7 de junio Modos de Operación Propuestas de Proyecto
6 12 y 14 de junio Modos de Operación
7 19 y 21 de junio AES Algoritmo, implementaciones en FPGAs y en Maple.
Tarea #2 
8 26, 28 de junio
Cifradores por flujo de datos
 
9 3, 5 de julio Cripto. de llave pública,
Entrega tarea #2 
10 10 y 12 de julio  Primer Examen parcial
RSA, PKCS
 
11 17, 19  de julio DSA  Avance de Proyecto
12 24 y 26 de julio Criptografía de curvas elípticas
13 31 de julio y 2 de agosto Criptografía de curvas elípticas
14 7 y 9 de agosto de agosto Asesorías para proyectos Tarea #3
15 16  de agosto Presentaciones Segundo Examen parcial  Entrega tarea #3
16
21 de agosto
Entrega y presentación de proyectos