CRC

CRC () 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ä.

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

 0x25 = 0010 0101 = 0*x + 0*x + 1*x + 0*x + 0*x + 1*x + 0*x + 1*x

CRC perustuu XOR-operaation käyttöön.

 Katso myös 
 Hamming-koodi
 Reed–Solomon-koodit

 Lähteet 

Luokka:Algoritmit