  RAR uses classic symmetric encryption algorithm SHA-1 hashing and AES
algorithm for encryption, and the only method of password recovery is brute
force, which is very time-consuming. In this paper, we present an approach
using GPUs to speed up the password recovery process. However, because the
major calculation and time-consuming part, SHA-1 hashing, is hard to be
parallelized, so this paper adopts coarse granularity parallel. That is, one
GPU thread is responsible for the validation of one password. We mainly use
three optimization methods to optimize this parallel version: asynchronous
parallel between CPU and GPU, redundant calculations and conditional statements
reduction, and the usage of registers optimization. Experiment result shows
that the final version reaches 43~57 times speedup on an AMD FirePro W8000 GPU,
compared to a well-optimized serial version on Intel Core i5 CPU.
