Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

So exactly why was there a 15-char restriction in the old version? Wouldn't a dictionary attack be fast regardless of length?


55 chars. The MD5 and SHA-1 algorithms process data in 512-bit (64 byte) blocks, where the last bytes are the 0x80 0x00 ... 0x00 padding followed by the message size. A message with 55 bytes will end with [0x80 0x37 0x00 0x00 0x00 0x00 0x00 0x00 0x00], a message with 54 bytes will end with [0x80 0x00 0x36 0x00 0x00 0x00 0x00 0x00 0x00 0x00], and so on.

So the crackers are optimized for single-block messages (passwords), since making the length generic would slow things down. I guess they've added support for that now.


probably something making 16 byte memory accesses simpler/faster than bigger ones on GPUs (eg by fitting in some cache or something). GPGPU architectures can still be bit weird.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: