Анимация
JavaScript
|
Главная Библионтека 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. Программирование алгоритмов защиты информации ["ЛЗ .......•..................•.........................................,............
RFSRZ Входная последовательность/( 8 Feedback 8-разрядный генератор ПСП Regs 8 Входная последовательность А
RFSRZ RVo----- Входная последовательность/( 8 HiHira looira hODOD
; Входная :; последовательность с : байтов ,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 показаны возможные схемы синхронного поточного шифрования с использованием блоков стохастического преобразования. Ниже приведен пример процеду-
Генератор ПСП {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
RFSR
Кед, Кед, Кед,
"R-iMKm"*"™ °"Р°""зирующегося поточного шифрования с использованием а - гаммирование с использованием функции XOR; 6 - гаммирование с использование нелинейной функции стохастического преобразования; в схема блока обратного стохастического преобразования. « - блок обратного стохастического преобразования InvRBox8 - процедура обратного 8-разрядного -11° °хастического преобразования. ============ =-1 Р вызове: AL - входной байт, АН - параметр преобразования, ":ВХ - адрес массива AddrSH (рис. 2.6.6) =================== --=При возврате: AL - выходной байт. =========================== BSize = 256 ============================================ OX PROC
На рис. 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 |