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

Материал из testwiki
Перейти к навигации Перейти к поиску

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

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

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

Алгоритм

dA=eA1mod(p1)
dB=eB1mod(p1)
Иначе говоря, должны выполняться условия:
eAdA1mod(p1),
eBdB1mod(p1).

Пары чисел (eA,dA), (eB,dB) являются секретными ключами абонентов.

meAdA=mmodp, так как
meAdA=mjφ(p)+1=mjφ(p)m=m

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

  • Абонент Алиса посылает сообщение m (0<m<p1) абоненту Боб. Алиса шифрует своё сообщение первым ключом: m1=meAmodp (0<m1<p) и пересылает m1 абоненту Боб.
  • Боб шифрует вторым ключом: m2=m1eBmodp (0<m2<p) и пересылает обратно к Алисе.
  • Алиса «снимает первый замок» с помощью второго секретного ключа:
m3=m2dAmodp=meAeBdAmodp.
  • Боб «снимает свой первый замок» с помощью второго секретного ключа:
m4=m3dBmodp=mdBeAeBdAmodp=m.

Итак, Бобу доставлено секретное сообщение m от Алисы.

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

Данный вариант системы может быть реализован и без использования процедуры возведения в степень в конечных полях, но задача дискретного логарифмирования достаточно сложна для Боба, чтобы тот по m1=meA не смог определить ключ meA и впредь читать сообщения, ему не предназначавшиеся. Обязательным условием надежности является хорошая система подписи сообщений. Без использования подписей любое постороннее лицо Ева может представиться Бобу и вернуть Алисе сообщение вида m2~=m1eEmodp. Алиса продолжит процедуру и, «сняв свой замок», откроет самозванке Еве путь к расшифрованию сообщения. В связи с этим, m2=m1eBmodp должно сопровождаться аутентификацией.

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

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

de1(modN).

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

e*d=jN+1

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

e(dP)=(ed)P=(jN+1)P=(jN)P+P=j0+P=0+P=P, то есть
e(dP)=P.

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

Q=dP
R=eQ

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

Алгоритм

  • Абонент Alice помещает своё сообщение m в некоторую точку M(m) эллиптической кривой и умножает её на своё секретное значение eA, получает точку P1=eAM(m). Эта точка отправляется абоненту Bob.
  • Bob вычисляет P2=eBP1 и отправляет результат Alice.
  • Alice «снимает замок», вычисляя P3=dAP2. Возвращает полученный результат абоненту Bob.
  • Bob расшифровывает сообщение, используя свой секретный ключ шифрования dB:
M(m)=dBP3

Литература

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