Sunteți pe pagina 1din 4

Lucrare Individuală

Nr.4
Adler-32-CISCO

Autor: Liurca Andreea, IA1801


Algoritmul utilizat in hash-are

• Adler-32 se obtine prin calcularea a două sume de control pe 16 biti A si B si


concatenarea biti lor într-un întreg pe 32 de biti. A este suma tuturor octetilor în
fluxul plus unu, iar B este suma valorilor individuale ale lui A de la fiecare pas.
La începutul unei algoritmului Adler-32, lista A este initializata cu 1, iar lista B
cu 0. Sumele sunt efectuate modulo 65521 (cel mai mare număr prim mai mic
decât 2^16). Acesti octeti sunt stocate în ordine (big endian), B ocupă doi octeti
cei mai semnificativi.
• Unde D este șirul de octeți pentru care se calculează suma de control și n este
lungimea lui D.
• A = 1 + D1 + D2 + ... + Dn (mod 65521)
• B = 0+(1 + D1) + (1 + D1 + D2) + ... + (1 + D1 + D2 + ... + Dn) (mod
65521)= n×D1 + (n−1)×D2 + (n−2)×D3 + ... + Dn + n (mod 65521)
• Adler-32(D) = B × 65536 + A
Crearea unui hash cu Adler-32 în care se va hash-a CISCO-04450172

ASCII code: C-67; I-73; S-83; C-67; O-79.


A B
1 + 67 = 68 0 + 67 = 67

68 + 73 = 141 67 + 141 = 208

141 + 83 = 224 208 + 224 = 432

224 + 67 = 291 432 + 291 = 723

291 + 79 = 370 723 + 370 = 1093

A=370=0172
B=1093=0445
Output = 04450172 Hash

S-ar putea să vă placă și