ГОСТ Р 55688-2013
Приложение Г
(обязательное)
Вычисление циклического избыточного кода
Реализация проверки с помощью циклических избыточных кодов (CRC-кодов)
позволяет выявлять ошибки передачи на приемной стороне. С этой целью данные
CRC-кода могут быть включены в передаваемые страницы данных. Данные
CRC-кода определяются в соответствии с описанной в настоящем приложении
процедурой.
Код CRC определяется с помощью полинома степени
п :
G
(
а
)
=
х
”
+ g n_, •
х
я
А+
...
+g
,
•
дг2+
g, •
д-+1
При
я£1 И
g,
€ Ф
f
* - l
.....
Л -1 .
CRC-код может быть вычислен с помощью сдвигового регистра, содержащего
п
ячеек, где
п
равно степени полинома. Блок-схема вычисления CRC-кода
представлена на рисунке Г.1. Ячейки обозначаются как
Ь0...
где />„
соответствует 1; />, соответствует
а
; />, соответствует
а
2;
ЬвА
соответствует
a
"j .
Сдвиговый регистр дополняется с помощью вставки операторов XOR на входе тех
ячеек, где соответствующие коэффициенты
g,
полинома равны 1.
Младший
t>o
01
бит
О/т-2
старший
0и1
Рисунок Г.1 - Блок-схема вычисления CRC-кода
В начале вычислениякода CRC-32все ячейки сдвиговогорегистра
инициализируются нулями.
После поступления первого бита блока данных на вход данных (старший бит
поступает первым) тактовый генератор обеспечивает сдвиг ячеек регистра на одну
44