11-05-2012, 11:45 AM
The technical reason behind is that NTLM is unicode version of MD4. After the convert, each input doubles in size. For example the word "password" becomes the size 16.
A single MD4 transformation is limited to the size 64 (block) - 8 (64 bit length) - 1 (stopbit) = 55. Now this explains why you can have only 27 chars in NTLM -> 27 * 2 = 54. but 28 * 2 = 56 which is to long.
A single MD4 transformation is limited to the size 64 (block) - 8 (64 bit length) - 1 (stopbit) = 55. Now this explains why you can have only 27 chars in NTLM -> 27 * 2 = 54. but 28 * 2 = 56 which is to long.