Show simple item record

Optimización de algoritmos de desencriptado sobre GPUs con CUDA

dc.contributor.authorGrande Rubio, Elías
dc.date.accessioned2012-10-29T17:24:07Z
dc.date.available2012-10-29T17:24:07Z
dc.date.issued2012
dc.identifier.urihttp://hdl.handle.net/10115/11315
dc.descriptionProyecto Fin de Carrera leído en la Universidad Rey Juan Carlos en el curso académico 2011/2012. Tutor del Proyecto: Marcos García Lorenzoes
dc.description.abstractEn esta memoria se detalla el trabajo realizado para llevar a cabo la optimización de los algoritmos de desencriptado proporcionados por y para el Centro Nacional de Inteligencia Español (CNI) sobre GPUs (Graphics Processing Unit) compatibles con CUDA. Con el fin de cumplir este objetivo, se ha desarrollado un sistema optimizado combinando el lenguaje C y su correspondiente extensión para GPUs compatibles con CUDA, OPENMP, la API de POSIX PThread, y todo ello sobre sistemas operativos GNU/Linux, obteniendo de este modo, el nivel máximo de paralelismo que cada máquina pueda soportar, es decir, aprovechando al máximo el número de hilos de ejecución de la CPU tanto de la GPU. Dicho proyecto partió de un sistema previo ya funcionando y optimizado tanto sobre CPU como GPU, por lo que las optimizaciones realizadas han consistido en exprimir aún más dichos algoritmos. El sistema inicial incluía los algoritmos MD5, SHA-1, RC4 y AES específicos para la desencriptación de las distintas versiones de Office y PDF, entre otros. La dificultad para llevar a cabo las optimizaciones del sistema es la parte más complicada del proyecto, ya que, se intentan aplicar optimizaciones a algoritmos de propósito general (con fines no gráficos) sobre un hardware específico y optimizado para algoritmos gráficos. La implementación de nuestro sistema se debe adecuar a las características de los algoritmos con fines gráficos para poder aprovechar al máximo todos los recursos de los que se dispone en la GPU. Esto es lo que se conoce como GPGPU (General-Purpose Computation on Graphics Hardware). Para concluir, merece la pena mencionar la utilidad de las APIs y técnicas empleadas para la optimización del sistema, el cual es capaz de distribuir de manera equilibrada la carga de trabajo entre las distintas GPUs en función de su capacidad de cómputo (en el caso de que hubiera varias), disminuyendo de este modo, el tiempo de respuesta para obtener el resultado de la desencriptación.es
dc.language.isospaes
dc.publisherUniversidad Rey Juan Carloses
dc.rightsAtribución-NoComercial-SinDerivadas 3.0 España
dc.rights.urihttp://creativecommons.org/licenses/by-nc-nd/3.0/es/
dc.subjectInformáticaes
dc.subjectCUDAes
dc.titleOptimización de algoritmos de desencriptado sobre GPUs con CUDAes
dc.typeinfo:eu-repo/semantics/bachelorThesises
dc.rights.accessRightsinfo:eu-repo/semantics/openAccesses
dc.subject.unesco5801.07 Métodos Pedagógicoses
dc.description.departamentoCiencias de la Computación


Files in this item

This item appears in the following Collection(s)

Show simple item record

Atribución-NoComercial-SinDerivadas 3.0 EspañaExcept where otherwise noted, this item's license is described as Atribución-NoComercial-SinDerivadas 3.0 España