Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
шпоры(часть 1).docx
Скачиваний:
37
Добавлен:
22.04.2019
Размер:
353.85 Кб
Скачать

10 Генераторы случайных чисел: типы, применение. Число инициализации.

Пусть имеется конкурентный генератор псевдослучайных чисел, работающий по некоторому алгоритму.

Ti+1=(aTi+в)mod m

Означает, что Ti+1 – последующее псевдослучайное число

Ti –текущее число генератора,

а, в,m - постоянные., хорошо известные.

Обычно m=2n, где n- разрядность процессора.

а mod 4=1,

в- не чётное.

В этом случае, последовательность имеет период повторения m.

Период после, которого начинает повторяться точно такая же гамма.

Процесс шифрования осуществляется следующим образом:

Шифрованное сообщение предоставляется в виде последовательности S0,S1… которое складывается последовательно по модулю 2 с последовательностью T0, T1 тогда зашифрованный блок рассчитывается:

, где - XOR (исключающее “или”)

При этом T0, T1 – последовательность гаммы шифра.

Процесс расшифрования:

Ключом будет T0 число инициализации генератора.

Если известен зашифрованный текст и хотя бы кусок открытого текста, то вся гамма вскрывается сразу.

При симметричном шифровании информация чаще всего обрабатывается блоками.

В современных алгоритмах длина блока не меньше 64 бита.

Для различных длин текстов и требований к шифрованию разрабатывается ряд режимов шифрования:

  1. Электронная кодовая книга. ECB- Electronic Code Book

Применяется для шифрования сообщений длиной в 1 блок (как правило для шифрования ключевой информации), потому что все блоки текста шифруются независимо друг от друга на одном ключе.

Симметричный алгоритм – первая формула.

Зашифрованный текст – формула преобразования.

ГОСТ 28147-89

  1. CBC – Cipher Block Chaining. (Сцепление блоков шифра).

Открытый текст разбивается на n-битные блоки:

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

При известной синхропосылке расшифрование производится в обратном порядке:

, где n- Длина блока. N- количество блоков.

Т.е. если изменить один блок шифротекста, то после расшифрования изменится соответствующе расшифрованный блок и следующий за ним. Все остальные блоки останутся без изменений.

В ГОСТе этот режим соответствует режиму гаммирования с обратной связью, а ECB – режиму простой замены.

  1. Обратная связь по шифротексту. CFB- Cipher Feed back.

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

Открытый текст P “разбивается” на t-битные блоки, N-битный регистр сдвига инициируется значением синхропосылки S0.

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

Регистр сдвига модифицируется следующим образом:

tcтарших бит в отбрасываются, а справа присоединяется , т.е.

При расшифровывании вычисляется по тем же формулам, в качестве используется t- старших бит расшифрованного текста . Открытый текст восстанавливается по формуле:

Расшифровывание:

4. Обратная связь по выходу. OFB-Output Feed back.

Использует блочный шифр для генерации псевдослучайной последовательности (ПСП), переменный размер блока t и регистр сдвига, инициируемый синхропосылкой S0(в госте t=n). Но отличается от предыдущего способом изменения информации в регистре сдвига.

при наличии сдвига

или без сдвига.

При каждом использовании системы нужно использовать разные синхропосылки, одинаковые синхропосылки дают на выходе одинаковые псевдослучайные последовательности.

(В ГОСТе это режим гаммирования)

Алгоритм DES. Data Encryption Standard.

Разработан IBM в 1976 году и рекомендован американским бюро стандартов в открытой электронной системе.

Шифрует блок из 64 бит и использует 64 битовый ключ и работает в 16 проходов. Алгоритм работает в следующем виде:

Исходные данные разбиваются на блоки по 64 бита и поблочно шифруются. Далее блок разбивается на левую и правую части. На первом этапе шифрования вместо левой части записывается правая, а вместо правой – сумма по модулю 2 левой и правой частей. На втором этапе выполняются битовые замены и перестановки. DES имеет два режима: второй и первый (CBC и ЕСВ)

Если надёжность DES недостаточна, то существует его модификация тройной DES (TripleDES). Три раза запускается алгоритм DES на различных ключах, которые выбираются независимо друг от друга.

Комплект шифров RC.

Разработан Роном Райвестом, компания RSA Data Security.

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

RC2- 64 битный блок с ключом переменного размера. В два раза быстрее, чем DES.

RC4- потоковый байт-ориентированный. В 10 раз быстрее DES.

Алгоритм CAST.

64-битный

Алгоритм BlowFish.

64 бита в блоке. Ключ переменного размера до 448 бит. 16 циклов. На каждом цикле выполняются

перестановки, зависящие от ключа и подстановки данных. Разработан для 32 битных машин.

Алгоритм

Длина ключа

Длина блока

Число циклов

Основные операции

DES

56

64

16

Подстановки, перестановка, сложение по модулю 2

FEAL

64 или 128

64

>4

(т.е. сложение по модулю) двух 8-разрядных чисел ( )

IDEA

128

64

8

Сложение по модулю 2, сложение по модулю 2 16-ти ричных чисел 2в 16, умножение по модулю 2 16-тиричных чисел.

ГОСТ

256

64

32

Сложение по модулю 32-битовых чисел, подстановка, простое умножение по модулю2

RC5

8t (t<=255)

32,64,128

До 255

Сложение по модулю 2 циклический сдвиг, сложение по модулю 2 где w=1/2*l, где l- половинка длины блока

Blow Fish

До 448

64

16

Сложение по модулю двух 32-х разрядных чисел, подстановка

Недостатки симметричных систем:

  1. необходимость передачи секретных информаций

  2. высокие требования к службе генерации ключей. При взаимодействии пользователей “каждый с каждым” необходимо сгенерировать n(n-1)/2 ключей, т.е. зависимость числа ключей от числа абонентов является квадратичной.

Ассиметричные алгоритмы используют функции с секретом, разработаны Дефори и Хелманом и характеризуются наличием двух ключей: закрытого и открытого.