Siirry sisältöön

CRC

Wikipediasta
Tämä artikkeli käsittelee algoritmia. CRC on myös Costa Rican maatunnus urheilukilpailuissa. Lisää merkityksiä täsmennyssivulla.

CRC (engl. Cyclic redundancy check) on tarkistussumman luontiin tarkoitettu algoritmi. Ennen siirron tai säilytyksen aloittamista käsiteltävästä tiedosta lasketaan summa vastaamaan yhtä tavua tai suurempaa kokonaisuutta kuten verkkoliikenteen pakettia tai tiedoston osaa. Saatua tarkistetta käytetään havaitsemaan siirron aikaisia virheitä, jotka ovat aiheutuneet siirtotien häiriöistä tai kohinasta. CRC ei kuitenkaan ole kryptografisesti vahva eikä sillä voida havaita viestien väärennystä.

CRC:n kehitti W. Wesley Peterson 1961. Tarkistussumma otettiin mukaan Ethernet-standardiin 1975. CRC:tä käytetään mm. Ethernet-, USB-, Bluetooth-, Serial ATA- ja SCSI-väylissä, GSM-kontrolliväylässä sekä MPEG-, ZIP-, Gzip- ja PNG-tiedostoissa.

CRC on tarkoitettu vain tarkistukseen, ja vikatilanteessa tiedot on lähetettävä uudelleen. Virheenkorjauskoodilla pienen virheen voi korjata ilman uudelleenlähetystä.

CRC perustuu jakolaskuun, ja tarkistussumma on jakojäännös. Binaarilukuja ei käsitellä kokonaislukuina vaan polynomeina, jolloin esimerkiksi:[1]

0x25 = 0010 0101 = 0*x7 + 0*x6 + 1*x5 + 0*x4 + 0*x3 + 1*x2 + 0*x1 + 1*x0

CRC perustuu XOR-operaation käyttöön.[1]

  1. a b Understanding and implementing CRC (Cyclic Redundancy Check) calculation sunshine2k.de. Viitattu 30.10.2022. (englanniksi)
Tämä tietotekniikkaan liittyvä artikkeli on tynkä. Voit auttaa Wikipediaa laajentamalla artikkelia.