Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
250
Добавлен:
25.03.2016
Размер:
394.75 Кб
Скачать

Принципы и методы криптосистемы с открытым ключом

Принцип криптографии с открытым ключом очень тесно связана со свойством односторонних функций, то есть таких функций f(х), что по известному х довольно просто найти значение f(x), тогда как определение х из f(х) сложно в смысле теории.

Но сама односторонняя функция бесполезна в применении:

ею можно зашифровать сообщение, но расшифровать нельзя.

Поэтому криптография с открытым ключом использует односторонние функции с ловушкой.

Ловушкаэто некий секрет (инструкция), который помогает расшифровать.

Функцией-ловушкой называется односторонняя функция, для которой обратную функцию вычислить просто, если имеется некоторая дополнительная информация, и сложно, если такая информация отсутствует. То есть существует такой у, что зная f(x), можно вычислить х.

К примеру, если разобрать часы на множество составных частей, то очень сложно собрать вновь работающие часы. Но если есть инструкция по сборке (ловушка), то можно легко решить эту проблему.

Понять принципы и методы криптографии с открытым ключом помогает следующий пример — хранение паролей в компьютере.

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

Для решения задачи хранения паролей в компьютере используется односторонняя функция.

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

Криптосистемы с открытым ключом основываются на односторонних функциях-ловушках.

При этом открытый ключ определяет конкретную реализацию функции, а секретный ключ дает информацию о ловушке.

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

Прямое направление используется для шифрования и для верификации цифровых подписей, а обратное - для расшифрования и выработки цифровой подписи.

(Верификация — проверка, проверяемость, способ подтверждения, проверка с помощью доказательств, каких-либо теоретических положений, алгоритмов, программ и процедур путем их сопоставления с опытными (эталонными или эмпирическими) данными, алгоритмами и программами. Верификация — это подтверждение соответствия конечного продукта предопределённым эталонным требованиям. Верификация — методика распознавания лжи (укрывательства, искажения )

В качестве задач, приводящих к односторонним функциям, можно привести следующие.

  1. Разложение числа на простые сомножители.

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

  1. Дискретное логарифмирование в конечном простом поле (проблема Диффи-Хеллмана).

Допустим, задано большое простое число q и пусть а• - примитивный элемент поля GF(q). Тогда для любого x вычислить ax (mod q) просто, а вычислить x по заданным k = ax (mod q) и q оказывается затруднительным.

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

Все практические криптосистемы с открытым ключом основываются на функциях, считающихся односторонними, но это свойство не было доказано в отношении ни одной из них.

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

Схема шифрования с открытым ключом

Пусть Кпространство ключей,

e и dключи шифрования и расшифрования соответственно.

Ее функция шифрования для произвольного ключа е&K, (&- принадлежит) такая что: Ее(т) = с

Здесь:

с&С, где Спространство шифротекстов,

т&M, где Мпространство сообщений.

Dd(c) функция расшифрования, с помощью которой можно найти исходное сообщение т, зная шифротекст с :

Dd(c) = т

е.: е&K) набор шифрования,

{Dd:: d&K } — соответствующий набор для расшифрования.

Каждая пара (Е,D) имеет свойство: зная Ее,(m) невозможно решить уравнение Ее(т) = с, то есть для данного произвольного шифротекста с&С, невозможно найти сообщение т&М. Это значит, что по данному е невозможно определить соответствующий ключ расшифрования d.

Ее является односторонней функцией, а d ловушкой.

Ниже показана схема передачи информации лицом А лицу В. Они могут быть как физическими лицами, так и организациями и так далее. Но для более лёгкого восприятия принято участников передачи отождествлять с людьми, чаще всего именуемых Алиса и Боб. Участника, который стремится перехватить и расшифровать сообщения Алисы и Боба, чаще всего называют Евой.

d m

А Генерирование > Расшифрование > Пункт назначения

Ключа (d) Dd(c) = m

_______________________________________________________________

e Открытый канал c Открытый канал

В Шифрование Исходный текст

Ee (m) = c m

1. Боб выбирает пару (е,d) и шлёт ключ шифрования е (открытый ключ) Алисе по открытому каналу, а ключ расшифрования d (закрытый ключ) защищен и секретен (он не должен передаваться по открытому каналу, либо его подлинность должна быть гарантирована некоторым сертифицирующим органом).

2 Чтобы послать сообщение т Бобу, Алиса применяет функцию шифрования, определённую открытым ключом е: Ее(т) = с, с — полученный шифротекст.

3. Боб расшифровывает шифротекст с, применяя обратное преобразование Dd однозначно определённое значением d.