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

push pop mov call

eld mov movsb

es ds

bx, si RBox8

cx, N-1

raov BYTE PTR [di], al ; Запись байта обратной связи в RegO pop si bx ds popf ret

rcrc4N8 ENDP

; DS:BX - адрес массива AddriH

; Вычисление байта обратной связи,

; AL - байт обратной связи

; {результат стохастического

; преобразования)

; Число повторений команды MOVSB ; Обновление регистров ; Reg3, Reg2, Regl

; Восстановление ; регистров

==== Genrcrc4N8 - формирование 16-разрядного стохастического CRC-кода области памяти (хеширование области памяти). ==

==== N = 4, Ф(х) = х + х + 1 (рис. 2.6.18).

==== При вызове: массив Regs - исходное состояние генератора, =====

==== DS:SI - адрес входного буфера Buf, ======================

==== сх - количество обрабатываемых байтов, =====================

==== ES:DI - адрес массива RegsSAddrSH. При возврате: АХ - RCRC-код

==== (хеш-образ) содержимого буфера Buf. ==========================

Genrcrc4N8

NextByte:

Genrcrc4N8

PROC pushf eld lodsb

push

call

loop

popf

ENDP

rcrc4N8 di

NextByte ax

Чтение очередного байта из буфера Buf

Обработка байта

-J -

WORD PTR es: [di+2]

; AX - содержимое

; регистров RegO, Regl

2. Программирование алгоритмов защиты информации ["ЛЗ .......•..................•.........................................,............

Reg,

Re9o


RFSRZ

Входная последовательность/( 8

Feedback

8-разрядный генератор ПСП

Regs

8 Входная последовательность А

Reg,


RFSRZ

RVo-----

Входная последовательность/( 8

HiHira looira

hODOD


H \-

; Входная

:; последовательность с : байтов ,4

- 2.6.17. Варианты схемы многоканального /?С/?С-генератора: ввод информации в цепь обратной связи RFSR с использованием функции XOR;

~ ввод информации в цепь обратной связи генератора ПСП с использованием -гохастического преобразования;

в - пример реализации стохастического 8-канального С/гС-генератора на основе RFSR; ~ пример реализации стохастического 8-канального С/гС-генератора на основе LFSR °°тветствующего Ф(х) = + х +



Ассемблер з задачах защиты информаци, 2. .ПрогР.Г..ирние..го

-» Reffo Reg, Reg, -

Reg,

Puc. 2.6.18. Пример стохастического СС-генератора при N - А, Ф(х) = дг + + 1

2.6.5. Шифрование с использованием jR-блоков

Симметричные криптоалгоритмы (криптоалгоритмы с секретным ключом) делятся на три большие группы: поточные, блочные и комбинированные (рис. 2.6.19).

Сиииетричные криптоалгоритмы (криптоалгоритмы с секретным ключом)

Поточные

Блочные

Комбинированные

Самосинкронизирующиеся (режим CfS)

Синхронные (режим OFB)

Гаммирование с обратной связью

Со сцеплением блоков (режимы СВС и гео

С использованием генераторов ПСП

Режим CFB

Гаммирование

Режим OFB

Режим Counter

Рис. 2.6.19. Классификация симметричных криптоалгоритмов Особенности поточного шифрования:

каждый элемент исходной информационной последовательности шифруется на своем * элементе ключевой последовательности;

результат преобразования отдельных элементов зависит от их позиции в исходной последовательности;

щ высокое быстродействие - шифрование осуществляется практически в реальном масштабе времени сразу при поступлении очередного элемента входной последовательности;

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

Особенности блочного шифрования: g шифрованию подвергаются порции информации фиксированной длины (блоки); g каждый блок исходной последовательности шифруется независимо от других на одном

и том же ключе;

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

Недостатки блочного шифрования;

одинаковым блокам открытого текста соответствуют одинаковые блоки шифротекста и наоборот;

существование проблемы последнего блока неполной длины.

В результате на практике чаще всего используется комбинированный подход, при котором шифрование осуществляется либо с использованием операции сцепления блоков (режим СВС), либо с использованием генераторов ПСП по схемам, показанным на рис. 2.3.1, 6 (режимы OFB и Counter) и рис. 2.3.1, в (режим CFB). При этом в качестве нелинейных функций генераторов ПСП (см. рис. 2.3.3) используются функции зашифрования соответствующих блочных криптоалгоритмов.

Особенности шифрования методом гаммирования (поточное или комбинированное шифрование в режимах OFB и Counter):

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

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

Эти не очень приятные особенности отсутствуют при шифровании в режиме гаммирования с обратной связью (поточное или комбинированное шифрование в режиме CFB).

На рис. 2.6.20 показаны возможные схемы синхронного поточного шифрования с использованием блоков стохастического преобразования. Ниже приведен пример процеду-




Reg,

Reg,

Генератор ПСП {LFSR ит RFSR)

Генератор ПСП (LFSR или RFSR)

Рис. 2.6.20. Варианты схемы синхронного поточного шифрования с использованием /?-блоков:

а - гаммирование с использованием функции Л"©/?;

б - гаммирование с использование нелинейной функции стохастического преобразования

RCrypto4N8 - процедура шифрования области памяти.

==== Синхронное поточное шифрование, ----------

==== N = 4, Ф(х) = X* + х + 1 (рис. 2.6.20, а)

==== При вызове: массив Regs - исходное состояние генератора гаммы

==== буфер Buf - буфер входных данных, DS:SI - адрес буфера Buf--

==== СХ - количество обрабатываемых байтов, ============= =

ES:DI - адрес массива RegsSAddrSH.

==== При возврате: буфер Buf - результат шифрования.

RCrypto4N8 NextByte:

RCrypto4N8

PROC

push

call

RGen4N8

BYTE PTR [si], al

loop

NextByte

ENDP

RFSR

Reg,

Reg„

Кед,

Кед,

Кед,

LFSR ит RFSR

.Го L

Генератор ПСП

{LFSR или RFSR)


R,(A.B)

Addr


"R-iMKm"*"™ °"Р°""зирующегося поточного шифрования с использованием

а - гаммирование с использованием функции XOR;

6 - гаммирование с использование нелинейной функции стохастического преобразования; в схема блока обратного стохастического преобразования. « - блок обратного стохастического преобразования

InvRBox8 - процедура обратного 8-разрядного -11° °хастического преобразования. ============

=-1 Р вызове: AL - входной байт, АН - параметр преобразования, ":ВХ - адрес массива AddrSH (рис. 2.6.6) ===================

--=При возврате: AL - выходной байт. ===========================

BSize = 256 ============================================

OX PROC

push

xlat sub

; чтение из таблицы Addr

; AL - адрес выходного

; байта в массиве Н

HSize

; ВХ - относительный ; адрес массива Н

На рис. 2.6.21 показаны возможные схемы самосинхронизирующегося поточного шифрования с использованием блоков прямого R и обратного R стохастического преобразования.

ры шифрования области памяти с использованием 8-разрядного генератора ПСП, р смотренного ранее (см. рис. 2.6.15).

RFSR KFSR



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