Movatterモバイル変換


[0]ホーム

URL:


Pereiti prie turinio
VikipedijaLaisvoji enciklopedija
Paieška

MD5

Straipsnis iš Vikipedijos, laisvosios enciklopedijos.
  Šiam straipsniui ar jo daliaitrūksta išnašų į patikimus šaltinius.
Jūs galite padėti Vikipedijai pridėdamitinkamas išnašas su šaltiniais.

MD5 (Message-Digest algorithm 5) – žinutėssantraukos algoritmas, plačiai naudojama kriptografijosmaišos funkcija su 128 bitų (16 baitų) maišos reikšme.

Santraukos skaičiavimas

[redaguoti |redaguoti vikitekstą]
  • Pradinis tekstas suskirstomas į N blokų po 512 bitų (64 baitus).
  • Jei paskutiniameMN{\displaystyle M_{N}} bloke trūksta informacijos iki 512 bitų, bloko gale pridedamas 1 ir tiek 0, kad būtų užpildyta likusi bloko dalis.
  • Pradinis kontrolinis blokasMD0{\displaystyle MD_{0}} 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į.

F(X,Y,Z) = XY or not X Z{\displaystyle F(X,Y,Z)\ =\ XY\ or\ not\ X\ Z}

G(X,Y,Z) = XZ or Y not Z{\displaystyle G(X,Y,Z)\ =\ XZ\ or\ Y\ not\ Z}

H(X,Y,Z) = X xor Y xor Z{\displaystyle H(X,Y,Z)\ =\ X\ xor\ Y\ xor\ Z}

I(X,Y,Z) = Y xor (X and not Z){\displaystyle I(X,Y,Z)\ =\ Y\ xor\ (X\ and\ not\ Z)}

Kopijuojamas blokas q į XX[j]=M[q16+j]{\displaystyle X[j]=M[q*16+j]}.Išsaugomos A,B,C,D reikšmės

AA=A{\displaystyle AA=A}

BB=B{\displaystyle BB=B}

CC=C{\displaystyle CC=C}

DD=D{\displaystyle DD=D}

Atliekami skaičiavimai:

A = B + ((A + F(B,C,D) + X[k] + T[i]) <<< s){\displaystyle A\ =\ B\ +\ ((A\ +\ F(B,C,D)\ +\ X[k]\ +\ T[i])\ <<<\ s)}

A = B + ((A + G(B,C,D) + X[k] + T[i]) <<< s){\displaystyle A\ =\ B\ +\ ((A\ +\ G(B,C,D)\ +\ X[k]\ +\ T[i])\ <<<\ s)}

A = B + ((A + H(B,C,D) + X[k] + T[i]) <<< s){\displaystyle A\ =\ B\ +\ ((A\ +\ H(B,C,D)\ +\ X[k]\ +\ T[i])\ <<<\ s)}

A = B + ((A + I(B,C,D) + X[k] + T[i]) <<< s){\displaystyle A\ =\ B\ +\ ((A\ +\ I(B,C,D)\ +\ X[k]\ +\ T[i])\ <<<\ s)}

Sudedame:

A = A + AA{\displaystyle A\ =\ A\ +\ AA}

B = B + BB{\displaystyle B\ =\ B\ +\ BB}

C = C + CC{\displaystyle C\ =\ C\ +\ CC}

D = D + DD{\displaystyle D\ =\ D\ +\ DD}

  • Atlikus šiuos veiksmus visiems blokams gautos A,B,C,D reikšmės yra maišos funkcijos reikšmė.
Nebaigta  Šis straipsnis apieinformatiką (kompiuterių mokslą) yranebaigtas. Jūs galite prisidėti prie Vikipedijospapildydami šį straipsnį.
Rodomas puslapis "https://lt.wikipedia.org/w/index.php?title=MD5&oldid=6770260"
Kategorijos:
Paslėptos kategorijos:

[8]ページ先頭

©2009-2025 Movatter.jp