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

Криптосистема Бенало — Википедия

Криптосистема Бенало

Криптосистема Бенало — модификация криптосистемы Гольдвассер — Микали. Основное их отличие состоит в том, что криптосистема позволяет зашифровывать блок данных единовременно, в то время как в схеме Гольдвассера и Микали каждый бит данных шифруется отдельно[1].

Разработана Джошем Бенало в 1988 году. Получила применение в системах электронного голосования[2].

Система является частично гомоморфной. Как и во многих криптосистемах с открытым ключом, эта система работает в группе ( Z / n Z ) , где n  — произведение двух простых чисел.

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

Генерация ключаПравить

  1. Выбираются блок размера r   и два больших различных простых числа p   и q  , удовлетворяющие следующим условиям:
    1. r   и ( p 1 ) / r   — взаимно простые ;
    2. r   и q 1   — взаимно простые.
  2. Вычисляется n = p × q  , ϕ = ( p 1 ) ( q 1 )  ;
  3. Выбирается y Z n   так, что y ϕ / r 1 mod n  .
    Замечание: если r   составное, то вышеуказанные условия не являются достаточными для обеспечения правильной расшифровки[3], то есть для того, чтобы всегда выполнялось D ( E ( m ) ) = m  . Чтобы избежать подобного, предлагается выполнять следующую проверку: пусть r = p 1 p 2 p k  . Тогда y   выбирается таким образом, чтобы для каждого p i   выполнялось y ϕ / p i 1 mod n   .
  4. Пусть x = y ϕ / r mod n  ;

Тогда открытым ключом является ( y , r , n )  , а секретным ключом — ( ϕ , x )  .

ШифрованиеПравить

Шифрование сообщения m Z r  :

  1. Выбирается произвольное u Z n  ;
  2. Тогда E r ( m ) = y m u r mod n  .

РасшифрованиеПравить

Для начала заметим, что для любых m Z r   и u Z n   выполняется: a = ( c ) ϕ / r ( y m u r ) ϕ / r ( y m ) ϕ / r ( u r ) ϕ / r ( y ϕ / r ) m ( u ) ϕ ( x ) m ( u ) 0 x m mod n  

Таким образом, чтобы вычислить m  , зная a  , проводится операция дискретного логарифмирования из a   по основанию x  . Если число r   небольшое, возможно нахождение m   через исчерпывающий перебор, то есть проверкой выполнения равенства x i a mod n   для всех 0 ( r 1 )  . При больших значениях r  , нахождение m   можно проводить с помощью алгоритма Гельфонда — Шенкса (алгоритм больших и малых шагов), получив временную сложность расшифрования O ( r )  .

Расшифрование шифртекста c Z n  :

  1. Вычисляется a = c ϕ / r mod n  ;
  2. Подбирается m = log x ( a )  , то есть такое m   , что x m a mod n  

Свойства криптосистемыПравить

ГомоморфизмПравить

Криптосистема Бенало гомоморфна относительно операции сложения:

E ( x 1 ) E ( x 2 ) = ( g x 1 u 1 r ) ( g x 2 u 2 r ) = g x 1 + x 2 ( u 1 u 2 ) r = E ( x 1 + x 2 mod r )  , где E ( x )   является функцией шифрования от сообщения x  

СтойкостьПравить

Стойкость криптосистемы Бенало основана на труднорешаемой задаче о вычетах высокой степени. Зная размер блока r  , модуль n   и шифртекст E ( M )  , где разложение на множители числа n   неизвестно, — определить открытый текст вычислительно сложно.

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

  1. А. И. Трубей «Гомоморфное шифрование: безопасность облачных вычислений и другие приложения (обзор)»
  2. Benaloh, Josh (1994) "Dense Probabilistic Encryption"

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

  1. Benaloh, Josh (1994) "Dense Probabilistic Encryption"
  2. Гомоморфное шифрование: безопасность облачных вычислений и другие приложения (обзор) (А.И.Трубей)
  3. Fousse, Laurent; Lafourcade, Pascal; Alnuaimi, Mohamed (2011). "Benaloh's Dense Probabilistic Encryption Revisited"