Una suma de verificació o checksum és una mesura molt simple per a protegir la integritat de dades, verificant que no hagin estat corrompudes. És utilitzat per a comunicacions (internet, comunicació de dispositius, etc.) i per a dades emmagatzemades (arxius comprimits, discs portàtils, etc.), i el tipus de checksum més popular és el control cíclic de redundància (CRC).

El procés consisteix a sumar cada un dels components bàsics d'un sistema (generalment cada byte) i emmagatzemar el valor del resultat. Posteriorment es realitza el mateix procediment i es compara el resultat amb el valor emmagatzemat. Si ambdues sumes concorden, s'assumeix amb certa seguretat que les dades no han estat danyades.

La manera més simple de checksum no detecta una varietat de corrupcions; particularment no canviarà si:

  • Es canvia l'ordre dels bytes de la informació.
  • S'agreguen o s'eliminen bytes de valor igual a zero.
  • Múltiples errors que es cancel·len uns amb els altres.

Els tipus de control de redundància més sofisticats, incloent el checksum de fletcher, Adler-32 i el control de redundància cíclica (CRC) són dissenyats per a tractar aquestes deficiències i consideren no només el valor de cada byte sinó també el de la seva posició. El cost de la capacitat de detectar més tipus d'error augmenta juntament amb la complexitat de l'algorisme de comprovació.

Aquests tipus de control per redundància són útils en la detecció de les modificacions accidentals com ara corrupció de les dades o els errors d'emmagatzematge en un canal de comunicacions. Tot i això, no proporcionen cap seguretat contra un agent malèvol mentre la seva estructura matemàtica sigui simple. Per a proveir aquest tipus d'integritat, és necessari l'ús d'una funció criptogràfica hash, com ara SHA-256. S'han trobat col·lisions en SHA-1 (actualment l'opció més popular) però no hi ha evidència a data de 2005 que SHA-256 sofreixi deficiències similars.

En UNIX hi ha una eina anomenada cksum que genera un CRC-32 i un checksum per a un arxiu determinat donat com a paràmetre.

Vegeu també modifica

Enllaços externs modifica