Skip to content
Aitor Brazaola edited this page Feb 17, 2017 · 2 revisions

Práctica de programación paralela

Objetivo

Programar un cracker de contraseñas cifradas con un algoritmo de hashing (por ejemplo, MD5).

Evaluación

El trabajo se realizará por parejas, pudiéndose hacer individualmente en casos excepcionales. Valoración:

10% - Programa cifrador: programa que dada una cadena de caracteres, nos devuelva su correspondiente resumen (hash), empleando el algoritmo elegido (por ejemplo, MD5).

15% - Programa cracker secuencial: programa que reciba un hash o resumen y sea capaz de encontrar la cadena de caracteres original. Se valorará la posibilidad de modificar mediante argumentos (Ver ejemplos de captura de argumentos) el espacio de claves en el que se buscará (tamaño y alfabeto, o diccionario de posibles claves).

30% - Programa cracker paralelo con OpenMP: programa equivalente al cracker secuencial aprovechando las funcionalidades de paralelismo que ofrece OpenMP.

30% - Programa cracker paralelo con MPI: programa equivalente al cracker secuencial aprovechando las funcionalidades de paralelismo que ofrece MPI.

15% - Estudio del speedup, Eficiencia y paralecibilidad. Se valorará la ejecución múltiple y con diferentes casos, así como ofrecer los resultados con estadísticos básicos (máximo, mínimo, media, mediana, desviación típica).

Entrega

Deberá entregarse un archivo ZIP con el siguiente nombre:

HPC-E1-DN1-DNI2.zip

Por ejemplo:

HPC-E1-12345678Z-98765432N.zip

El archivo ZIP deberá contener el código fuente y compilado de todos los programas (cifrador, cracker secuencial, cracker en OpenMP y cracker en MPI), así como un PDF con el estudio de speedup, eficiencia y paralelicibilidad.

Clone this wiki locally