Криптосистема Мэсси — Омуры

Криптосистема Мэсси — Омуры была предложена в 1978 году Джеймсом Мэсси и Джимом К. Омурой изначально в качестве улучшения протокола Шамира. Имеется два варианта реализации данного протокола: классический и эллиптический. Первый построен на сложности задачи дискретного логарифмирования, второй на свойствах эллиптической кривой. Обычно сгенерированное в результате сообщение используется в качестве ключа традиционной криптосистемы.

Первоначальный вариант править

Изначально протокол Мэсси-Омуры был описан применительно к мультипликативной группе  , где   — простое число, и представлял собой аналог передачи секрета с помощью запираемых на один или два замка ящиков. Суть схемы заключается в следующем: абонент Alice запирает ящик с письмом своим ключом и пересылает ящик абоненту Bob. Абонент Bob, в свою очередь, запирает его своим ключом, и отправляет обратно к Alice. Alice снимает свой замок и направляет ящик к Bob, который снимает свой замок.

Алгоритм править

 
 
Иначе говоря, должны выполняться условия:
 ,
 .

Пары чисел  ,   являются секретными ключами абонентов.

 , так как
 

(Первый сомножитель равен 1 по теореме Эйлера). Аналогично  .

  • Абонент Alice посылает сообщение   ( ) абоненту Bob.

Alice шифрует своё сообщение первым ключом:   ( ) и пересылает   абоненту Bob.

  • Bob шифрует вторым ключом:   ( ) и пересылает обратно к Аlice.
  • Alice «снимает первый замок» с помощью второго секретного ключа:
 .
  • Bob «снимает свой первый замок» с помощью второго секретного ключа:
 

Итого: абоненту Bob доставлено секретное сообщение   от Аlice.

Проблемы в использовании править

Данный вариант системы может быть реализован и без использования процедуры возведения в степень в конечных полях, но задача дискретного логарифмирования достаточно сложна для Bob, чтобы тот по   не смог определить ключ   и впредь читать сообщения, ему не предназначавшиеся. Обязательным условием надежности является хорошая система подписи сообщений. Без использования подписей любое постороннее лицо Eva может представиться абонентом Bob и вернуть Alice сообщение вида  . Alice продолжит процедуру и, «сняв свой замок», откроет самозванцу Eva путь к расшифрованию сообщения. В связи с этим,   должно сопровождаться аутентификацией.

Эллиптический вариант править

Эллиптический вариант данного протокола предоставляет возможность передавать сообщение от Alice к Bob по открытому каналу без предварительной передачи какой-либо ключевой информации. Системные параметры здесь: уравнение эллиптической кривой   и поле  , задающееся неприводимым многочленом. Пусть порядок эллиптической кривой   равен  ,   — целое число, взаимно простое с  ( ). По алгоритму Евклида можно найти

 .

По определению сравнимости по модулю:

 

Значит для любой точки   эллиптической кривой   порядка   выполняется:

 , то есть
 .

Теперь, используя   и   и любую точку   эллиптической кривой, можно вычислить

 
 

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

Алгоритм править

  • Абонент Alice помещает своё сообщение   в некоторую точку   эллиптической кривой и умножает её на своё секретное значение  , получает точку  . Эта точка отправляется абоненту Bob.
  • Bob вычисляет   и отправляет результат Alice.
  • Alice «снимает замок», вычисляя  . Возвращает полученный результат абоненту Bob.
  • Bob расшифровывает сообщение, используя свой секретный ключ шифрования  :
 

Литература править

  • Н. Коблиц «Курс теории чисел и криптографии». Москва, 2001
  • А. А. Болотов, С. Б. Гашков, А. Б. Фролов, А. А. Часовских "Алгоритмические основы эллиптической криптографии. Москва, 2004
  • Б. Н. Воронков, А. С. Щеголеватых «Элементы теории чисел и криптозащита». Воронеж, 2008