- Криптосистема Голдвассера-Микали
-
Криптосистема Голдвассера-Микали (GM) — криптографическая система с открытым ключом, разработанная Шафи Голдвассером и Сильвио Микали в 1982 году. GM является первой схемой вероятностного шифрования с открытым ключом, доказуемо стойкая при стандартных криптографических предположениях. Однако, криптосистема GM является неэфективной, так как шифртекст может быть в сотни раз длинее чем шифруемое сообщение. Для доказательства свойств стойкости криптосистемы Голдвассер и Микали ввели широко используемое понятие семантической стойкости.
Содержание
Основы
Понятие стойкости по отношению к атаке IND-CPA впервые было предложено Голдвассером и Микали. Они назвали это понятие семантической стойкостью. Оно заключается в том, что зашифрованный текст не допускает никакой утечки полезной информации об исходном тексте(если не считать полезной информацией длину самого исходного текста) ни одному взломщику, обладающему полиномиально ограниченными вычислительными ресурсами. Голдвассер и Микали обнаружили, что во многих приложениях собщения могут содержать априорную информацию, полезную для организации атак. Например, зашифрованный текст может содержать только одну простую инструкцию(например, «ПОКУПАТЬ» или « ПРОДАВАТЬ», либо имя одного из нескольких кандидатов при голосовании).Голдвассер и Микали указали на то, что криптосистемы с открытым ключом, основаные на непосредственном применении однонаправленных функции с секретом, как правило, очень слабо скрывают такие сообщения.
Свойство(Семантическая стойкость).Все элементы открытого текста, которые можно эффективно вычислить по заданному зашифрованному тексту, можно эффективно вычислить и без него .
Голдвассер и Микали предложили схему вероятностного шифрования, обладающую этим свойством. Изобретенная ими схема называется криптосистемой GM. Она шифрует все сообщение бит за битом, причем вся сложность, связанная с поиском отдельного зашифрованного бита в тексте c, заключается в проверке, принадлежит число c множеству или множеству
Описание алгоритма
Генерация ключа
Чтобы установить параметры ключа, Алиса должна выполнить следующие операции :
- Выбрать два случайных числа и , удовлетворяющих условию бит
- Вычислить значение
- Извлечь случайное целое число y удовлетворяющее условию (символы Якоби)
(*Таким образом, .*) - Описать пару в качестве открытого ключа, а пару сохранить в тайне как закрытый ключ.
Шифрование
Чтобы послать Алисе строку , Боб выполняет следующие операции:
- {
- }
Боб посылает Алисе сообщение
Дешифрование
Получив кортеж , Алиса выполняет следующие операции:
- {
- }
Временная сложность алгоритма
Для шифрования сообщения, состоящего из l бит, необходимо выполнить O(l(log 2N)2) побитовых операций.Это выражение представляет собой оценку временной сложности алгоритма.Степень расширения этого алгоритма равна log 2N:одному биту исходного текста соответствуют log 2N бит зашифрованного текста.
Поскольку для вычисления символа Лежандра по модулю p и по модулю q при условии, что | p | = | q | = k необходимо выполнить OB(k2) побитовых операций, для расшифровки кортежа требуются OB((log 2N)2) побитовых операций. Это выражение представляет собой оценку временной сложности расшифровки.Стойкость криптосистемы GM
Алгоритм шифрования в криптосистемы GM можно рассматривать как безошибочный рандомизированный алгоритм: случайные операции в алгоритме шифрования не могут исказить зашифрованный текст и обладают при этом следующими важными свойством.
Нулевые биты в исходном тексте равномерно распределяются по множеству QRN, а единичные - по множеству .
Оба распределения являются равномерными, поскольку для нулевого бита, содержащегося в исходном тексте, возведение в квадрат означает отображение группы на множестве QRN, а для единичного бита умножение элемента множества QRN на число y является отоброжением из множества QRN на множество .Список литературы
- Вэнбо Мао Современная Криптография. Теория и Практика. — Спб.: Вильямс, 2005.
Категория:- Криптография с открытым ключом
Wikimedia Foundation. 2010.