Трёхэта́пный протоко́л (англ. three-pass protocol) — криптографический протокол, который позволяет защищённо передать сообщение между двумя сторонами без необходимости обмена или распределения ни открытого, ни закрытого ключа. Этот протокол предполагает использование коммутативного шифра[1].

Основные сведения править

Трёхэтапный протокол называется так, потому что между отправителем и получателем происходит обмен тремя зашифрованными сообщениями. Первый трёхэтапный протокол был разработан Ади Шамиром в 1980-е годы, но не был опубликован[2][3]. Базовая концепция протокола состоит в том, что каждая из сторон передачи имеет собственный приватный ключ для шифрования и приватный ключ для дешифрования. Каждая сторона использует свои ключи независимо, сначала для зашифровки сообщения, а затем для расшифровки.

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

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

Описание алгоритма править

 
Схема трёхэтапного протокола

Предположим, Алиса хочет послать Бобу сообщение. Тогда трёхэтапный протокол работает следующим образом[1]:

  1. Алиса выбирает закрытый ключ шифрования   и соответствующий ключ расшифрования  . Алиса шифрует исходное сообщение   с помощью ключа   и отправляет шифротекст   Бобу.
  2. Боб выбирает закрытый ключ шифрования   и соответствующий ключ расшифрования  , а затем повторно шифрует первое сообщение   с помощью ключа   и отправляет дважды зашифрованное сообщение   обратно Алисе.
  3. Алиса расшифровывает второе сообщение с помощью ключа  . Из-за коммутативности, описанной выше, получаем  , то есть сообщение, зашифрованное только закрытым ключом Боба. Алиса пересылает этот шифротекст Бобу.
  4. Боб расшифровывает третье сообщение с помощью ключа   и получает   исходное сообщение.

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

Трёхэтапный протокол Шамира править

Первым трёхэтапным протоколом был трёхэтапный протокол Шамира[2], разработанный в 1980-х годах. Так же этот протокол называют бесключевым протоколом Шамира (англ. Shamir No-Key Protocol), потому что по этому протоколу не происходит обмена каких-либо ключей, но стороны обмена должны иметь по 2 закрытых ключа для шифрования и расшифрования. Алгоритм Шамира использует возведение в степень по модулю большого простого числа как функцию и шифрования, и расшифрования, то есть   и  , где   — большое простое число[4]. Для любого шифрования показатель степени   находится в отрезке   и для него справедливо  . Соответствующий показатель для расшифрования   выбирается так, чтобы  . Из малой теоремы Ферма следует, что  .

Протокол Шамира обладает коммутативностью, так как  .

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

Криптосистема Мэсси — Омуры была предложена Джеймсом Мэсси и Джимом Омурой (англ. Jim K. Omura) в 1982 как улучшение протокола Шамира[5][6]. Метод Мэсси — Омуры использует возведение в степень в поле Галуа   как функцию и шифрования, и расшифрования, то есть   и  , где вычисления проходят в поле Галуа. Для любого шифрования показатель степени   находится в отрезке   и для него справедливо  . Соответствующий показатель для расшифрования   выбирается так, чтобы  . Так как мультипликативная группа поля Галуа   имеет порядок  , то из теоремы Лагранжа следует, что   для всех   в  .

Каждый элемент поля Галуа   представлен как двоичный вектор нормального базиса, где каждый базисный вектор является квадратом предыдущего. То есть базисные вектора   где   — элемент поля с максимальным порядком. Используя данное представление, возведение в степень 2 можно производить с помощью циклического сдвига. Это значит, что возведение   в произвольную степень может быть выполнено с не более чем   сдвигами и   умножениями. Более того, несколько умножений могут выполняться параллельно. Это позволяет иметь более быстрые реализации в железе за счёт использования несколько умножителей[7].

Безопасность править

Необходимое условие для безопасности трёхэтапного протокола состоит в том, чтобы злоумышленник не смог определить ничего об исходном сообщении   из трёх пересланных сообщений  [8]. Это условие накладывает ограничение на выбор функций шифрования и расшифрования. Например коммутативная функция xor   не может использоваться в трёхэтапном протоколе, так как  . То есть, зная три пересланные сообщения, можно восстановить исходное сообщение[9].

Криптографическая стойкость править

Для функций шифрования, используемых в алгоритме Шамира и алгоритме Мэсси — Омуры, безопасность зависит от сложности вычисления дискретных логарифмов в конечном поле. Если злоумышленник может вычислить дискретные логарифмы в   для метода Шамира или   для метода Масси-Омура, то протокол может быть нарушен. Ключ   может быть вычислен из сообщений   и  . Когда   известно, легко вычислить степень для расшифровки  . Затем злоумышленник может вычислить  , возведя перехваченное сообщение   в степень  . В 1998 году показано, что при определённых предположениях взлом криптосистемы Мэсси — Омуры эквивалентен взлому криптосистемы Диффи — Хеллмана[10].

Аутентификация править

Трёхэтапный протокол не предусматривает аутентификацию сторон обмена[11]. Поэтому без реализации сторонней аутентификации протокол уязвим для атаки посредника. Это значит, что если злоумышленник имеет возможность создавать ложные сообщения или перехватывать и заменять настоящие переданные сообщения, то обмен скомпрометирован.

Примечания править

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

  • B. Schneier. Applied Cryptography: "Protocols, algorithms, and source codes in C". — 2nd Edition. — New York: John Wiley & Sons, 1996.
  • Лидл Р., Нидеррайтер Г. Конечные поля. В 2-х тт. — Москва: Мир, 1998. — 430 с. — ISBN 5-03-000065-8.
  • Sakurai, K.; Shizuya, H. A structural comparison of the computational difficulty of breaking discrete log cryptosystems (англ.) // Journal of Cryptology : Article. — 1998. — No. 11. — P. 29—43. — ISSN 09332790.
  • A. G. Reinhold. Strong Cryptography — The Global Tide of Change (англ.) // Cato Institute : Article. — 1991. — No. 51. — P. 3—5.
  • U.S. Patent 4 567 600, U.S. patent on the Massey-Omura cryptosystem
  • A.G. Konheim. Cryptography. — New York: John Wiley & Sons, 1981. — С. 345—7.
  • Yoshito Kanamori, Seong-Moo Yoo. Quantum three-pass protocol: Key distribution using quantum superposition states (англ.) // International Journal of Network Security & Its Applications (IJNSA) : Article. — 2009. — No. 2. — P. 65—66.
  • A. Menezes, P. van Oorschot, S. Vanstone. Handbook of Applied Cryptography. — 5th printing. — CRC Press, 1996. — С. 500, 535, 642. — 816 с. — ISBN 0-8493-8523-7.