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

17.3. Криптосистема rsa, криптосистема Эль-Гамаля и протокол согласования ключей Диффи-Хэллмана.

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

Стойкость системы основана на сложности задачи факторизации больших двупростых чисел.

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

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

Построение криптосистемы обеспечивает получатель сообщений.

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

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

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

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

Рассмотрим пример построения (учебной) криптосистемы RSA.

1. , .

2.

3.

4.

5.

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

Зашифруем сообщение из трех блоков: 3,1,2.

, , .

Для расшифрования возведем каждый блок в степень по модулю 33:

, , .

Секретный ключ для учебной системы легко найти перебором. На практике это невыполнимо, т.к. реальный размер модуля (длина битового представления) находится в диапазоне от 512 до 4096 битов.

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

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

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

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

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

При этом обоим корреспондентам известен первообразный элемент поля и, конечно, простое число .

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

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

Пример системы экспоненциального ключевого обмена Диффи-Хэллмана.

1. , , поскольку , .

2. Абонент А генерирует псевдослучайное число, например, и передает абоненту В значение .

3. В, аналогично, генерирует и отправляет А значение .

4. А вычисляет общий секретный параметр .

5. В вычисляет общий секретный параметр .

Криптосистема Эль-Гамаля является асимметричной. Для построения пары ключей выбирается большое простое число и два псевдослучайных числа, меньших .

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

Открытым ключом является тройка чисел .

Заметим, что дискретное возведение в степень ведет себя как односторонняя функция, но не как односторонняя функция с лазейкой.

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

Для зашифрования сообщения выбирается псевдослучайное число (рандомизатор, разовый ключ) с условием НОД. Рандомизаторы не должны повторяться и должны содержаться в секрете.

Затем вычисляются числа - лазейка и - шифртекст. Криптограммой является пара блоков данных .

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

Действительно, , поэтому .

Соседние файлы в папке Лекции по криптологии