Speeding up GPU-based password cracking
SHARCS 2012 Martijn Sprengers1,2 Lejla Batina2,3
Sprengers.Martijn@kpmg.nl KPMG IT Advisory1 Radboud University Nijmegen2 K.U. Leuven3
Speeding up GPU-based password cracking SHARCS 2012 Martijn - - PowerPoint PPT Presentation
Speeding up GPU-based password cracking SHARCS 2012 Martijn Sprengers 1 , 2 Lejla Batina 2 , 3 Sprengers.Martijn@kpmg.nl KPMG IT Advisory 1 Radboud University Nijmegen 2 K.U. Leuven 3 March 17-18, 2012 Introduction Background Research Results
Sprengers.Martijn@kpmg.nl KPMG IT Advisory1 Radboud University Nijmegen2 K.U. Leuven3
Introduction Background Research Results
Martijn Sprengers, Lejla Batina March 17-18, 2012 Speeding up GPU-based password cracking 2 / 28
Introduction Background Research Results
Martijn Sprengers, Lejla Batina March 17-18, 2012 Speeding up GPU-based password cracking 3 / 28
Introduction Background Research Results
Martijn Sprengers, Lejla Batina March 17-18, 2012 Speeding up GPU-based password cracking 3 / 28
Introduction Background Research Results
Martijn Sprengers, Lejla Batina March 17-18, 2012 Speeding up GPU-based password cracking 4 / 28
Introduction Background Research Results
Martijn Sprengers, Lejla Batina March 17-18, 2012 Speeding up GPU-based password cracking 4 / 28
Introduction Background Research Results
Martijn Sprengers, Lejla Batina March 17-18, 2012 Speeding up GPU-based password cracking 5 / 28
Introduction Background Research Results
Martijn Sprengers, Lejla Batina March 17-18, 2012 Speeding up GPU-based password cracking 6 / 28
Introduction Background Research Results
Martijn Sprengers, Lejla Batina March 17-18, 2012 Speeding up GPU-based password cracking 6 / 28
Introduction Background Research Results
2 × Zs 2 → Zn 2
Martijn Sprengers, Lejla Batina March 17-18, 2012 Speeding up GPU-based password cracking 7 / 28
Introduction Background Research Results
Martijn Sprengers, Lejla Batina March 17-18, 2012 Speeding up GPU-based password cracking 8 / 28
Introduction Background Research Results
MD5-crypt(“somesalt”,“password”) = $1$somesalt$W.KCTbPSiFDGffAGOjcBc.
Source: Wikipedia Martijn Sprengers, Lejla Batina March 17-18, 2012 Speeding up GPU-based password cracking 9 / 28
Introduction Background Research Results
Martijn Sprengers, Lejla Batina March 17-18, 2012 Speeding up GPU-based password cracking 10 / 28
Introduction Background Research Results
Martijn Sprengers, Lejla Batina March 17-18, 2012 Speeding up GPU-based password cracking 11 / 28
Introduction Background Research Results
Martijn Sprengers, Lejla Batina March 17-18, 2012 Speeding up GPU-based password cracking 12 / 28
Introduction Background Research Results
Martijn Sprengers, Lejla Batina March 17-18, 2012 Speeding up GPU-based password cracking 12 / 28
Introduction Background Research Results
Martijn Sprengers, Lejla Batina March 17-18, 2012 Speeding up GPU-based password cracking 12 / 28
Introduction Background Research Results
Martijn Sprengers, Lejla Batina March 17-18, 2012 Speeding up GPU-based password cracking 13 / 28
Introduction Background Research Results
Martijn Sprengers, Lejla Batina March 17-18, 2012 Speeding up GPU-based password cracking 14 / 28
Introduction Background Research Results
Martijn Sprengers, Lejla Batina March 17-18, 2012 Speeding up GPU-based password cracking 15 / 28
Introduction Background Research Results
Martijn Sprengers, Lejla Batina March 17-18, 2012 Speeding up GPU-based password cracking 16 / 28
Introduction Background Research Results
Martijn Sprengers, Lejla Batina March 17-18, 2012 Speeding up GPU-based password cracking 17 / 28
Introduction Background Research Results
Martijn Sprengers, Lejla Batina March 17-18, 2012 Speeding up GPU-based password cracking 18 / 28
Introduction Background Research Results
Martijn Sprengers, Lejla Batina March 17-18, 2012 Speeding up GPU-based password cracking 19 / 28
Introduction Background Research Results
Martijn Sprengers, Lejla Batina March 17-18, 2012 Speeding up GPU-based password cracking 20 / 28
Introduction Background Research Results
Martijn Sprengers, Lejla Batina March 17-18, 2012 Speeding up GPU-based password cracking 21 / 28
Introduction Background Research Results
Martijn Sprengers, Lejla Batina March 17-18, 2012 Speeding up GPU-based password cracking 21 / 28
Introduction Background Research Results
Martijn Sprengers, Lejla Batina March 17-18, 2012 Speeding up GPU-based password cracking 22 / 28
Introduction Background Research Results
Martijn Sprengers, Lejla Batina March 17-18, 2012 Speeding up GPU-based password cracking 23 / 28
Introduction Background Research Results
ECC2K-130 on NVIDIA GPUs. Progress in Cryptology-INDOCRYPT 2010, pages 328–346, 2010.
The billion-mulmod-per-second PC. SHARCS Workshop, 2009.
Practical symmetric key cryptography on modern graphics hardware. In Proceedings of the 17th conference on Security symposium, pages 195–209. USENIX Association, 2008. Owen Harrison and John Waldron. Efficient acceleration of asymmetric cryptography on graphics hardware. In Bart Preneel, editor, AFRICACRYPT, volume 5580 of Lecture Notes in Computer Science, pages 350–367. Springer, 2009.
CUDA compatible GPU as an efficient hardware accelerator for AES cryptography. In Signal Processing and Communications, 2007. ICSPC 2007. IEEE International Conference on, pages 65–68. IEEE, 2008. Martijn Sprengers, Lejla Batina March 17-18, 2012 Speeding up GPU-based password cracking 24 / 28
Introduction Background Research Results
Martijn Sprengers, Lejla Batina March 17-18, 2012 Speeding up GPU-based password cracking 25 / 28
Introduction Background Research Results
Martijn Sprengers, Lejla Batina March 17-18, 2012 Speeding up GPU-based password cracking 26 / 28
Introduction Background Research Results
Martijn Sprengers, Lejla Batina March 17-18, 2012 Speeding up GPU-based password cracking 27 / 28
MD5Compress(password||salt||password) MD5Compress(password||‘$1$´||salt||result) Init(buffer) buffer = buffer||salt buffer = buffer||password MD5Compress(buffer) buffer = password||result If(n<1000) result result If(n%3) result
Password Salt result
MD5-crypt
result If(n==1000) n=0 If(n%7) else else n++