Design and Optimizations of the MD5 Crypt Cracking Algorithm Based on CUDA

  • Renjie Chen
  • Yu Zhang
  • Jianzhong ZhangEmail author
  • Jingdong Xu
Conference paper
Part of the Lecture Notes of the Institute for Computer Sciences, Social Informatics and Telecommunications Engineering book series (LNICST, volume 142)


Message Digest 5 (MD5) is an algorithm to produce a MAC (message authentication code), which has been specified for use in Internet Protocol Security [1]. There exists a large computational complexity in cracking the MD5 hash; hence, implementations on common computing systems become less practical. CUDA (Compute Unified Device Architecture) is a parallel computing platform and programming model invented by NVIDIA. It enables dramatic increases in computing performance by harnessing the power of the graphics processing unit (GPU). This paper puts forward a CUDA-based algorithm and its comprehensive optimizations for cracking the MD5 hash. The experimental results have shown that the peek speed of checking passwords based on GPU reaches 987 Mkey/s, which is 5470 times of that in CPU. It presents an efficient implementation for cracking the MD5 passwords through GPU; meanwhile, these results have demonstrated the potential applicability of GPU in the field of cryptanalysis.


MD5 CUDA Brute-force GPU 



This study is supported by the National Natural Science Foundation of China (Grant No. 61103214), the key projects for science and technology of Tianjin (Grant No. 13ZCZDGX01098) and the Doctoral Fund of Ministry of Education of China (Grant No. 20110031120030).


  1. 1.
  2. 2.
    NVIDIA Corporation, NVIDIA CUDA Programming Guide V6.0Google Scholar
  3. 3.
    NVIDIA Corporation, NVIDIA CUDA C Best Practices Guide V6.0Google Scholar
  4. 4.
    Li, C., Wu, H.: Efficient implementation for MD5-RC4 encryption using GPU with CUDA. In: The 3rd International Conference on Anti-counterfeiting, Security, and Identification in Communication, August 2009Google Scholar
  5. 5.
    Wang, F., Yang, C., Wu, Q., Shi, Z.: Constant memory optimizations in MD5 crypt cracking algorithm on GPU-accelerated supercomputer using CUDA. In: 2012 7th International Conference on Computer Science & Education, pp. 638–642. IEEE (2012)Google Scholar
  6. 6.
    NVIDIA Corporation, NVIDIA CUDA Runtime API V6.0Google Scholar
  7. 7.
    Nguyen, D.H., Nguyen, T.T., Duong, T. N., et al.: Cryptanalysis of MD5 on GPU cluster. In: 2010 International Conference on Information Security & Artificial Intelligence (ISAI 2010). Chengdu, China, pp. 910–914. IEEE (2010)Google Scholar

Copyright information

© Institute for Computer Sciences, Social Informatics and Telecommunications Engineering 2015

Authors and Affiliations

  • Renjie Chen
    • 1
  • Yu Zhang
    • 1
  • Jianzhong Zhang
    • 1
    Email author
  • Jingdong Xu
    • 1
  1. 1.College of Computer and Control EngineeringNankai UniversityTianjinChina

Personalised recommendations