Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Защита Информации - шпоры.docx
Скачиваний:
22
Добавлен:
22.09.2019
Размер:
1.73 Mб
Скачать
  1. Российский стандарт хеш-функций по гост р.34.11-94

ГОСТ Р.34.11-94 определяет алгоритм и процедуру вычисления h(.) для любых последовательных двоичных символов, применимых в криптографических методах обработки и защиты информации. Этот стандарт базируется на блочном алгоритме шифрования ГОСТ 28147-89, хотя может быть и использован с другим блочным алгоритмом шифрования – 64-битовым блоком и 256-битным ключом. Данная h(.) формирует 256-битное h-значение.

Функция сжатия:

Hi = f(Mi, Hi-1)

Hi, Mi – 256-битные величины

Определяется следующим образом:

- Генерируется 4 ключа шифрования kj (j=1..4) путем линейного смешивания Mi, Hi-1, const

- Каждый ключ kj используется для ­­шифрования 64-юитных подслов слова Hi-1 в режиме простой замены

64 → hj → Hi-1

Результирующая последовательность длиной 256 бит запоминается со временной переменной S

Sj = Ekj (hj) S4, S3, S2, S1 → S

  • Значение Hi является сложной, хотя и линейной функцией смешивания S, Mi, Hi

При вычислении окончательного h-значения сообщения М учитываются значения 3х связанных между собой переменных.

Hn – значение последнего блока сообщения

Z – значение контрольной суммы, получаемой при сложении по модулю 2 всех блоков сообщения

L – длина сообщения

Эти 3 переменные и дополнительный последовательный блок М’ объединяются в h-значение следующим образом:

H = f(Z (+) M’, f(L, f(M’, Hn)))

Данная h(.) определена российским стандартом для использования с российским стандартом ЭЦП.

  1. Алгоритм цифровой подписи rsa и его недостатки.

Для постановки цифровой подписи (ЦП) для каждого абонента генерируется пара ключей: секретный и открытый.

Секретный хранится абонентом в тайне и используется для формирования ЭЦП.

Открытый известен всем пользователям и предназначен для проверки ЭЦП получателя.

Открытый ключ не позволяет выделить секретный.

Для генерации пары ключей в алгоритме ЭЦП, как и в асинхронных системах шифрования, используются схемы, основанные на применении однонаправленных функций. Схемы делятся на 2 группы. В основе лежат: задача факторизации (разделение на множители) больших чисел – задача дискретного логарифмирования.

Алгоритм ЦП RSA

Сначала необходимо выделить пару ключей. Для этого отправитель (автор) вычисляет 2 больших простых числа P, Q. Затем находит их произведение и значение функции φ(N) = (P-1)(Q-1) , где N = P*Q

Вычисляет число E: E <= φ(N), НОД (Е, φ(N)) = 1

Вычисляет число D: D < N, E * D ≡ 1 mod φ(N)

Пара чисел E, N → открытый

D → закрытый

M – сообщение

БС – блок сжатия

ГК – генератор ключей

Если соблюдается условие SZ mod N = h(M), то получатель признает пару M и S подлинной.

Доказано, что только обладатель секретного кода D может сформировать ЦП. S по документу M, а определить секретной ключ D по открытому E не легче, чем разложить модуль N на множители, кроме того, можно математически доказать, что результат проверки ЦП S будет степени n+p в том случае, если при вычислении S был использован секретный ключ D, соответствующий открытому ключу E. Поэтому Е – идентификатор подписывания.

Недостатки:

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

- Для обеспечения криптостойкости RSA ну уровне национальной системы США, необходимо использовать при вычислениях N, D, E целые числа не менее, чем 2256, что требует затрат >20-30% вычислительных затрат других алгоритмов.

- ЭЦП RSA уязвима к мультипликативной атаке, то есть злоумышленник не зная секретного ключа D может сформировать ЦП под теми документами, у которых результат хеширования можно вычислить, как произведение результатов хеширования уже подписанных документов.