GPU accelerated AES

Martín Berlanga, Jesús (2017). GPU accelerated AES. Proyecto Fin de Carrera / Trabajo Fin de Grado, E.T.S. de Ingenieros Informáticos (UPM), Madrid, España.

Descripción

Título: GPU accelerated AES
Autor/es:
  • Martín Berlanga, Jesús
Director/es:
  • Martínez Mateo, Jesús
Tipo de Documento: Proyecto Fin de Carrera/Grado
Grado: Grado en Ingeniería Informática
Fecha: Junio 2017
Materias:
Palabras Clave Informales: High Performance Computing (HPC); General Purpose Graphics Processing Unit (GPGPU); Advanced Encryption Standard (AES); Computación de Alto Rendimiento (HPC); Cómputos de Propósito General en Unidades de Procesamiento de Gráficos (GPGPU); Advanced Encryption Standard (AES)
Escuela: E.T.S. de Ingenieros Informáticos (UPM)
Departamento: Matemática Aplicada
Licencias Creative Commons: Reconocimiento - Sin obra derivada - No comercial

Texto completo

[img]
Vista Previa
PDF (Document Portable Format) - Se necesita un visor de ficheros PDF, como GSview, Xpdf o Adobe Acrobat Reader
Descargar (1MB) | Vista Previa

Resumen

An open-source AES GPU implementation has been developed from scratch with CUDA. The implementation is based in lookup tables and supports ECB, CTR, CBC*, and CFB* operation modes. Factors such as the parallelism level, the use of constant and shared memory, asynchronous page-locked IO, and overlapping between data transfers and calculations has been taking into account. The results show a speedup peak of 119% with CTR encryption against OpenSSL’s CPU implementation with files larger than 60 MB (without AES-NI support) and a peak of 87% with CBC/CFB decryption of files larger than 125 MB. The maximum registered throughput is 237 MB/s, above drive buffer read rate of 208 MB/s (non-cached). Although it is expected to obtain performance yields around 55% with CTR encryption and 49% with CBC or CFB decryption, it is recommended to consider the use of a CPU implementation with AES-NI hardware until the current implementation is further analysed and, if possible, optimized.---ABSTRACT---Se ha realizado una implementación GPU de código abierto en CUDA del cifrador AES con tablas de búsqueda en los modos de operación ECB, CTR, CBC*, y CFB*. Se han tenido en cuenta distintos factores de rendimiento, entre ellos el nivel de paralelismo, el uso de memoria constante y compartida, la lectura asíncrona de ficheros en memoria no paginada, y el solapamiento de transferencias y cómputo. Se ha alcanzado una mejora máxima de 119% para el cifrado en modo CTR con respecto a la implementación CPU de OpenSSL (sin AES-NI) y una mejora máxima del 87% para el descifrado CBC/CFB. El mayor rendimiento registrado es de 237 MB/s, que esta por encima de la tasa de lectura con buffer del disco de 208 MB/s (sin cache). Aunque se pueden obtener mejoras del 55% para el cifrado CTR con ficheros con tama˜no mayor de 60 MB y del 49% para descifrado CBC o CFB con ficheros mayores de 125 MB, se recomienda considerar el uso de una implementación CPU junto con hardware con soporte de la extensión AES-NI hasta que la implementación actual se analize en mas detalle y, si es posible, se mejore su optimización.

Más información

ID de Registro: 47172
Identificador DC: http://oa.upm.es/47172/
Identificador OAI: oai:oa.upm.es:47172
Depositado por: Biblioteca Facultad de Informatica
Depositado el: 11 Jul 2017 09:38
Ultima Modificación: 11 Jul 2017 09:38
  • Open Access
  • Open Access
  • Sherpa-Romeo
    Compruebe si la revista anglosajona en la que ha publicado un artículo permite también su publicación en abierto.
  • Dulcinea
    Compruebe si la revista española en la que ha publicado un artículo permite también su publicación en abierto.
  • Recolecta
  • e-ciencia
  • Observatorio I+D+i UPM
  • OpenCourseWare UPM