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.

Description

Title: GPU accelerated AES
Author/s:
  • Martín Berlanga, Jesús
Contributor/s:
  • Martínez Mateo, Jesús
Item Type: Final Project
Degree: Grado en Ingeniería Informática
Date: June 2017
Subjects:
Freetext Keywords: 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)
Faculty: E.T.S. de Ingenieros Informáticos (UPM)
Department: Matemática Aplicada
Creative Commons Licenses: Recognition - No derivative works - Non commercial

Full text

[img]
Preview
PDF - Requires a PDF viewer, such as GSview, Xpdf or Adobe Acrobat Reader
Download (1MB) | Preview

Abstract

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.

More information

Item ID: 47172
DC Identifier: http://oa.upm.es/47172/
OAI Identifier: oai:oa.upm.es:47172
Deposited by: Biblioteca Facultad de Informatica
Deposited on: 11 Jul 2017 09:38
Last Modified: 11 Jul 2017 09:38
  • Logo InvestigaM (UPM)
  • Logo GEOUP4
  • Logo Open Access
  • Open Access
  • Logo Sherpa/Romeo
    Check whether the anglo-saxon journal in which you have published an article allows you to also publish it under open access.
  • Logo Dulcinea
    Check whether the spanish journal in which you have published an article allows you to also publish it under open access.
  • Logo de Recolecta
  • Logo del Observatorio I+D+i UPM
  • Logo de OpenCourseWare UPM