Cyklisk redundanstjek: Forskelle mellem versioner

Content deleted Content added
m Retter tankestreger – burde ignorere [[ ]], {{ }} og <math> samt <gallery>
Fjerner en farlig masse mellemrum i kilderne
Linje 1:
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 [[harddisk]]e.
 
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. <ref name="ritter-1986">{{cite journal|first=Terry|last=Ritter|title=The Great CRC Mystery|url=http://www.ciphersbyritter.com/ARTS/CRCMYST.HTM|accessdate=21 May 2009|work=[[Dr. Dobb's Journal]]|year=1986|month=February|volume=11|issue=2|page=26–34, 76–83}}</ref>
<ref name="ritter-1986">{{cite journal|first=Terry|last=Ritter|title=The Great CRC Mystery|url=http://www.ciphersbyritter.com/ARTS/CRCMYST.HTM|accessdate=21 May 2009|work=[[Dr. Dobb's Journal]]|year=1986|month=February|volume=11|issue=2|page=26–34, 76–83}}</ref>
 
CRC blev opfundet af [[W. Wesley Peterson]], og publiseret i hans artikel fra [[1961]].<ref name="PetersonBrown1961"> {{cite journal | author = Peterson, W. W. and Brown, D. T. | year = 1961 | month = January | title = Cyclic Codes for Error Detection | journal = Proceedings of the IRE | doi = 10.1109/JRPROC.1961.287814 | volume = 49 | pages = 228}}</ref>
Den [[The Institute of Electrical and Electronics Engineers, Inc.|IEEE]]-anbefalede 32-bit CRC, anvendt i [[ethernet]] og andre steder, kom frem ved en telekommunikationsconference i [[1975]]. <ref name="BrayerHammond1975">{{cite conference | first = K | last = Brayer | coauthors = Hammond, J L Jr. | year = 1975 | month = December | title = Evaluation of error detection polynomial performance on the AUTOVON channel | conference = National Telecommunications Conference, New Orleans, La | booktitle = Conference Record | volume = 1 | publisher = Institute of Electrical and Electronics Engineers | location = New York | pages = 8-21 to 8-25 }}</ref>
<ref name="PetersonBrown1961">
{{cite journal
| author = Peterson, W. W. and Brown, D. T.
| year = 1961
| month = January
| title = Cyclic Codes for Error Detection
| journal = Proceedings of the IRE
| doi = 10.1109/JRPROC.1961.287814
| volume = 49
| pages = 228
}}</ref>
Den [[The Institute of Electrical and Electronics Engineers, Inc.|IEEE]]-anbefalede 32-bit CRC, anvendt i [[ethernet]] og andre steder, kom frem ved en telekommunikationsconference i [[1975]].
<ref name="BrayerHammond1975">{{cite conference
| first = K
| last = Brayer
| coauthors = Hammond, J L Jr.
| year = 1975
| month = December
| title = Evaluation of error detection polynomial performance on the AUTOVON channel
| conference = National Telecommunications Conference, New Orleans, La
| booktitle = Conference Record
| volume = 1
| publisher = Institute of Electrical and Electronics Engineers
| location = New York
| pages = 8-21 to 8-25
}}</ref>
 
== CRC og dataintegritet ==
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<ref name="eurocontrol-faq">{{cite web|title=Eurocontrol – FAQ: Technologies|url=http://www.eurocontrol.int/aim/public/faq/chain_faq3.html|publisher=[[European Organisation for the Safety of Air Navigation]]|accessdate=29 April 2009|quote=A Cyclic Redundancy Check (CRC) is a means by which a data item may be assessed to verify that it has not been changed (either intentionally or unintentionally) since the CRC value was applied to it.}}</ref> 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]].
Det formodes ofte forkert
<ref name="eurocontrol-faq">{{cite web|title=Eurocontrol – FAQ: Technologies|url=http://www.eurocontrol.int/aim/public/faq/chain_faq3.html|publisher=[[European Organisation for the Safety of Air Navigation]]|accessdate=29 April 2009|quote=A Cyclic Redundancy Check (CRC) is a means by which a data item may be assessed to verify that it has not been changed (either intentionally or unintentionally) since the CRC value was applied to it.}}</ref>
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.