Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
vse1.doc
Скачиваний:
0
Добавлен:
27.12.2019
Размер:
1.81 Mб
Скачать

11.Ассиметричное шифрование. Совместное использование симметричных и асимметричных методов.

В 70-х годах были разработаны методы шифрования с открытым ключом: для шифрования используется один ключ, а для расшифровки - другой. Такая пара ключей называется открытый /закрытый ключ.Открытый ключ спокойно передается партнеру, который передает сообщение, зашифрованное открытым ключом. При этом сообщение, зашифрованное с помощью открытого ключа, нельзя расшифровать этим же открытым ключом. Расшифровать подобное сообщение можно только с помощью закрытого ключа владельца. Чтобы упростить процесс обмена шифрованными сообщениями, открытые ключи всех абонентов единой сети связи часто помещают в справочную базу данных, находящуюся в общем пользовании этих абонентов.

Алгоритм RSA В криптографии с открытым ключом используют необратимые или односторонние функции, которые обладают следующими свойствами: при заданном значении Х относительно просто вычислить значение f(Х), однако если У=f(Х), то нет простого пути для вычисления Х, т.е. очень трудно вычислить f -1 (У). Другими словами, невозможно вычислить один ключ из другого. В России аналогом RSA является ГОСТ 34.10.

ГЕНЕРАТОР КЛЮЧЕЙ

Метод шифрования (М)

Открытый Закрытый

ключ (О) ключ (З)

Пользователь А

Пользователь В

Сообщение С

Сообщение С

Шифрование Мо(С)

Дешифрование Мз(Ш)

А

Зашифрованное сообщение (Ш)

Схема асимметричного метода шифрования

Чтобы использовать алгоритм RSA, сначала надо сгенерировать открытый и закрытый ключи по следующему сценарию.

1. Выбрать два больших простых числа p и q.

2. Определить n=p*q.

3. Выбрать большое случайное число d, которое должно быть взаимно простым с результатом умножения (p-1)*(q-1)

4. Определить такое число e, для которого выполняется соотношение

(e*d) mod ((p-1)*(q-1)) = 1

5. Назовем открытым ключом числа e и n, закрытым ключом - d и n.

Чтобы зашифровать данные по известному ключу {e,n} выполняют следующие шаги:

1. Разбить исходный текст на блоки, в котором каждый символ можно обозначить целым числом от 0 до (n-1).

2. Зашифровать текст, рассматриваемый как последовательность чисел М(i), над каждым из которых выполняется операция С(i)=(M(i)e) mod n.

Чтобы раскрыть данные, используя секретный ключь {d,n} необходимо выполнить вычисления M(i)=(C(i)d) mod n. В результате будет получено исходное множество чисел M(i). Стойкость системы RSA есть функция сложности разложения произведения p*q на простые множители p и q. При достаточной длине этих простых чисел (тысяча двоичных разрядов) такое разложение вычислительно невозможно (т.е. требует ресурсов, недоступных в настоящее время).

В платежных системах Internet система RSA использует ключи длиной 512 и 1024 бит. Системы аутентификации документов, основанные на асимметричном шифровании: RSA, DSS, PGP.

Совместное использование симметричных и асимметричных методов.

Методы открытого ключа целесообразно применять для шифрования небольших информационных массивов, т.к. основной операцией в них является возведение в степень 500-1000 битовых чисел, поэтому при программной реализации шифрование /дешифрование идет на 3-4 порядка медленнее, чем при использовании симметричных методов шифрования. В связи с этим для обработки больших потоков информации используют специализированные процессоры, выполняющие эту операцию.

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

1. Генерируют сеансовый ключ;

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

3.Затем сеансовый ключ шифруют асимметричным методом, используя открытый ключ получателя;

4. Сообщение и ключ отправляют по сети.

Сообщение

Симметричное шифрование

Сообщение

Симметричное шифрование

Зашифрованное сообщение

Асимметричное шифрование

Зашифрованный

Ключ

ключ

Генератор ключей каждого сеанса

Открытый ключ получателя

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