Это не официальный сайт wikipedia.org 01.01.2023

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

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

(перенаправлено с «Криптосистема Мэсси-Омуры»)

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

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

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

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

d A = e A 1 mod ( p 1 )  
d B = e B 1 mod ( p 1 )  
Иначе говоря, должны выполняться условия:
e A d A 1 mod ( p 1 )  ,
e B d B 1 mod ( p 1 )  .

Пары чисел ( e A , d A )  , ( e B , d B )   являются секретными ключами абонентов.

m e A d A = m mod p  , так как
m e A d A = m j φ ( p ) + 1 = m j φ ( p ) m = m  

(Первый сомножитель равен 1 по теореме Эйлера). Аналогично m e B d B = m mod p  .

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

Alice шифрует своё сообщение первым ключом: m 1 = m e A mod p   ( 0 < m 1 < p  ) и пересылает m 1   абоненту Bob.

  • Bob шифрует вторым ключом: m 2 = m 1 e B mod p   ( 0 < m 2 < p  ) и пересылает обратно к Аlice.
  • Alice «снимает первый замок» с помощью второго секретного ключа:
m 3 = m 2 d A mod p = m e A e B d A mod p  .
  • Bob «снимает свой первый замок» с помощью второго секретного ключа:
m 4 = m 3 d B mod p = m d B e A e B d A m o d p = m  

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

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

Данный вариант системы может быть реализован и без использования процедуры возведения в степень в конечных полях, но задача дискретного логарифмирования достаточно сложна для Bob, чтобы тот по m 1 = m e A   не смог определить ключ m e A   и впредь читать сообщения, ему не предназначавшиеся. Обязательным условием надежности является хорошая система подписи сообщений. Без использования подписей любое постороннее лицо Eva может представиться абонентом Bob и вернуть Alice сообщение вида m 2 ~ = m 1 e E mod p  . Alice продолжит процедуру и, «сняв свой замок», откроет самозванцу Eva путь к расшифрованию сообщения. В связи с этим, m 2 = m 1 e B mod p   должно сопровождаться аутентификацией.

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

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

d e 1 ( mod N )  .

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

e d = j N + 1  

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

e ( d P ) = ( e d ) P = ( j N + 1 ) P = ( j N ) P + P = j 0 + P = 0 + P = P  , то есть
e ( d P ) = P  .

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

Q = d P  
R = e Q  

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

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

  • Абонент Alice помещает своё сообщение m   в некоторую точку M ( m )   эллиптической кривой и умножает её на своё секретное значение e A  , получает точку P 1 = e A M ( m )  . Эта точка отправляется абоненту Bob.
  • Bob вычисляет P 2 = e B P 1   и отправляет результат Alice.
  • Alice «снимает замок», вычисляя P 3 = d A P 2  . Возвращает полученный результат абоненту Bob.
  • Bob расшифровывает сообщение, используя свой секретный ключ шифрования d B  :
M ( m ) = d B P 3  

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

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