Анимация
JavaScript


Главная  Библионтека 

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


Inversion

Mult

loop

ENDP

Next2 cx

======= Один такт работы генератора элементов поля

Mult

Next3:

FB = IBh Mult

PROC push mov

shl jnc xor

pop ret

ENDP

bl, al

al, 1 Next3 al, FB

al, bl bx

; Сохраняем исходное значение ; элемента поля а

Получили результат умножения а на X

Получили результат умножения а на X + 1

В заключение приведем список многочленов, неприводимых над GF(2), N<9. М-гочлены заданы набором их коэффициентов о/ а-ь-а/.-аг «1 «яо, например, набор 1 соответствует многочлену дг + х + 1. В скобках указан показатель многочлена, т. е. i меньшее положительное число е, при котором x-l делится на данный многочлен остатка. Многочлены /(х), для которых справедливо соотношение/(х) = д-х" ), где - многочлен степени Л, уже имеющийся в списке, не приводятся.

N= 1

II (1) N= 2

III (3) N = 3 1011 (7) N= 4

icon (15) 11111 (5) N = 5

100101 (31) 101111 (31) 110111 (31) N = 6

1000011 (63) 1001001 (9) 1010111 (21) 1011011 (63) 1100111 (63) W = 7

10000011 (127) 10001001 (127) 10001111 (127) 10011101 (127) 10100111 (127) 010101011 (127) 10111111 (127) 11001011 (127) 11101111 (127)

W = 8

100011011

100011101

100101011

100101101

100111001

100111111

101001101

101011111

101100011

101110111

101111011

110000111

110001011

110011111

111001111

111010111

(51)

(255)

(255)

(255)

(17)

(85)

(255)

(255)

(255)

(85)

(85)

(255)

(85)

(51)

(255)

(17)

Next2: call




0=1-2-

зависимость контрольного кода не только от всех бит анализируемой информа: ной последовательности, но и от их взаимного расположения;

высокое быстродействие, связанное с получением контрольного кода в pea масштабе времени;

в простота аппаратной реализации и удобство интегрального исполнения; ш простота программной реализации.

К сожалению, простое условие пропуска искажений делает С/?С-коды принципиально не пригодными для защрггы от умышленных искажений информации. По этой же причине следует признать непригодным использование процедуры формирования СКС-тл для хеширования информации.

Сущность процесса контроля целостности с использованием С/?С-кодов закгаочаето в следующем. Генератор СРС-кода инициализируется фиксированным начальным значет ем. Чаще всего в качестве начального заполнения используется либо код "все О", либо ко; "все 1". Учитывая, что от начального состояния генератора достоверность метода не зави сит, все дальнейшие рассуждения выполняются в предположении, что исходное состояв) устройства - нулевое. Анализируемая двоичная последовательность преобразуется в корот кий (обычно шестнадцати- или тридцатидвухразрядный) двоичный код - CRC-коя. Значт ние полученного С/?С-кода сравнивается с эталонным значением, полученным заранее да последовательности без искажений. По результатам сравнения делается вывод о наличк или отсутствии искажений в анализируемой последовательности.

1 о 1

о о о 1 о

Ф-ЕЬФ

Л-vO

1 1 о о о 1 о

1000 0100 1010


0 0 0 1 10 0 0 0 10 0 10 10

1 о о О 1 о

1 V 1 Vo

-°- J-1

о 1

2.5. OfC-коды

2.5.1. Контроль целостности информации с использованием С/?С-кодов

Идеальным средством защиты информации от случайных искажений являются сл коды {cyclic redundancy code). Достоинствами CRC-kojxob являются:

ш высокая достоверность обнаружения искажений, доля Ро обнаруживаемых искажен не зависит от длины массива данных, а определяется только разрядностью N щ трольного кода:



Ассемблер в задачах заЛить! информац,, 2. ПР.?.Р.!.Г.УР*!."Р.™?.°Р.У.™.??..


X* + X + 1

j(6 + / + х + 1

Q(x)

де " отвственно частное и остаток, то коэффициенты многочлена Q

оявляктся на выходе разряда (у-ь а коэффициенты многочлена R{x) остаются в регис цератора после прохождения всей последовательности А. Иначе говоря, СЛС-код j: в т „ости равен коду остатка Л, T.Q.s = R,a s(x) = R{x).

Работа генератора С/?С-кода описывается системой линейных уравнений

R{x)

Рис. 2.5.1. Три варианта схемы генератора CRC-кода, соответствуюиего: а,6,в - характеристическому многочлену ф(х) = х" + х + 1;

г - деление многочлена входной последовательности на характеристический многочлен генератора СУ?С-кода.

R - коэффициенты многочлена-остатка R{x}, Q - коэффициенты многочлена-частного Q(x) Рассмотрим схему генератора СЛС-кода, показанную на рис. 2.5.1, б. Входной зна* зируемой двоичной последовательности

А = а,а,а...а,...а„ ,,а, е {0,1},? = О,(от-1) где т - длина последовательности, можно поставить в соответствие многочлен А{х) ни {т -1)

Тогда процесс получения С/?С-кода эквивалентен делению многочлена А{х) последовательности на характеристический многочлен ф(х) генератора СЛС-кода. Ь

A{x) = i9(x)Q{x) + R{x\

[q, {t + \) = a ,q,., it) @ ?,.,(0, i = lN-l,

где «1 Oa 0№ e {0, 1}, - коэффициенты образующего многочлена, q/t) uq/t+l)- cocn ние;-го разряда, соответственно, в моменты времени tut+l, / = О, m , j = 0,N -I.

Таким образом, для С/?С-генератора справедлив принцип суперпозиции, который г] сит: реакция линейного устройства на сумму двух входных воздействий равна сум. реакций на каждое воздействие в отдельности.

Пусть

А = ao<3i-3m-i

- анализируемая последовательность,

- правильная последовательность (без искажений), е - последовательность, полученн в результате сложения по модулю два соответствующих элементов последовательност Л и В, т. е. для любого элемента последовательности е справедливо

=a,©fc„/ = 0,(w-l).

Единичные биты последовательности е соответствуют искаженным битам последоЕ тельности В, поэтому последовательности е логично назвать последовательностью, и. шторам, ошибок. При отсутствии искажений

V/ = 0,(w-l),e, = 0.

Пусть А{х), В{х) и е{х) - многочлены; 5,4, и - СйС-коды, соответственно, послед ательностей А, В vie. Искажения в последовательности А будут пропущены, если = i Имеем А = В® е, откуда, применяя принцип суперпозиции, получаем равенство

$А = SB ® Se.

Таким образом, необходимым и достаточным условием пропуска искажений явл равенство Se = О, которое имеет место, когда многочлен е(х) нацело делится i *"<огочлен <р{х).

се сказанное относительно генератора, показанного на рис. 2.5.1, б; справедлш для двух других, так как для всех трех генераторов при еФО справедливо утверждени

тогда и только тогда, когда е{х) нацело делится на (р(х). Все три схемы обеспеч; frl """овУ достоверность контроля, тем не менее предпочтение следует отдали из них, как обеспечивающей наиболее интенсивное "перемещивание" ошибо



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