Suma kontrolna SYSV
Algorytm sumy kontrolnej SYSV był powszechnie używanym, starszym algorytmem sumy kontrolnej . Zostało zaimplementowane w systemie UNIX System V i jest również dostępne za pośrednictwem narzędzia wiersza poleceń sum .
Ten algorytm jest bezużyteczny z punktu widzenia bezpieczeństwa i jest słabszy niż CRC-32 cksum do wykrywania błędów.
Opis algorytmu
Główną częścią tego algorytmu jest po prostu dodanie wszystkich bajtów do sumy 32-bitowej. W rezultacie algorytm ten ma cechy prostej sumy:
- ponowne ułożenie tych samych bajtów w innej kolejności (np. przeniesienie tekstu z jednego miejsca w drugie) nie zmienia sumy kontrolnej.
- zwiększenie jednego bajtu i zmniejszenie innego bajtu o tę samą wartość nie zmienia sumy kontrolnej.
- dodanie lub usunięcie bajtów zerowych nie zmienia sumy kontrolnej.
W rezultacie wiele typowych zmian w danych tekstowych nie jest wykrywanych tą metodą.
Pseudokod FreeBSD dla tego algorytmu to:
s = suma wszystkich bajtów ; _ r = s % 2 ^ 16 + ( s % 2 ^ 32 ) / 2 ^ 16 ; cksum = ( r % 2 ^ 16 ) + r / 2 ^ 16 ;
Ostatnia część składa wartość na 16 bitów.
Źródła
Kategoria: