Криптосистема Голдвассера – Микали - Goldwasser–Micali cryptosystem

В Криптосистема Голдвассера – Микали (GM) является алгоритм шифрования с асимметричным ключом разработан Шафи Гольдвассер и Сильвио Микали в 1982 году. GM имеет честь быть первым вероятностный схема шифрования с открытым ключом, которая доказуемо безопасный при стандартных криптографических предположениях. Однако это неэффективная криптосистема, поскольку зашифрованные тексты могут быть в несколько сотен раз больше, чем исходный открытый текст. Чтобы доказать свойства безопасности криптосистемы, Голдвассер и Микали предложили широко используемое определение семантическая безопасность.

Основа

Криптосистема GM - это семантически безопасный исходя из предполагаемой неразрешимости квадратичная проблема остаточности по модулю композиции N = pq куда р, д большие простые числа. Это предположение утверждает, что при условии (Икс, N) трудно определить, Икс квадратичный вычет по модулю N (т.е. Икс = y2 мод N для некоторых y), когда Символ Якоби за Икс +1. Проблема квадратичного вычета легко решается с учетом факторизации N, в то время как новые квадратичные остатки могут быть созданы любой стороной, даже не зная об этой факторизации. Криптосистема GM использует эту асимметрию, шифруя отдельные биты открытого текста либо как случайные квадратичные остатки, либо как не-остатки по модулю N, все с квадратичным символом вычета +1. Получатели используют факторизацию N как Секретный ключ, и расшифровать сообщение, проверив квадратичную остаточность полученных значений зашифрованного текста.

Поскольку Голдвассер-Микали дает значение размера приблизительно |N| для шифрования каждого бита открытого текста, шифрование GM приводит к существенным расширение зашифрованного текста. Предотвращать факторизация атаки, рекомендуется |N| быть несколько сотен бит или больше. Таким образом, схема служит в основном для подтверждения концепции и более эффективных схем с доказуемой безопасностью, таких как Эльгамал были разработаны с тех пор.

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

Определение схемы

Голдвассер-Микали состоит из трех алгоритмов: вероятностного алгоритма генерации ключей, который создает открытый и закрытый ключи, вероятностного алгоритма шифрования и детерминированного алгоритма дешифрования.

Схема основана на определении того, является ли данное значение Икс квадратный мод N, учитывая факторизацию (п, q) из N. Это можно сделать с помощью следующей процедуры:

  1. Вычислить Иксп = Икс мод п, Иксq = Икс мод q.
  2. Если и , тогда Икс является квадратичным модулем вычетаN.

Генерация ключей

Модуль, используемый в GM-шифровании, генерируется так же, как и в ЮАР криптосистема. (Видеть ЮАР, генерация ключей для подробностей.)

  1. Алиса генерирует два разных больших простые числа п и q, случайно и независимо друг от друга.
  2. Алиса вычисляет N = p q.
  3. Затем она находит без остатка Икс так что Лежандровые символы удовлетворить и, следовательно, Символ Якоби +1. Значение Икс можно, например, найти, выбрав случайные значения и проверив два символа Лежандра. Если п, q = 3 mod 4 (т. Е. N это Целое число Блюма ), то значение N - 1 гарантированно имеет требуемую недвижимость.

В открытый ключ состоит из (ИксN). Секретный ключ - это факторизация (пq).

Шифрование сообщений

Предположим, Боб хочет отправить сообщение м Алисе:

  1. Боб сначала кодирует м в виде строки бит (м1, ..., мп).
  2. Для каждого бита , Боб генерирует случайное значение из группы единиц по модулюN, или же . Он выводит значение .

Боб отправляет зашифрованный текст (c1, ..., cп).

Расшифровка сообщения

Алиса получает (c1, ..., cп). Она может поправиться м используя следующую процедуру:

  1. Для каждого я, используя факторизацию на простые множители (п, q) Алиса определяет, действительно ли значение cя - квадратичный вычет; если так, мя = 0, иначе мя = 1.

Алиса выводит сообщение м = (м1, ..., мп).

Свойства безопасности

Есть простой снижение от взлома этой криптосистемы до проблемы определения того, является ли случайное значение по модулю N с символом Якоби +1 является квадратичным вычетом. Если алгоритм А ломает криптосистему, чтобы определить, Икс квадратичный вычет по модулю N, мы тестируем А чтобы увидеть, может ли он взломать криптосистему, используя (Икс,N) в качестве открытого ключа. Если Икс невычет, то А должен работать правильно. Однако если Икс является остатком, то каждый "зашифрованный текст" будет просто случайным квадратичным остатком, поэтомуА не может быть правильным более чем в половине случаев. Кроме того, эта проблема случайный самовосстанавливающийся, что гарантирует, что для данного N, каждый открытый ключ так же безопасен, как и любой другой открытый ключ.

Криптосистема GM имеет гомоморфные свойства, в том смысле, что если c0, c1 это шифрование битов м0, м1, тогда c0c1 модN будет шифрованием . По этой причине криптосистема GM иногда используется в более сложных криптографических примитивах.

Рекомендации

  • С. Гольдвассер, С. Микали (1982). «Вероятностное шифрование и как играть в мысленный покер, сохраняя в секрете всю частичную информацию». Proc. 14-й симпозиум по теории вычислений: 365–377. Дои:10.1145/800070.802212.
  • С. Гольдвассер, С. Микали (1984). «Вероятностное шифрование». Журнал компьютерных и системных наук. 28 (2): 270–299. Дои:10.1016/0022-0000(84)90070-9.

Смотрите также