Что такое CRC? И как это помогает в обнаружении ошибок? - PullRequest
4 голосов
/ 24 декабря 2009

Что такое CRC? И как это помогает в обнаружении ошибок?

Ответы [ 3 ]

7 голосов
/ 24 декабря 2009

CRC - это небезопасная хеш-функция, предназначенная для обнаружения случайных изменений необработанных компьютерных данных, которая обычно используется в цифровых сетях и устройствах хранения, таких как жесткие диски.

Устройство с поддержкой CRC вычисляет короткую двоичную последовательность фиксированной длины, известную как код CRC, для каждого блока данных и отправляет или сохраняет их вместе. Когда блок считан или получен, устройство повторяет расчет; если новый код CRC не соответствует вычисленному ранее, тогда блок содержит ошибку данных, и устройство может предпринять корректирующие действия, например, запросить повторную отправку блока.

Источник: Википедия

3 голосов
/ 24 декабря 2009

CRC означает циклический контроль избыточности. это помогает в обнаружении ошибок .. Он состоит из следующих

b(x)-> transmitted code word
q(x)-> quotient
i(x)-> information polynomial
r(x)-> remainder polynomial
g(x)-> generated polynomial

step 1: x^(n-k) * i(x)

step 2: r(x) = (x^(n-k) * i(x))%g(x)

step 3: b(x) = (x^(n-k) * i(x)) XOR with r(x) 
        which results in a transmitted code word.

this b(x) is send to the reciever end from the sender and if u divide the 
transmitted code word i.e. b(x) with g(x) and if the remainder 
i.e. r(x) is equal to 0 at the reciever end then there is no error 
otherwise there is an error in the transmitted code word during the 
transmission from sender to reciever.

In this way it is helpful in error detection.
0 голосов
/ 24 декабря 2009

Cyclic Redundancy Check - это хеш-функция, которая позволяет вычислять уникальное значение с учетом некоторого ввода, которое гарантированно всегда будет одинаковым для одного и того же ввода. Если входные данные каким-либо образом изменятся по сравнению с исходными, будет сгенерирована другая контрольная сумма CRC. Поэтому, если у вас есть входные данные и контрольная сумма, вы можете рассчитать новую контрольную сумму из входных данных и сравнить обе контрольные суммы. Если они одинаковые, это означает, что ввод не изменился.

...