Cykliczny kod nadmiarowy: Różnice pomiędzy wersjami

[wersja przejrzana][wersja przejrzana]
Usunięta treść Dodana treść
Ark (dyskusja | edycje)
Anulowanie wersji nr 25554440 autora 89.231.61.2, prawidłowa nazwa to Cyclic Redundancy Check, słowo kod występuje w polskim tłumaczeniu
m drobne redakcyjne, poprawa linków
Linia 1:
'''CRCCykliczny kod nadmiarowy''', ([[Językinaczej: angielskicykliczna kontrola nadmiarowa {{lang|ang.]]en}} ''Cyclic Redundancy Check, CRC'' – [[cykl]]iczny kod nadmiarowy)jest to system [[suma kontrolna|sum kontrolnych]] wykorzystywanawykorzystywany do wykrywania uszkodzonychprzypadkowych błędów pojawiających się podczas przesyłania i magazynowania [[dane binarne|danych]] [[system binarny|binarnych]].
 
Kod CRC zwykle dodawany jest do ramki lub pakietu (np. w standardzie [[USB]]) w celu późniejszej weryfikacji integralności danych. Jest to [[algorytm]] wykrywania błędów bardziej niezawodny niż prosta [[suma kontrolna]] (w przypadku sumy błędy potrafią się zniwelować, czyli nie zmienić sumy, w CRC jest to dużo trudniejsze). Wartość CRC określana jest w sposób bardziej rygorystyczny niż wartość sumy kontrolnej - otrzymuje się ją w wyniku podziału wartości otrzymanej w wyniku odczytania ciągu binarnego przez wcześniej określoną liczbę binarną.
 
CRC jest resztą z binarnego dzielenia ciągu danych przez relatywnie krótki dzielnik, zwany generatorem lub wielomianem CRC. W praktyce stosuje się najczęściej wielomiany o długości 17 lub 33 bitów, dające odpowiednio wyniki 16- (CRC-16) i 32-bitowe (CRC-32).
 
== Obliczanie ==
Cykliczny kod nadmiarowy, krótko: CRC, jest resztą z binarnego dzielenia ciągu danych przez relatywnie krótki dzielnik, zwany generatorem lub wielomianem CRC. W praktyce stosuje się najczęściej wielomiany o długości 17 lub 33 bitów, dające odpowiednio wyniki 16- (CRC-16) i 32-bitowe (CRC-32). Aby obliczyć n-bitowy kod CRC, bity danych należy traktować jak współczynniki wielomianu, który następnie należy podzielić przez (n+1)-bitowy wielomian CRC. Współczynniki wielomianu będącego resztą z dzielenia to suma kontrolna CRC. W praktyce wykorzystać można następujący algorytm:
#W jednej linii umieść binarny ciąg danych.
#W następnej linii wypisz współczynniki wielomianu CRC, zaczynając od pozycji nad którą znajduje się 1.
#Wykonaj operację [[Alternatywa wykluczająca|XOR]] "pod kreską", pozostałe cyfry przepisz.
#Jeżeli stopień wielomianu wynikowego nie jest mniejszy niż stopień wielomianu CRC, przejdź do kroku 2.
#Najmłodsze n bitów stanowi sumę kontrolną.
Linia 36 ⟶ 32:
 
== Zastosowanie ==
Metoda ta jest szeroko wykorzystywana do wykrywania błędów przypadkowych, ale nie nadaje się do ochrony integralności w zastosowaniach kryptograficznych. CRC jest relatywnie łatwe do sfałszowania, tj. jest możliwe takie poprawienie ciągu bitów, by dawał on poprawne CRC. Jest jednak [[algorytm]]em wykrywania błędów lepszym od zwykłej sumy kontrolnej, gdzie błędy mogą się wzajemnie zniwelować, czyli nie zmienić sumy kontrolnej. Wartość CRC określana jest w sposób bardziej rygorystyczny niż wartość sumy kontrolnej, ponieważ oblicza się go przez podział wartości otrzymanej w wyniku odczytania ciągu binarnego przez wcześniej określoną liczbę binarną.
 
CRC jest szeroko wykorzystywany w technice komputerowei i telekomunikacji, np. jest dodawany jest do [[sektor]]a [[dane|danych]] [[dysk twardy|dysku twardego]] lub [[pakiet telekomunikacyjny|pakietu telekomunikacyjnego]] cyfrowej [[sieć telekomunikacyjna|sieci telekomunikacyjnej]], w celu weryfikacji integralności danych.
 
== Zobacz też ==