Анимация
JavaScript
|
Главная Библионтека Рассмотрим процесс получения СЛС-кода последовательности ошибок е. Каждый ед ничный бит этой последовательности, поступив на вход первых двух СЛС-генератор искажает состояние только одного, первого, разряда регистра. В третьем генератор в котором CRC-Kod последовательности А равен остатку от деления многочлена/4л на 9(jc), в аналогичной ситуации искажаются сразу njb разрядов, где пь - количество водов обратной связи. В общем случае схемы СЛС-генераторов имеют вид, показанный на рис. 2.5.2. Входная двоичная последовательность А LFSRl Схема Фибоначчи Feedback Входная двоичная последовательность А LFSR2 Схема Галуа Feedback LFSRl Схема Галуа Feedback Входная двоичная последовательность А Рис. 2.5.2. Варианты схемы одноканального С/?С-генератора: а - на основе генератора Фибоначчи; б, в - на основе генератора Галуа СЛС-генератор, обеспечивающий получение контрольного кода, равного остать от деления многочлена хА{х) на многочлен ф(х)=л:+х + л:+/ + 1, где А{х) - многочлен входной последовательности А = аа,а...а,...а„ „а, G {0,1}, tO,{m-1), показан на рис. 2.5.3. Глава CRC-KOfl
2.5.3. Обработка Ф(х) = х + х + двух слов в С/?С-генераторе, соответствующем образующему многочлену х + х + \ и характеристическому многочлену ~ х + ) + х + х + 2.5.3. Многоканальные СЛС-генераторы 5 /Р°ЧДУРУ формирования СЛС-кода многоразрядной последовательности, наприме итовой, можно реализовать двумя способами: либо преобразованием каждого бай •Чедовательности в последовательный код с последующей обработкой каждого би в одноканальном СЛС-генераторе (рис. 2.5.4), либо побайтовой обработкой в q генераторе, реализованном на основе восьмиразрядного генератора Фибоначчи (р 2.5.5). В тех случаях когда разрядность используемого для получения СЛС-кода LF больше требуемой разрядности контрольного кода, последний снимается с младших р рядов СЛС-генератора. Например, для СЛС-генератора, показанного на рис. 2.5.5, разрядный контрольный код необходимо снимать с выходов <7i5<7i4 - <7i • Ч2Я1Яо- Входная многоразрядная последовательноаь А Преобразователь параллельного кода в последовательный Одноканальный CRC-генератор Рис. 2.5.4. Многоканальный С/?С-генератор
Н Яе. ----- <?, Рис. 2.5.5. Восьмиканальный С/?С-генератор, реализованный по схеме Фибоначчи. Ф(х) = + х + 1 ==== сгс16 - процедура формирования 16-разрядного CRC-кода ==== последовательности слов (содержимого буфера Buf). ==== ==== При вызове: DS - сегментный адрес буфера, ==================== ==== SI - относительный адрес буфера, СХ - размер буфера, ========= ==== АХ - начальное состояние СКС-генератора, DX - вектор обратной ==== связи; при возврате: АХ - СКС-код заданного массива слов. ==== сгс16 PROC push bx di Глава raov di, 16 ; Число повторений внутреннего цикла Начало внешнего цикла обработки очередного слова, число повторений равно числу слов в обрабатываемом массиве -Word NextBit: ZeroFBl:
ZeroFB2: crcie 25.4. loop loop ENDP NextBit ; cx ; NextWord ; di bx поэтому инвертируем биты CRC-генератора приемники сигнала обратной связи Конец внутреннего цикла Восстанавливаем параметр внешнего цикла Конец внешнего цикла Способы обмана 0?С-кода в заключение сформулируем способы "обмана" СЛС-кода, т. е. способы внесения не-обнаруживаемых искажений информации. Пусть задан массив данных А. CRC-kojx Sa искаженного массива /1 будет равен Ci?C-кoдy массива А в следующих случаях: ) искаженный массив получается путем добавления к исходному массиву А информационной последовательности, имеющей нулевой СЛС-код; ) искаженный массив получается путем исключения из исходного массива А информационной последовательности, имеющей нулевой СЛС-код; ) искаженный массив получается путем замены фрагмента исходного массива А на другой, имеющий такое же значение CRC -кода; Ассемблер в задачах защить( информа! 4) искаженный массив получается путем инвертирования битов исходного массив таким образом, чтобы соответствующий многочлен ошибок фс) делился Hat, на характеристический многочлен (f){x) генератора СЛС-кода. 2.6. Стохастическое преобразование информации 2.6.1. Л-блок Эффективным средством защиты информации от случайных и умышленных деструц. тивных воздействий является стохастическое преобразование информации. Схема одного из возможных вариантов построения R-блока стохастического преобразования и его условное графическое обозначение показаны соответственно на рис. 2.6.1 и 2.6.2. Ключевая информация R-блока - заполнение таблицы Н = {Н{т)}, т = 0,(2"-1) размерности я х 2", содержащей элементы GF(2"), перемешанные случайным образом, т, е, Щт) е GF{2"). Результат Rn{A,B) преобразования входного «-разрядного двоичного набора А зависит от заполнения таблицы Я и параметра преобразования В, задающего смещение в таблице относительно ячейки, содержащей значение А, следующим образом Ря{А,В) = Н{{т + В) modi"), где т - адрес ячейки таблицы Н, содержащей код А, т. е. Н{тл) = А. Другими словами результат работы Л-блока суть считывание содержимого ячейки таблицы Н, циклически смещенной на В позиций в сторону старших адресов относительно ячейки, содержащее код А. Для ускорения преобразования в состав Л-блока вводится вспомогательный адресный массив Addr= {AddHj)} размерности « х 2", причем 1 V; = О, (2" -1) Addr{j) = nij. ( Иными словами ячейка с адресом J в массиве Addr хранит адрес ячейки массива содержащей код у. Заслуживают внимания следующие факты: при Addr = {О, 1, 2,(2" - 1)}, т. е. при записи в каждую ячейку массива Addr ее собс венного адреса и « = 4 результат преобразования в точности совпадает с результата" работы двух тактов (сложение с 4 битами ключа и замена в соответствующем замены) одной секции раундовой функции российского стандарта криптографически защиты ГОСТ 28147-89; в частном случае при Addr= {О, 1, 2, (2" - 1)} и В = О получаем классический блок (блок замены) с таблицей замен Я; J- 03 2 Программирование алгоритмов защить! информации 1б1 при записи в каждую ячейку массивов Я и Addr ее собственного адреса получаел * ассический сумматор по модулю 2", а значит, с полным на то основанием Л-бло может быть назван стохастическим сумматором; по такому же принципу (заменой сумматора по модулю 256 на операцию поразрядно! го XOR) может быть построен стохастический сум.штор в поле GF{2) (стохасти веский XOR), а возможно и другие элементы {AND, OR, modр и т. п.); g заслуживает дополнительного исследования схема стохастического преобразования показанная на рис. 2.6.3, где функция F - сумматор по модулю 2* или поразрядны! XOR (а возможно и другие операции AND, OR, modрнт. п.). Вспомогательный массив (адресный) Адрес Addr О 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 S = 6 SM >
•""С- 2.6.1. Логика работы /?-блока /г-10 -► 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 [ 25 ] 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 |