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


11 зТ

11 03

Тъ о1

" 1

L

Рис. 2.6.10. Стохастический генератор при N = 2: а - схема генератора;

б - возможные таблицы преобразования и соответствующие им диаграммы переключений j

1 о о

о 1 о

1 о 1

3 1 о

1 3 1

1 1 3

3 1 1

2 3 1

1 2 3

1 1 2

£ 1J 3 2 О

3 1 2

О 3 1

1 О 3

2 1 О

1 2 1

О 1 2

О О 1

3 О О

0 3 0

3 О 3

2 3 О

3 2 3

1 3 2

2 1 3

3 2 1

О 3 2

2 О 3

2 2 0

2 2 2

3 2 2

3 3 2

2 3 3

О 2 3

1 О 2

1 1 О

1 1 1

2 1 1

2 2 1

О 2 2

3 О 2

1 3 О

3 1 3

3 3 1

1 3 3

О 1 3

3 О 1

3 3 0

3 3 3

0 3 3

0 0 3

2 0 0

0 2 0

2 О 2

1 2 О

2 1 2

О 2 1

0 0 2

"С- 2.6.11. Стохастический генератор при N = 3: ~ схема генератора; б ~ таблица преобразования; в - диаграмма переключений




Рис. 2.6.12. Стохастический генератор ПСП длиной 64: а - схема генератора;

б - таблица преобразования; . „„,.„,n

в - диаграмма переключений; пунктиром показана диаграмма переключении исходного

генератора

LFSR или RFSR

LFSR RFSR

puc. 2.6.13. Вариант схемы стохастического генератора ПСП с одним /?-блоком

Re?o

Reg,


H(BYTE) < H{BnE.J I Н I Выход

LFSR или RFSR

Puc. 2.6.14. Схема генератора ПСП с непрерьвно изменяющейся таблицей стохастического преобразования

-- Программа определения периода стохастических генераторов ПСП.

~== Разрядность R-блока - 2 или 3, ==========

:=== число регистров генератора - не более 8.

== Программа запрашивает размерность HSize ======================

таблицы стохастического преобразования Н =====================

(HSize может принимать два значения - 4 и 8, которым =========

соответствует разрядность R-блока,равная соответственно 2 и 3), заполнение таблицы Н и номера отводов обратной связи =========

Tapl и Тар2 (Tapl < Тар2, О < Tapl < 8, 1 < Тар2 < 9, ========

"-== образующий многочлен генератора имеет вид ====================

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

выводит значение периода генератора при начальном состоянии == RegO = 1, Regl = Reg2 = ... = RegN = 0. ======================

*~ Примечание. Для исследования генераторов с периодом, ========

~ превышающим 2559, необходима другая процедура Conv. =========

На рис. 2.6.13 показана схема двухступенчатого генератора ПСП.

На рис. 2.6.14 приведена схема генератора ПСП с непрерывно изменяющейся таблр цей стохастического преобразования. В каждом такте работы такого RFSR слов (BYTE,*\, byte,) с выхода управляющего генератора меняет местами содержимое дву еек таблиц Я: HiBYTEм)Н{ВУТЕд.

-(7)-



73 Ассемблер в задачах защиты uнфop,


Глава,

2 Программирование алгоритмов защиты информации 17

MODEL tiny CODE

lOOh

Begin:

Nextlnstr

;====

= Массив RGenlnfo

SizeBufH

= 8

NMax = 8

RGenlnfoDB

SizeBufH, NMax

AddrSH

SizeBufH DUP (?) ;

HTable

SizeBufH DUP (?) ;

Regs

. 1, (NMax -

Tapl

Tap2

HSize

Instate

(NMax - 1) DUP

Messl

OAh, ODh,

Mess2

RBox:,

Mess3

Tapl:,

Mess4

Tap2:,

Mess5

Period:

Максимальное число регистров генератора

Массив Addr Массив Н - 1) DUP (О

Массив регистров генератора Ячейки для хранения номеров отводов сигналов обратной связи Размерность массива Н

; Исходное состояние ; генератора

SizeOutBuf = $

Nextlnstr:

; Ввод

DB -Res DB

5 DUP (30h) OAh, ODh, ?

; 2559 - Max !!! ; Выходной буфер ; Размер выходного буфера

размера таблицы стохастического преобразования

raov ah, 09h

raov dx, OFFSET Messl

int 21h

call Input

xor ah, ah

raov cl, al

raov HSize, ax

; Ввод таблицы стохастического преобразования

raov bx, OFFSET HTable

xor ch, ch

mov ah, 09h

raov dx, offset Mess2

int 21h NextWrTable: call Input

raov byte ptr [bx], al

inc bx

loop NextWrTable ; Создание массива Addr

raov bx, OFFSET AddrSH

raov cx, HSize

call Addrini ; Ввод отводов обратной связи Tapl и Тар2

raov ah, 09h

raov . dx, OFFSET Mess3

int 21h

call Input

xor ah, ah

raov Tapl, ax

raov ah, 09h

raov dx, OFFSET Mess4

int 21h

call Input

xor ah, ah

raov Tap2, ax .===== Моделирование генератора ПСП ==============

xor ax, ax NextCloclc: inc ax

raov bx, OFFSET AddrSH

raov si, OFFSET Regs

raov cx, HSize

raov di, Tap2

raov dx, Tapl

call Rgen ; Получили новое

; состояние генератора ; Сравнение нового и исходного состояний генератора, если ; результат положительный, то в АХ получен период генератора, ; в противном случае переход на еще один такт работы ; генератора

di, OFFSET Instate si, OFFSET Regs cx, Tap2

===============

repe

mov mov mov cmpsb jne

NextCloclc

найденного значения периода ПСП

si, OFFSET Res

cx, SizeOutBuf

call

Conv

ah, 09h

dx, 0FFSETMess5

Завершение

программы

ax, 4c00h



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