Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Эл-ты_криптологии-лек.doc
Скачиваний:
24
Добавлен:
24.11.2019
Размер:
757.76 Кб
Скачать

3.2. Криптосистема Диффи-Хеллмана

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

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

Если использовать обычную криптосистему с секретными ключами, то каждая пара пользователей должна быть снабжена своим ключом, то есть всего в системе должно быть N2/2 секретных ключей (при N = 100 ~ 5000 ключей, при N = 104 это ~6107 ключей), причем эту совокупность ключей необходимо постоянно обновлять.

В системе с открытыми ключами задача решается совершенно иначе.

Пусть строится система для связи абонентов A, B, C, ... . Для организации системы выбирается большое простое целое число p и некоторое число g, 1 < g < p – 1, такое, что все числа из множества {1, ..., p – 1} могут быть представлены как степени числа g, взятые по mod p. Числа g и p открыты и известны всем абонентам.

Абоненты выбирают большие числа XA, XB, … , которые хранятся в секрете (обычно рекомендуют выбирать такие числа случайно).

Каждый абонент вычисляет соответствующее число Y, которое открыто передается другим абонентам:

Y A = mod p;

Y

(3.7)

B = mod p;

..............................

В результате получаем следующую таблицу:

Таблица 3.2

Абонент

Секретный ключ

Открытый ключ

А

XA

YA

В

XB

YB

...

...

...

Пусть абонент А сообщает абоненту В о том, что ему будет передаваться секретная информация. Абонент А вычисляет величину

ZAB = mod p (3.8)

(обратите внимание на то, что никто кроме А этого сделать не сможет).

Абонент B вычисляет величину

ZBA = mod p (3.9)

Справедливо равенство: ZAB = ZBA. Действительно:

ZAB = mod p = mod p = mod p = mod p = ZBA.

Отметим главные свойства этой криптосистемы:

  • абоненты A и B получили одно и то же число Z = ZAB = ZBA, которое не передавалось по открытой линии связи;

  • противник не знает секретных чисел XA и XВ и поэтому не может вычислить число Z (попытка вычисления связана с непомерными тратами времени);

  • далее абоненты A и B могут использовать число Z в качестве секретного ключа для шифрования и дешифрования данных при использовании традиционной криптосистемы, например, ГОСТ 28147-89.

Таким образом, система Диффи-Хеллмана позволяет сформировать секретное слово, а далее требуется применить традиционную криптосистему, но без затрат на организацию секретного канала связи.