Optimization of Advanced Encryption Standard on Graphics Processing Units

Graphics processing units (GPUs) are specially designed for parallel applications and perform parallel operations much faster than central processing units (CPUs). In this work, we focus on the performance of the Advanced Encryption Standard (AES) on GPUs. We present optimizations which remove bank...

Full description

Bibliographic Details
Main Author: Cihangir Tezcan
Format: Article
Language:English
Published: IEEE 2021-01-01
Series:IEEE Access
Subjects:
Online Access:https://ieeexplore.ieee.org/document/9422754/
_version_ 1819012364607946752
author Cihangir Tezcan
author_facet Cihangir Tezcan
author_sort Cihangir Tezcan
collection DOAJ
description Graphics processing units (GPUs) are specially designed for parallel applications and perform parallel operations much faster than central processing units (CPUs). In this work, we focus on the performance of the Advanced Encryption Standard (AES) on GPUs. We present optimizations which remove bank conflicts in shared memory accesses and provide 878.6 Gbps throughput for AES-128 encryption on an RTX 2070 Super, which is equivalent to 4.1 Gbps per Watt. Our optimizations provide more than 2.56x speed-up against the best GPU results in the literature. Our optimized AES implementations on GPUs even outperform any CPU using the hardware level AES New Instructions (AES-NI) and legacy FPGA-based cluster architectures like COPACOBANA and RIVYERA. Even on a low-end GPU like MX 250, we obtained 60.0 Gbps throughput for AES-256 which is generally faster than the read/write speeds of solid disks. Thus, transition from AES-128 to AES-256 when using GPUs would provide military grade security with no visible performance loss. With these breakthrough performances, GPUs can be used as a cryptographic co-processor for file or full disk encryption to remove performance loss coming from CPU encryption. With a single GPU as a co-processor, busy SSL servers can be free from the burden of encryption and use their whole CPU power for other operations. Moreover, these optimizations can help GPUs to practically verify theoretically obtained cryptanalysis results or their reduced versions in reasonable time.
first_indexed 2024-12-21T01:42:53Z
format Article
id doaj.art-0075d4a623674463acf3018cb70fa4b3
institution Directory Open Access Journal
issn 2169-3536
language English
last_indexed 2024-12-21T01:42:53Z
publishDate 2021-01-01
publisher IEEE
record_format Article
series IEEE Access
spelling doaj.art-0075d4a623674463acf3018cb70fa4b32022-12-21T19:20:05ZengIEEEIEEE Access2169-35362021-01-019673156732610.1109/ACCESS.2021.30775519422754Optimization of Advanced Encryption Standard on Graphics Processing UnitsCihangir Tezcan0https://orcid.org/0000-0002-9041-1932Department of Cyber Security, CyDeS Laboratory, Informatics Institute, Middle East Technical University, Ankara, TurkeyGraphics processing units (GPUs) are specially designed for parallel applications and perform parallel operations much faster than central processing units (CPUs). In this work, we focus on the performance of the Advanced Encryption Standard (AES) on GPUs. We present optimizations which remove bank conflicts in shared memory accesses and provide 878.6 Gbps throughput for AES-128 encryption on an RTX 2070 Super, which is equivalent to 4.1 Gbps per Watt. Our optimizations provide more than 2.56x speed-up against the best GPU results in the literature. Our optimized AES implementations on GPUs even outperform any CPU using the hardware level AES New Instructions (AES-NI) and legacy FPGA-based cluster architectures like COPACOBANA and RIVYERA. Even on a low-end GPU like MX 250, we obtained 60.0 Gbps throughput for AES-256 which is generally faster than the read/write speeds of solid disks. Thus, transition from AES-128 to AES-256 when using GPUs would provide military grade security with no visible performance loss. With these breakthrough performances, GPUs can be used as a cryptographic co-processor for file or full disk encryption to remove performance loss coming from CPU encryption. With a single GPU as a co-processor, busy SSL servers can be free from the burden of encryption and use their whole CPU power for other operations. Moreover, these optimizations can help GPUs to practically verify theoretically obtained cryptanalysis results or their reduced versions in reasonable time.https://ieeexplore.ieee.org/document/9422754/Cryptographyencryptioncryptanalysis
spellingShingle Cihangir Tezcan
Optimization of Advanced Encryption Standard on Graphics Processing Units
IEEE Access
Cryptography
encryption
cryptanalysis
title Optimization of Advanced Encryption Standard on Graphics Processing Units
title_full Optimization of Advanced Encryption Standard on Graphics Processing Units
title_fullStr Optimization of Advanced Encryption Standard on Graphics Processing Units
title_full_unstemmed Optimization of Advanced Encryption Standard on Graphics Processing Units
title_short Optimization of Advanced Encryption Standard on Graphics Processing Units
title_sort optimization of advanced encryption standard on graphics processing units
topic Cryptography
encryption
cryptanalysis
url https://ieeexplore.ieee.org/document/9422754/
work_keys_str_mv AT cihangirtezcan optimizationofadvancedencryptionstandardongraphicsprocessingunits