A fast, GPU based, dictionary attack to OpenPGP secret keyrings
We describe the implementation, based on the Compute Unified Device Architecture (CUDA) for Graphics Processing Units (GPU), of a novel and very effective approach to quickly test passphrases used to protect private keyrings of OpenPGP cryptosystems. Our combination of algorithm and implementation, reduces the time required to test a set of possible passphrases by three-orders of magnitude with respect to an attack based on the procedure described in the OpenPGP standard and implemented by software packages like GnuPG, and a tenfold speed up if compared to our highly tuned CPU implementation. Our solution can be considered a replacement and an extension of pgpcrack, a utility used in the past for attacking PGP. The optimizations described can be applied to other cryptosystems and confirm that the GPU architecture is also very effective for running applications that make extensive (if not exclusive) use of integer operations.