From Wikipedia, the free encyclopedia
En cyclic redundancy check (CRC) er en ikke-sikker hashfunktion designet til at detektere tilfældige datafejl på rå computer data, som almindeligvis anvendes i datanet og datalager såsom harddiske.
Et stykke udstyr, der anvender CRC, beregner en kort binær datamængde, som også benævnes CRC-koden eller blot CRC, for hver datablok. Både datablokken og CRC sendes eller gemmes sammen. Når en blok med datablok og CRC senere læses eller modtages, beregner udstyret CRC beregningen igen; hvis den nye CRC ikke er lig den læste eller modtagne CRC (eller i nogle tilfælde ikke udlignes), så indeholder blokken en eller flere datafejl – og i så tilfælde beder udstyret om at få genlæst eller gensendt den fejlbehæftede blok.[1]
CRC blev opfundet af W. Wesley Peterson, og publiceret i hans artikel fra 1961.[2] Den IEEE-anbefalede 32-bit CRC, anvendt i ethernet og andre steder, kom frem ved en telekommunikationsconference i 1975.[3]
CRC er ikke i sig selv anvendelige til at sikre mod bevidst ændring af data, fordi deres matematiske egenskaber gør det let at beregne en CRC justering til en vilkårlig ændring af data.
Det formodes ofte forkert[4] at når en datablok og dens CRC modtages over en åben kanal og CRCen stemmer, kan de sendte data ikke have været ændret. Det er selvfølgelig forkert, fordi både data og CRC kan have være blevet ændret, så CRC stemmer med den nye datablok. Derfor kan CRCs kun anvendes til at verificere korrekthed men ikke dataintegritet.
Der findes en lang række standard CRC polynomier. I praksis er CRC koder på 8, 16, 32 og 64 bit de mest anvendte, men de kan laves med en vilkårlig længde.
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.