Главная Обратная связь

Дисциплины:

Архитектура (936)
Биология (6393)
География (744)
История (25)
Компьютеры (1497)
Кулинария (2184)
Культура (3938)
Литература (5778)
Математика (5918)
Медицина (9278)
Механика (2776)
Образование (13883)
Политика (26404)
Правоведение (321)
Психология (56518)
Религия (1833)
Социология (23400)
Спорт (2350)
Строительство (17942)
Технология (5741)
Транспорт (14634)
Физика (1043)
Философия (440)
Финансы (17336)
Химия (4931)
Экология (6055)
Экономика (9200)
Электроника (7621)


 

 

 

 



Для известных целых A, N, y найти целое число x, такое, что



Ax mod N = y.

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

По современным оценкам теории чисел при целых числах A » 2664 и

N » 2664 решение задачи дискретного логарифмирования (нахождение показателя степени x для известного y) потребует около 1026 операций, т.е. эта задача имеет в 103 раз большую вычислительную сложность, чем задача разложения на множители. При увеличении длины чисел разница в оценках сложности задач возрастает.

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

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

Дадим неформальное определение такой функции.

Функция: f : X ® Y

относится к классу однонаправленных функций с "потайным ходом" в том случае, если:

· она является однонаправленной

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

В качестве примера однонаправленной функции с "потайным ходом" можно указать используемую в криптосистеме RSA модульную экспоненту с фиксированными модулем и показателем степени. Переменное основание модульной экспоненты используется для указания числового значения сообщения М либо криптограммы С .

Способы передачи секретного ключа по открытому каналу

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Допустим, задано большое простое число 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.

Алгоритм метода связи с экспоненциальным ключевым обменом

Суть его в следующем:

- Алиса и Боб(традиционные образы в криптологии) выбирают
случайные числа Ха и Хб соответственно.

- Алиса передает Бобу УаХа (mod q),

аБоб Алисе - Уbхь (mod q).

Здесь а - так называемый примитивный элемент конечного поля Галуа GF(q), замечательное свойство которого заключается в том, что его степени дают все ненулевые значения элементов поля.

В качестве секретного ключа используется значение

Уа=ахахь

которое Алиса получает возведением переданного Бобом числа в степень Ха, известную только ей, а Боб - полученного от Алисы числа в известную только ему степень ХЬ.

Криптоаналитик вынужден вычислять логарифм по крайней мере одного из передаваемых чисел,

Устойчивость экспоненциального ключевого обмена базируется на так называемой односторонности функции возведения в степень: вычислительная сложность получения Уа из Хапри qдлиной 1000 битов составляет порядка 2000 умножений 1000 битовых чисел. Обратная операция потребует примерно 1030 операций.

ОДНОСТОРОННИЕ функции, обладающие подобной асимметрией вычислительной сложности прямой и обратной задачи,играют ведущую роль в криптографии с открытым ключом.

Еще более интересна односторонняя функция с потайным ходом ("ловушкой").

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

Тогда параметры функции «ловушки» служат открытым ключом.

Принцип действия метода

1) Алиса передаёт понезащищенному каналу Бобу свой открытый ключ (параметры функции «ловушки»);

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

3) Алиса, зная "ловушку" (секретный ключ), легко вычисляет обратную функцию.



Просмотров 739

Эта страница нарушает авторские права




allrefrs.su - 2025 год. Все права принадлежат их авторам!