This article explores the attack on the MD5 hash function using pre-calculated hash chains, as well as the rainbow table method. The content of the article includes: the operation of the MD5 hash function, the determination of the calculated hash chains, the attack on the MD5 hash function by the method of the calculated hash chains, as well as the definition and study of rainbow tables. A hash function is a function that converts an array of input data of arbitrary length to an output bit sequence of fixed length, and is performed using a specific algorithm. The main vector of attack on hash functions is the search for collisions. A collision is the equality of two output values of hash functions for different input data. in this article, two methods are used to investigate the attack on hash functions: the method of pre-calculated hash chains and the method of rainbow tables. it is concluded that the rainbow table method helps to eliminate all the disadvantages that exist in the pre-calculated hash chains. where a single collision causes the rest of the chain to be corrupted. Thus, the longer the chain, the more damage is obtained from collisions. In rainbow tables, these situations are almost reduced to 0.


  • Anderson RJ (1993a) Derived Sequence Attacks on Stream Ciphers. presented at the rump session of CRYPTO’ 93.
  • Anderson RJ (1993b) “Why Cryptosystems Fail.” 1st ACM Conference on Computer and Communication Security ACM Press, 215-227.
  • Castro JCH, Sierra JM, Seznec A, Izquierdo A, Ribagorda A (2005) The strict avalanche criterion randomness test. Mathematics and Computers in Simulation, 68(1): 1-7.
  • Gashaw T, Dinkayoh T (2015) Land use/land cover dynamics in Hulet Wogedamea Kebele, northern Ethiopia. Current Research in Agricultural Sciences, 2(1): 36-41.
  • Gonnet GH (1981) Expected length of the longest probe sequence in hash code searching. Journal of the ACM (JACM), 28(2): 289-304.
  • Hellman M (1980) A cryptanalytic time-memory trade-off. IEEE transactions on Information Theory, 26(4): 401-406.
  • Knuth D (1973) The Art of Computer Science, Vol. 3, Sorting and Searching, p.527. Addison-Wesley, Reading, MA., United States
  • Knuth D (2007) The art of programming. Volume 3. Sorting and searching = The Art of Computer Programming, vol.3. Sorting and Searching. - 2nd edition. - Moscow: “Williams”, p. 824.
  • Knuth DE (1975) The Art of Computer Programming, Vol_ IIt.
  • Robling Denning DE (1982) Cryptography and data security. Addison-Wesley Longman Publishing Co., Inc.
  • Ryabko BYa, Fionov AN (2005) Cryptographic methods of information protection: Textbook. Hot line – Telecom.
  • Sannikov VG (2009) Introduction to the theory and methods of cryptographic protection of information.
  • Schneier B (2002) Applied cryptography. Protocols, algorithms, source codes in the C language. Triumph.
  • Wirth N (1989) Algorithms and data structures. Moscow: Mir.
  • Wirth N (2010) Algorithms and data structures. New version for Oberon. Moscow: DMK Press.


This is an open access article distributed under the Creative Commons Attribution License which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.