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.
[taisyti] Santraukos skaičiavimas
- Pradinis tekstas suskirstomas į N blokų po 512 bitų (64 baitus).
- Jei paskutiniame MN bloke trūksta informacijos iki 512 bitų, bloko gale pridedamas 1 ir tiek 0, kad užpildyti likusią bloko dalį.
- Pradinis kontrolinis blokas MD0 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 Mq atliekamas kontrolinio bloko MDq skaičiavimas, naudojantis ankstesniu kontroliniu bloku MDq − 1. Yra atliekami tokie veiksmai:
Kopijuojamas blokas q į X X[j] = M[q * 16 + j]. Išsaugomos A,B,C,D reikšmės
AA = A
BB = B
CC = C
DD = D
Atliekami skaičiavimai:
![A\ =\ B\ +\ ((A\ +\ F(B,C,D)\ +\ X[k]\ +\ T[i])\ <<<\ s)](../../../math/9/1/7/917e468d23af59824c857360d0f63131.png)
![A\ =\ B\ +\ ((A\ +\ G(B,C,D)\ +\ X[k]\ +\ T[i])\ <<<\ s)](../../../math/7/a/6/7a6c4d4485fd536e9fd6a64b5c9db93c.png)
![A\ =\ B\ +\ ((A\ +\ H(B,C,D)\ +\ X[k]\ +\ T[i])\ <<<\ s)](../../../math/b/d/c/bdca0d45ca6421f9a44349bc18b67e49.png)
![A\ =\ B\ +\ ((A\ +\ I(B,C,D)\ +\ X[k]\ +\ T[i])\ <<<\ s)](../../../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ė.

