MD5 merupakan salah satu jenis Cryptographically secure hashing untuk proses pembuatan suatu “sidik jari” (Fingerprint atau kerap juga disebut digest untuk suatu naskah.
Algoritma MD5 dirancang oleh Ron Rivest dan penggunaannya sangat populer dikalangan komunitas open source sebagai checksum untuk file yang dapat di download. MD5 juga kerap digunakan untuk menyimpan password dan juga digunakan dalam digital signature dan certificate. Spesifikasi lengkap untuk algoritma MD5 ada pada suatu RFC (request for comment).
Besarnya blok untuk MD5 adalah 512 bit sedangkan digest size adalah 128 bit. Karena word size ditentukan sebesar 32 bit, satu blok terdiri dari 16 word sedangkan digest terdiri dari 4 word. Indeks untuk bit dimulai dari 0.
Preprocessing dimulai dengan padding sebagai berikut :
- Bit dengan nilai 1 ditambahkan setelah ahir naskah.
- Deretan bit dengan nilai 0 ditambahkan setelah itu, sehingga besar dari naskah mencapai nilai 448 (mod 512) (sedikitnya 0 dan sebanyaknya 511 bit dengan nilai 0 ditambahkan, sehingga tersisa 64 bit untuk diisi agar besar naskah menjadi kelipatan 512).
- 64 bit yang tersisa diisi dengan besar naskah asli dalam bit.