Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ТКИОК.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
8.35 Mб
Скачать
  1. Криптосистема Диффи-Хеллмана.

Алгори́тм Ди́ффи — Хе́ллмана — алгоритм, позволяющий двум сторонам получить общий секретный ключ, используя незащищенный от прослушивания, но защищённый от подмены, канал связи. Этот ключ может быть использован для шифрования дальнейшего обмена с помощью алгоритма симметричного шифрования.

Описание алгоритмаПредположим, что обоим абонентам известны некоторые два числа g и p (например, они могут быть «зашиты» в программное обеспечение), которые не являются секретными и могут быть известны также другим заинтересованным лицам. Для того, чтобы создать неизвестный более никому секретный ключ, оба абонента генерируют большие случайные числа: первый абонент — число a, второй абонент — число b. Затем первый абонент вычисляет значение A = gamod p и пересылает его второму, а второй вычисляет B = gbmodp и передаёт первому. Предполагается, что злоумышленник может получить оба этих значения, но не модифицировать их (то есть у него нет возможности вмешаться в процесс передачи). На втором этапе первый абонент на основе имеющегося у него a и полученного по сети B вычисляет значение Bamod p = gabmod p, а второй абонент на основе имеющегося у него b и полученного по сети A вычисляет значение Abmod p = gabmod p. Как нетрудно видеть, у обоих абонентов получилось одно и то же число: K = gabmod p. Его они и могут использовать в качестве секретного ключа, поскольку здесь злоумышленник встретится с практически неразрешимой (за разумное время) проблемой вычисления gabmod p по перехваченным gamod p и gbmod p, если числа p,a,b выбраны достаточно большими.

K — итоговый общий секретный ключ

При работе алгоритма, каждая сторона:

генерирует случайное натуральное число a — закрытый ключ

совместно с удалённой стороной устанавливает открытые параметры p и g (обычно значения p и g генерируются на одной стороне и передаются другой), где

p является случайным простым числом

g является первообразным корнем по модулю p

вычисляет открытый ключ A, используя преобразование над закрытым ключом

A = ga mod p обменивается открытыми ключами с удалённой стороной

вычисляет общий секретный ключ K, используя открытый ключ удаленной стороны B и свой закрытый ключ a K = Ba mod p К получается равным с обоих сторон, потому что: Ba mod p = (gb mod p)a mod p = gab mod p = (ga mod p)b mod p = Ab mod p

В практических реализациях, для a и b используются числа порядка 10100 и p порядка 10300. Число g не обязано быть большим и обычно имеет значение в пределах первого десятка.

  1. Криптосистема Эль-Гамаля.

  1. Обеспечение целостности данных и аутентификация.

Термин «аутентификация» означает установление под­линности. Применительно к самой информации аутентификация оз­начает проверку того, что данные, передаваемые по каналу связи, являются подлинными по своему источнику и содер­жанию, по времени создания, времени пересылки и т.д.

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

Аутентификация источника данных – получение под­тверждения того, что рассматриваемый документ был создан именно указанным соответствующим образом источником информации. Нарушение «единственности документа» подразумевает его повторную передачу или повторное использование. Если источник сооб­щений фиксирован, то вместо термина “аутентификация ис­точника данных” используют термин «аутентификация со­общений».

Целостность данных и аутентификация источника данных тесно связаны друг с другом. Действительно, если данные подверглись модификации, то у них автоматически изменился источник. Если же не установлен источник, то без ссылки на него нельзя разрешить проблему целостности, В связи с этим будем считать по определению, что аутентификация источни­ка данных включает проверку целостности данных.

Для обеспечения единственности и своевременности передачи сообщений обычно используются дополняющие ау­тентификацию параметры, которые вставляются в передавае­мые сообщения. Это могут быть метки времени или некото­рые последовательности чисел. Если метки времени позволя­ют установить время создания или передачи документа, то последовательность чисел гарантирует правильность порядка получения сообщений. Помимо этого для аутентификации последующих сообщений могут использоваться случайные числа, передаваемые в предыдущих сообщениях. Такой спо­соб позволяет организовать «жесткое сцепление» идущих друг за другом сообщений.

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

Для обеспечения целостности хранимых данных (М) можно добавить к ним значение криптографической хеш­-функции (M, hk(M)), зависящей от ключа, известного только владельцу информации. Такой способ автоматиче­ски решает проблему аутентификации источника данных.

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