Анимация
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

ш хорошие статистические свойства, ПСП по своим статистическим свойствам не дол)К(и существенно отличаться от истинно случайной последовательности;

ш большой период формируемой последовательности;

ш эффективная аппаратная и программная реализация.

Основным свойством криптостойкого генератора ПСП является непредсказуемость

влево - криптоаналитик, знающий принцип работы такого генератора, имеющий воз-

можность анализировать фрагмент

Y/V/ + iY/ + 2-Y, + (/-i)

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

В рамках другого подхода к построению качественного генератора ПСП предлагаетсц свести задачу, построения криптографически сильного генератора к задаче построенад статистически безопасного генератора. Статистически безопасный генератор ПСП должен удовлетворять следующим требованиям: J

ш ни один статистический тест не обнаруживает в ПСП каких-либо закономерн

иными словами не отличает эту последовательность от истинно случайной; я нелинейное преобразование Ft , зависящее от секретной информации (ключа к),

пользуемое для построения генератора (рис. 2.1.3), должно обладать свойством "

множения" искажений - все выходные (преобразованные) вектора е возмо

и равновероятны независимо от исходного вектора е; при инициализации случайными значениями генератор порождает статистич

независимые ПСП.

2.3.4. Генераторы ПСП на регистрах сдвига с линейными обратными связями

Важнейшим классом ПСП являются последовательности, формируемые генератор»-ми на основе регистров сдвига с .чинейными обратными связями - LFSR (i" Feedback Shift Register). Используемый при их анализе математический аппарат - теор линейных последовательностных машин и теория конечных полей (полей Галуа). устройства являются эффективным средством защиты от случайных деструктивных действий. Основными достоинствами этих генераторов являются:

Ш простота аппаратной и профаммной реализации;

ш максимальное быстродействие;

Ш хорошие статистические свойства формируемых последовательностей;



g возможность построения на их основе генераторов, обладающих свойствами, ценнь при решении специфических задач защиты информации (формирование последовате ностей произвольной длины, формирование последовательностей с предпериод> формирование ПСП с произвольным законом распределения, построение генератор обладающих свойством самоконтроля и т. п.).

Генераторы Л/-последовательностей, к сожалению, не являются криптостойкими, что чает возможность их использования для защиты т умышленных деструктивных возд ствий. Они применяются при решении таких задач лишь в качестве строительных блоков.

Наиболее известные пр1>йеры использования LFSR и математического аппарата i лей Галуа:

СЛС-коды - идеальное средство контроля целостности информации при случайн искажениях информации;

поточные шифры А5, PANAMA, SOBER и др.;

I блочный шифр R1JNDAEL, принятый в 2001 г. в качестве стандарта криптофафш ской заишты XXI века

Исходная информация для построения двоичного LFSR - так называемый образу щий .многочлен. Степень этого многочлена определяет разрядность регистра сдви а ненулевые коэффициенты - характер обратных связей. Так например, многочлену

Ф(х) = X* + + + + 1

ДВОР;

\--/

соответствуют два устройства, показанные на рис. 2.1.4 и 2.1.5. В общем случае ному образующему многочлену степени Л

= ,aN=ao=\,ajE {О, 1}, у = \,{N-\),

соответствуют устройства, показанные на рис. 2.3, а {LFSR\ - схема Фибоначчи) и (LFSR2 - схема Галуа).

Если образующий многочлен примитивный - устройства имеют максимальное вс можное число состояний 2 - 1 (нулевое состояние является запрещенным), а знач формируют двоичные последовательности максимальной длины 2-1, называемые I последовательностями. В этом случае диафамма состояний генератора состоит из одн "О тривиального цикла и цикла максимальной длины 2 ~ 1.



Ассемблер в задачах защи™ информй1 . Глава. Профаммирс защиты информации

Н 5

Н 7

1 -т

1 1

-I--

0 1

1 °

J -

-г-"

0 1

1 °

0 1

-1--

0 1

1 °

-Г"

0 1

-1--

0 1

1 -

0 1

-1-

0 1

0 1

-----1

--1

1 0

1 -,

0 1

Рис. 2.3.4. Генератор Фибоначчи (tFSRI), соответствующий Ф(х) диаграмма состояний

° 1

° 1

° 1

"сЙояи:Г"°Р " -оетствующий = , + + + + г, и его диаграмма




3~ • "ФНЗ~

Рис. 2.3.6. Общий BUQ LFSR, соответствующих

а - схема генератора Фибоначчи; 6 - и схема генератора Галуа.

BY - блоки умножения на а/ е {0,1}; при а/ = 1 умножение на ау равносильно наличию связи, при а/ = О умножение на а/ равносильно отсутствию связи Программная реализация -разрядного LFSRl {М<16) имеет вид

=== Ifsrl - процедура одного такта работы ========================

=== (генерации одного бита ПСП) генератора Фибоначчи. ============

:=== FeedBaclc - вектор обратных связей, например, =================

==== лля Ф(х) х° + х + + л + 1 FeedBack = 0D400h. ============

==== Mask - код, содержащий "1" в первом значащем разряде, ========

==== например, для N = 8 Mask = lOOh. На входе в старших ==========

==== разрядах АХ находится "старое" состояние LFSR, ===============

==== на выходе в старших разрядах АХ - "новое" состояние LFSR. ====

Ifsrl

test

PROC

push

bx, ax

ax, 1

FeedBack

Exit

or pop ret

ifsrl ENDP

Exit;

ax. Mask bx

Программная реализация LFSRl (Л<16) имеет вид

lfsr2 - процедура одного такта работы ========

(генерации одного бита ПСП) генератора Галуа.

=== FeedBack - вектор обратных связей, например, ===============

===== для Ф{х) = х° + X + х i- i 1 FeedBack = 2B00h. ===========

===== На входе в старших разрядах АХ находится «=== на выходе в старших разрядах АХ - "новое"

старое" состояние, состояние LFSR. ===

lfsr2

PROC shl jnc xor

Exit: ret lfsr2 ENDP

ax, 1 Exit

ax, FeedBack

Рассмотренные устройства могут использоваться только для генерации битовь ПСП. Если необходима я-разрядная последовательность, можно предложить два вариа та действий. В первом случае выбираем образующий многочлен степени N>n, выбирае схему LFSRl или LFSR2 и считываем очередной я-разрядный двоичный код с соседш разрядов регистра сдвига каждые п тактов работы LFSR. Во втором случае синтезируе схему устройства, работающего в л раз быстрее исходного LFSR (иначе говоря, выпо няющего за один такт своей работы преобразования, которые в исходном LFSR выпо няются за п тактов). Этот вариант особенно эффективен в тех случаях, когда образу! щий многочлен генератора Фибоначчи имеет вид Ф{х) = х* + дг + 1, а i кратно п.

В обоих случаях следует помнить о возможности вырождения генератора при bi бранных значениях Л и я. Справедливо следующее утверждение. Если Ф(х) - примити «ый многочлен, п-разрядный генератор будет иметь .максимально возможный перш 2 - 1 тогда и только тогда, когда числа 2 - \ и п взаимно просты. Если при требу мых значениях Л и я это условие не выполняется, выбираем и>я, для которого справе ливо условие (2*-!, п) = 1, синтезируем я-разрядный генератор и снимаем с его выхо, "-разрядную ПСП.

На рис. 2.3.7 приведена схема байтового генератора ПСП, работающего в 8 раз быстр Л!, соответствующего многочлену Ф(х) = х + х + 1 (рис. 2.3.8). Ниже приведена е "Рограммная реализация.



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