TRABAJOS:
OBJETIVOS:
- Aprender a implementar cifrados modernos, en particular, el cifrado de Vernam y cifrados basados en RSA.
- Usar la teoría de números vista en clase para implementar correctamente los cifrados anteriores.
- Criptoanalizar en ciertos casos sencillos el criptosistema RSA.
- Redactar una memoria del trabajo con claridad de pensamiento y en correcto español.
EVALUACIÓN:
- Valoraré los razonamientos, su justificación y exposición. Es importante comprobar que los parámetros de los criptosistemas verifican las condiciones dadas en los teoremas vistos en clase.
- Valoraré la correción de los algoritmos.
- Valoraré el estilo de programación, esto es, concisión, limpieza del código, facilidad de lectura y estructuración.
- Valoraré la redacción de la memoria en cuanto a claridad, concisión así como a síntesis de la información. Quitaré puntos a las memorias vacías de contenido y de lectura farragosa.
- Igual que en el trabajo anterior, quitaré puntos por las faltas de ortografía y, en especial, por las memorias escritas en formato sms.
DESCRIPCIÓN:
- Implementar un criptosistema de Vernam. Las características del mismo son las siguientes:
- El sistema aceptará una cadena de caracteres de longitud desconocida.
- Los caracteres de la cadena pertenecerán al juego completo de caracteres del castellano, esto es, incluirán minúsculas, mayúsculas, letras acentuadas, ñ, diéresis y todos los signos de puntuación, incluidos los espacios.
- El programa ha de devolver la secuencia aleatoria usada en el cifrado así como el criptograma.
- Implementar un criptosistema RSA.
- Justificar la elección de todos los parámetros del criptosistema y probar que son correctos.
- Describir todos los detalles de implementación del RSA.
- El criptosistema recibirá un texto claro de longitud variable en las condiciones del apartado anterior.
- La implementación incluirá la función de cifrado y la de descifrado. En los procesos de cifrado y descifrado, se contabilizarán los tiempos.
- Implementar uno de los siguientes criptosistemas, según os toque:
- Sistema de firma digital basado en RSA.
- Los mensajes en claro tendrán el mismo formato que en los casos anteriores.
- El programa tendrá que producir un criptograma y una rúbrica.
- Tendréis que descifrar el criptograma y recuperar la rúbrica y mostrar que funciona.
- Poniéndoos en el papel de un espía, modificaréis el criptograma y probaréis que la rúbrica detecta la alteración del mensaje.
- Criptosistema de ElGamal.
- Los mensajes en claro tendrán el mismo formato que en los casos anteriores.
- Justificar la elección de los parámetros del criptosistema.
- El criptosistema recibirá un texto claro de longitud variable, que se intentará que no sea mayor que los posibles módulos del criptosistema, y habrá de cifrarlo y descifrarlo. Igual que en el caso anterior, se contabilizarán los tiempos.
- Sistema de firma digital basado en RSA.
- Criptoanalizar cifrados con RSA.
David Baquero
|
|
Rubén Carrasco y José Manuel Gallo
|
|
Virginia Martín, Mario Hidalgo y Yang Yong
|
|
Daniel Herrero y Alberto Jiménez
|
|
Alfonso Roa y Salif
|
|