Полезное:
Как сделать разговор полезным и приятным
Как сделать объемную звезду своими руками
Как сделать то, что делать не хочется?
Как сделать погремушку
Как сделать так чтобы женщины сами знакомились с вами
Как сделать идею коммерческой
Как сделать хорошую растяжку ног?
Как сделать наш разум здоровым?
Как сделать, чтобы люди обманывали меньше
Вопрос 4. Как сделать так, чтобы вас уважали и ценили?
Как сделать лучше себе и другим людям
Как сделать свидание интересным?
Категории:
АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника
|
Вопрос №20. CRC-код. Назначение.⇐ ПредыдущаяСтр 13 из 13 В криптографических системах для обеспечения целостности передачи информации используется СRС-код (cyclic redundancy check, проверка циклической суммы), выполняющий функцию аутентификации содержания сообщения или документа и предназначенный для защиты от несанкционированного изменения информации. Для построения CRC-кода используется алгоритм вычисления контрольной суммы, основанный на делении информационного многочлена на примитивный многочлен. Популярность CRC-кода обусловлена тем, что проверка контрольной суммы просто реализуема, легко анализируется и позволяет обнаруживать ошибки, вызванные наличием шума в каналах передачи данных. Общая структурная схема устройства генератора CRC-кода приведена на рис. 1.26.
Рис. 20.1 Структурная схема генератора CRC-кода
Исходная информационная последовательность символов подается на вход устройства и эта же последовательность поступает на его выход (переключатель находится в нижнем положении). Далее переключатель соединяет верхнюю шину генератора СRC-кода с выходом устройства. Таким образом, происходит считывание CRC-кода, и каждый информационный блок дополняется CRC-кодом. Этот код представляет собой результат вычисления контрольной суммы (КС), основанный на делении многочленов. Принцип вычисления КС основан на использовании свойств двоичного многочлена, в виде которого представляется исходная битовая последовательность блока данных. При этом каждый бит такой последовательности соответствует одному из полиномиальных коэффициентов. Например, десятичное число 90 (1011010 в двоичной записи) соответствует многочлену следующего вида: P(x) = 1·x 6 + 0·x 5 + 1·x 4 + 1· x 3 + 0·x 2 + 1·x 1 + 0·x 0. Подобным же образом в виде многочлена может быть представлен любой из блоков обрабатываемых данных. При вычислении контрольного кода по методу КС используется свойство поведения многочленов, позволяющее выполнять с ними любые арифметические действия. Контрольный код рассчитывается, как остаток от деления по модулю 2 многочлена, полученного из исходной битовой последовательности на другой, заранее определѐнный многочлен (такой многочлен называется порождающим или примитивным): R(x) = P(x)xr mod G(x), где R(x) — контрольный код многочлена P(x), P(x) - исходный многочлен (информационный), G(x) — порождающий многочлен, r - степень порождающего многочлена. В качестве стандартных порождающих многочленов использу- ются следующие многочлены. CRC-32: G(x) = x 32 + x 26 + x 23 + x 22 + x 16 + x 12 + x 11 + x 10 + x 8 + x 7 + x 5 + +x 4+ x 2+ x+1. CRC-8: G(x) = x 8 + x 7 + x 6 + x 4 + x 2 +1.
|