CRC vs kontrollsumma
Kui andmeid hoitakse igal ajal arvutis nende edastamise kavatsusega, tuleb tagada, et andmeid ei rikutaks. Kui saadetakse rikutud andmeid, edastatakse ebatäpseid andmeid ja see ei pruugi soovitud viisil töötada. Seetõttu on vaja enne krüptimist või edastamist tõrkeotsingu süsteemi, mis kontrollib, kas kõik sisestatud andmed on korras ja kas need pole rikutud. Andmete kontrollimiseks on kaks peamist meetodit.
Kontrollsumma on vaieldamatult vanim meetod, mida on kõigi andmete valideerimisel enne nende saatmist kasutatud. Kontrollsumma aitab ka andmete autentimisel, kuna algandmed ja sisestatud andmed peaksid vastama. Kui märgatakse kõrvalekallet, mida nimetatakse kehtetuks kontrollsummaks, võib oletada, et antud meetodil võis olla andmeid kompromiteerida.
Tsükliline liiasuse kontroll ehk CRC, nagu seda tavaliselt nimetatakse, on mõiste, mida kasutatakse ka andmete kinnitamisel. CRC kasutatav põhimõte sarnaneb kontrollsummadega, kuid selle asemel, et kasutada andmete kontrollimiseks Checksumis 8-baitist süsteemi, kasutatakse CRC määramisel polünoomi jagunemist. CRC on tavaliselt 16 või 32 bitti pikk. Kui üks bait puudub, märgitakse andmetes ebakõla, kuna see ei anna algsest osa.
Erinevused
Üks erinevusest kahe vahel on see, et CRC kasutab 16– või 32-bitisel kodeerimisel põhinevat matemaatilist valemit, mitte aga 8-baidisel baasil Checksum, et kontrollida andmete kõrvalekaldeid. CRC põhineb räsi lähenemisel, samas kui Checksum saab oma väärtused kõigi kärbitud andmete liitmisel, mis võivad olla 8 või 16 bitti. CRC-l on seetõttu suurem võime tuvastada andmevead räsisüsteemis puuduva üksiku bitina, mis muudab üldtulemust.
Kontrollsumma seevastu nõuab vähem läbipaistvust ja tagab ulatusliku vigade tuvastamise, kuna see kasutab muutujaga baite. Seetõttu võib öelda, et CRC peamine eesmärk on tabada mitmesuguseid vigu, mis võivad tekkida andmete edastamisel analoogrežiimis. Kontrollsumma seevastu võib öelda, et see on loodud ainult selleks, et märgata tarkvara juurutamisel ilmneda võivaid regulaarseid vigu..
CRC on kontrollsummade parandamine. Nagu varem märgitud, on kontrollsummad arvutamise traditsiooniline vorm ja CRC-d on lihtsalt aritmeetika edasiarendus, mis suurendab arvutamise keerukust. See suurendab sisuliselt olemasolevaid mustreid ja seega on selle meetodi abil võimalik tuvastada rohkem vigu. Kontrollsumma tuvastab peamiselt ühebitilisi vigu. Kuid CRC suudab tuvastada kõik andmete arvutamisel täheldatud topeltbiti vead. Kahe andmete valideerimismeetodi erinevuste mõistmiseks kogutakse teadmisi, miks neid kahte meetodit kasutatakse Interneti-protokollis käsikäes, kuna see vähendab esinevate Interneti-protokollide haavatavust.
Kokkuvõte:
- CRC on vigade kontrollimisel ja aruandlusel põhjalikum kui Checksum.
- Kontrollsumma on kahest programmist vanem.
- CRC-l on keerulisem arvutus kui kontrollsummal.
- Kontrollsumma tuvastab peamiselt andmetes ühebitiseid muudatusi, samas kui CRC saab kontrollida ja tuvastada kahekohalisi vigu.
- CRC suudab oma keerukama funktsiooni tõttu tuvastada rohkem vigu kui kontrollsumma.
- Kontrollsummat kasutatakse peamiselt tarkvara valideerimisel andmete valideerimisel.
- CRC-d kasutatakse peamiselt andmete hindamiseks analoogandmeedastuses.