Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
КМЗИ 7 лекции.doc
Скачиваний:
1
Добавлен:
17.04.2019
Размер:
2.74 Mб
Скачать

2.3.1 Конструкция цп на основе односторонней функции с секретом

fk – односторонняя функция с секретом. fk(х) получить легко, зная k. Зная k вычислить легко , но не зная k, вычислить трудно.

k2=k, k1=fk

s=S(m, k)= , зная k можно вычислить .

2.3.2 Цп на основе схемы шифрования с о.К.

, k2 – З.К., k1 – О.К.

s=S(m,k2)=Dk2(m)

скорость передачи уменьшится в 2 раза.

1) ЦП с извлечением сообщения

s=Dk2(m). s отправляется получателю, который V(m,s,k1)=Ek1(s) – осмысленное сообщение .

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

2) ЦП с использованием ХФ

ХФ f: XY – одностороннее отображение

- X=V* - последовательность бит произвольной длины

- Y=Vn – последовательность бит длины n

- не должно быть коллизий;

- трудно найти

s=Dk2(h(m))

Длина ЦП всегда фиксирована

, m,s отправляется получателю.

2.3.3 ЦП RSA

Генерация ключей:

- генерация большой разрядности;

- вычисление значения модуля N=p*q;

- генерация числа ;

- вычисление числа d такого, что ;

- (N,e) – О.К.;

- (N,d) – З.К.

Формирование ЦП

s=h(m)d(modN), а если схема с извлечением сообщения, то s=md(modN)

Проверка ЦП

se h(m) – проверка при использовании ХФ, а если схема с извлечением сообщения, тогда m=se(modN).

Корректность ЦП

Проверим для ЦП RSA: возьмем s=md(modN), se(modN) m, где , где по теореме Эйлера.

Безопасность ЦП RSA

1) попытка генерации ЦП без k2 или d задача факторизации N;

2) формирование ЦП без знания З.К. RSA. Функция RSA мультипликативная E(N,d). если , то бороться с этим:

- m1 и m2 – бессмысленный текст; использование;

- ХФ h, тогда атака не пройдет.

3) Если противник имеет доступ к процедуре расшифрования, а для расшифрования и формирования используется один ключ, противник может подать на вход функции расшифрования h(m).

k2 – или Л.К. для шифрования, или З.К, для ЦП

2.3.4 Гост р 34.10-94

Выбор параметров ЦП:

- ХФ ГОСТ 34.11;

- выбор простого числа р: ;

- выбор простого числа q: , q делит р-1;

- выбирается число а: -1<а<р-1, aq(modp)=1.

Выбор ключей:

- число 1<x<q-1, этот х – З.К.;

- с помощью х вычисляется О.К. y=ax(modp)

Для формирования ЦП следующий алгоритм:

H – ХФ, S – формирование ЦП, S(m,x)

1) h=H(m);

2) формируется число e: h<e>256, h – последовательность битов 256-го числа е;

3) если ;

4) выбирается k: 0<k<q;

5) r=ak(modp) и r’=r(modq);

6) если r’=0 => возвращение к 4);

7) s=(ke+rx)(modq);

8) если s=0=>возвращение к 4)

<r’>256||<s>256 – ЦП

Значение k называется эфемерным ключом, значение которого должно быть в секрете или стереть (вычислили и забыли).

Проверка V(m, <r’>||s>, y):

1) проверить 0<r’<q и 0<s<q, если хоть одна из проверок не совпадает, то ЦП не действительна.

2) h=H(m);

3) e: h=<e>256;

4) если ;

5) V=eq-2(modq) (=e-1(modq));

6) z1=s*v(modq), z2=(q-r’)V(modq);

7) U=az1*yz2(modp)

8) проверить , если выполняется, то ЦП действительна, если нет, то не действительна.

Малая теорема Ферма

Если а не делится на простое число р, то

Корректность ЦП

Если

r’=r(modq), r=ak(modp)

s=ke+r’x(modq)

(шаг 8) (из алгоритма формирования шаг 7)

, где , где , где , где . (шаг 8) – выполняется.

Американский стандарт DSA

ГОСТ

q=160 бит, |ЦП|=320

q=256 бит, |ЦП|=512

Безопасность ЦП

1) атака на З.К,

х – З.К., O.T. – в общем случае задача дискретного логарифмирования для противника. Сложность задачи = =1,3*1026 для ГОСТ, n – длина р в битах р=1024 бита, т.к. - частная задача дискретного логарифмирования.

Задача нахождения по y:

=3*1038(ГОСТ), m – длина q в битах => ;

2) атака на неотказуемость

- атака с 2-мя ключами

Генерация х1 и у1, х2 и у2, s1=S(m1, x1) и s2=S(m2, x2), s1=s2. (m1, s1) отправляются получателю, который V(m1, s1, y1). (m2, s2) утверждаются как истина, и отказывается от m1.

Как осуществить: k, r

, требуется осуществить равенство, для этого решаем систему.

k*e1-k*e2=-(x1-x2)*r, фиксируем x1 => x2=x1+k*(e1-e2)/r, т.к. есть m1 и m2 => имеем е1 и е2.

Защита: генерация З.К. в специальном месте; сделать подписываемое сообщение неизвестным для того, кто может подписать заранее.

- атака на уязвимость эфемерного k

а) ] k повторился

находит х.

Повторение k приводит к тому, что противник легко находит З.К. х.

k должен генерироваться качественным датчиком случайных или псевдослучайных чисел.

б ) если

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]