  Correlation Power Analysis (CPA) is a type of power analysis based side
channel attack that can be used to derive the secret key of encryption
algorithms including DES (Data Encryption Standard) and AES (Advanced
Encryption Standard). A typical CPA attack on unprotected AES is performed by
analysing a few thousand power traces that requires about an hour of
computational time on a general purpose CPU. Due to the severity of this
situation, a large number of researchers work on countermeasures to such
attacks. Verifying that a proposed countermeasure works well requires
performing the CPA attack on about 1.5 million power traces. Such processing,
even for a single attempt of verification on commodity hardware would run for
several days making the verification process infeasible. Modern Graphics
Processing Units (GPUs) have support for thousands of light weight threads,
making them ideal for parallelizable algorithms like CPA. While the cost of a
GPU being lesser than a high performance multicore server, still the GPU
performance for this algorithm is many folds better than that of a multicore
server. We present an algorithm and its implementation on GPU for CPA on
128-bit AES that is capable of executing 1300x faster than that on a single
threaded CPU and more than 60x faster than that on a 32 threaded multicore
server. We show that an attack that would take hours on the multicore server
would take even less than a minute on a much cost effective GPU.
