Mis on kontrollsummad?

Kontrollsummad on fikseeritud teabeplokid või andmed, mida kasutatakse andmete terviklikkuse kontrollimiseks ja säilitamiseks arvutipõhise teabe salvestamisel ja edastamisel. Matemaatiliste funktsioonide abil arvutab kontrollsumma algoritm bittide arvu konkreetses teabeplokis ja genereerib arvu, mis esindab täpseid andmeid. Kui andmed on mis tahes viisil dubleeritud, võrreldakse duplikaati arvutatud väärtuse kaudu algse numbriga. Kui numbrid ühtivad, loetakse andmed täielikuks ja täpseks.

Enamik kehtivaid failiedastusprotokolle (FTP) nõuavad teatud tüüpi andmete kontrollimist ja paljud funktsioonid on võimelised mitte ainult tuvastama, vaid ka parandama väiksemaid andmete terviklikkusega seotud probleeme. Teatud tüüpi kontrollsummad (tuntud ka kui räsisummad) hõlmavad md5 ja tsüklilist koondamise kontrolli (CRC). CRC-d on teatud tüüpi kontrollsumma, mida tuntakse polünoomkoodi kontrollsummana ja mis on võimeline tuvastama algse andmevormingu juhuslikke muutusi.

Ehkki see on kasulik veebi või võrdõigusvõrkude (P2P) kaudu allalaaditud failide vigade tuvastamiseks, kasutatakse kontrollsummasid ka kõigi funktsioonide puhul, mille puhul andmed võivad võrgu või andmekandja kaudu edastamisel rikkuda. Andmevead on sageli põhjustatud puuduvatest, dubleerivatest või valedest bittidest. Kuna kontrollsumma väärtus arvutatakse andmeploki iga biti põhjal, võib isegi üks puuduv bitt põhjustada kontrollsumma vea.

Enamik faile kodeerivad kontrollsummad otse oma andmetesse, tavaliselt lisatakse need faili lõppu. Kui fail edastatakse teise süsteemi või seadmesse, loeb vastuvõtja kontrollsummat ja kontrollib oma algoritmi abil, et kogu fail on veatult vastu võetud. Puuduvate, rikutud või korduvate bitidega failid ei pruugi korralikult või üldse toimida. Teised võivad näida toimivat õigesti, hoolimata kontrollsumma ebaõnnestumisest. Mittetäielikud või rikutud andmed võivad aja jooksul halveneda, kuni need muutuvad kasutuskõlbmatuks või põhjustavad vigu.

Oma olemuse tõttu on põhilised kontrollsummad üldiselt kasulikud ainult väikeste andmeplokkide kontrollimisel ja parandamisel. Teabe hulga suurenedes suureneb ka vea tõenäosus, mida kontrollsumma ei tuvasta ega paranda. See võib põhjustada rikutud andmete korduvat kontrollsumma läbimist, tekitada rohkem vigu ja isegi rikkuda kontrollsumma andmeid.

Tsüklilistel liiasuskontrollidel on nende algoritmide keerukuse tõttu palju madalam veamäär kui tavalisel kontrollsummal ja neid saab rakendada suurematele andmeplokkidele. Kuigi CRC-d pole turvalised, tagavad need andmete terviklikkuse kontrollimisel ja säilitamisel siiski suurema töökindluse. Mõni tarkvara pakub kohandatud funktsioonide alusel ka kontrollsumma võimekust ja veaparandust.