High-Performance Symmetric Block Ciphers on Multicore CPU and GPUs

As the data protection with encryption becomes important day-by-day, the encryption processing using General Purpose computation on a Graphic Processing Unit (GPGPU) has been noticed as one of the methods to realize high-speed data protection technology. GPUs have evolved in recent years into powerful parallel computing devices, with a high cost-performance ratio. However, many factors affect GPU performance. In earlier work to gain higher AES performance using GPGPU in various ways, the authors obtained the following two technical viewpoints: 16 bytes/thread is the best granularity, extended key and substitution table stored in shared memory and plaintext stored in register are the best memory allocation style.