Checksum – Hvordan kontrollerer man data for bitfejl?

I digital bevaring er det vigtigt, at data bevares uden bitfejl over tid. Derfor er det nødvendigt at undersøge sin samling med jævne mellemrum. Checksum kan hjælpe til at kontrollere data for bitfejl.

Checksum_DigitalPreservation

Hvad er en checksum?

En checksum er en slags fingeraftryk af en fil, som fylder meget mindre end selve filen. En checksum kan bruges til forskellige formål:

  • Når en fil transporteres fra ét sted til et andet. Her vil checksummen blive brugt til at kontrollere, at filen ikke har taget skade under transporten. Hvis checksummen er den samme på afsendelsestidspunktet som ved modtagelsestidspunktet, er der en forsvindende lille risiko for, at filen har taget skade under transporten.
  • Når bitintegriteten i bitbevarede filer skal kontrolleres. Checksummer bruges i integritetscheck, da der gerne er tale om kontrol af milliarder af filer, hvor nogle af filerne kan være meget store. Det vil derfor være meget ressourcekrævende at lave direkte kontrol af filerne ved fx at sammenligne dem bit for bit. I mange tilfælde vil det kræve så mange computerressourcer, at det slet ikke kan lade sig gøre inden for rimelig tid.

Checksumsalgoritmer

Der findes forskellige typer af checksummer. En checksumstype er bestemt ved den måde, som man finder frem til værdien af checksummen for en fil på. Det kaldes også for en checksumsalgoritme. Bemærk, at en checksumsalgoritme er en beskrivelse af, hvordan man udregner checksummen. Det er altså ikke et program, men algoritmen kan bruges til at lave et program til beregningen.

En meget anvendt checksumsalgoritme er MD5 (Message-Digest algorithm 5). En checksum er gerne navngivet efter, hvilken algoritme den er udregnet efter.  En MD5 checksum bliver typisk udtrykt som et 32 ciffer langt hexadecimaltal. Et eksempel på en nyere checksumsalgoritme er SHA-1 (Secure Hash Algorithm).

Bitfejl

En bitfejl kan fx forekomme, hvis der sker en fejl på det medie (fx disk, DVD, bånd), som bittene ligger på. I det simple tilfælde vil en bitfejl betyde, at der sker en fejl i indholdet af filen. I det meget simple tilfælde er det kun ét tegn i en tekst eller ét punkt i et billede, der ændres. Hvis der for eksempel sker en bitfejl i bit 20 for teksten ”Hej Du”, vil det betyde, at vi i stedet får teksten ”Hez du”. I mange tilfælde er skaden dog langt større, fx hvis bitfejlen sker i informationer om filen, eller hvis filen er i et komprimeret format.

Bogstaver H e j d u
Talkode 72 101 106 32 100 117
Binære kode 01001000 01100101 01101010 00100000 01100100 01110101
Binære kode med fejl 01001000 01100101 01111010 00100000 01100100 01110101
Talkode med fejl 72 101 122 32 100 117
Bogstaver med fejl H e z d u

I tabellen herover illustreres, hvordan bitten ændres af fejlen i bit 20. Du kan finde mere om eksemplet og koderne under beskrivelsen af digitale materialer.

En MD5 checksum af ”Hej du” vil give resultatet A7892559F6BC1401, og det vil ikke være den samme checksum, vi får på ”Hez du”.  På den måde kan man bruge checksummen til at konstatere, at der er fejl i filen, og efterfølgende begynde arbejdet med at finde ud af, hvilken af de kopier man har gemt, der er den fejlfri.

Samme checksum for to filer

MD5 checksummen kan i meget sjældne tilfælde give samme checksum for to forskellige filer. Problemet opstår, fordi der kun kan gives FFFFFFFFFFFFFFFF = 2128 forskellige checksummer.  2128 svarer til at gange 2 med 2 128 gange i alt. Resultatet har 38 cifre i 10-talsystemet. At der kommer den samme checksum for to forskellige filer, sker dog så sjældent, at det ikke er en risiko, man regner for noget. MD5 er stadig den mest brugte checksumsalgoritme, men den er for nyligt blevet brudt, hvilket betyder, at data vil kunne forvanskes, uden det opdages ved checksumsundersøgelsen. Denne risiko kan dog nedbringes ved at bruge andre checksumsalgoritmer, der baserer sig på endnu flere bits, som fx SHA-1 (Secure Hash Algorithm).

Få mere information

Du kan finde mere teknisk information her:

SHA-1

MD5

Eld Zierau, Det Kongelige Bibliotek1, november 2010 / revideret marts 2012 / revideret januar 2015


1. Statsbiblioteket og Det Kongelige Bibliotek fusionerede pr. 1. januar 2017. Med afdeling i hhv. Aarhus og København er institutionerne nu samlet under navnet: Det Kgl. Bibliotek.

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *