stringtranslate.com

Семантическая безопасность

В криптографии семантически безопасная криптосистема — это система, в которой из зашифрованного текста может быть извлечена лишь незначительная информация об открытом тексте . В частности, любой вероятностный алгоритм с полиномиальным временем (PPTA), которому дан зашифрованный текст определенного сообщения (взятый из любого распределения сообщений) и длина сообщения, не может определить какую-либо частичную информацию о сообщении с вероятностью, не пренебрежимо большей, чем все другие PPTA, которые имеют доступ только к длине сообщения (а не к зашифрованному тексту). [1] Эта концепция является аналогом вычислительной сложности концепции совершенной секретности Шеннона . Совершенная секретность означает, что зашифрованный текст не раскрывает никакой информации об открытом тексте, тогда как семантическая безопасность подразумевает, что любая раскрытая информация не может быть извлечена. [2] [3] : 378–381 

История

Понятие семантической безопасности впервые было выдвинуто Голдвассером и Микали в 1982 году. [1] [4] Однако первоначально предложенное ими определение не предлагало прямых средств для доказательства безопасности практических криптосистем. Впоследствии Голдвассер/Микали продемонстрировали, что семантическая безопасность эквивалентна другому определению безопасности, называемому неразличимостью шифротекста при атаке с выбранным открытым текстом. [5] Последнее определение более распространено, чем первоначальное определение семантической безопасности, поскольку оно лучше облегчает доказательство безопасности практических криптосистем.

Симметричная криптография

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

Криптография с открытым ключом

Для того чтобы криптосистема с асимметричным ключом была семантически безопасной, для вычислительно ограниченного противника должно быть невыполнимо извлечь существенную информацию о сообщении (открытом тексте), когда заданы только его шифртекст и соответствующий открытый ключ шифрования. Семантическая безопасность рассматривает только случай «пассивного» злоумышленника, т. е. того, кто генерирует и наблюдает зашифрованные тексты, используя открытый ключ и открытые тексты по своему выбору. В отличие от других определений безопасности, семантическая безопасность не рассматривает случай атаки выбранного шифртекста (CCA), когда злоумышленник может запросить расшифровку выбранных шифртекстов, и многие семантически безопасные схемы шифрования явно небезопасны против атаки выбранного шифртекста. Следовательно, семантическая безопасность теперь считается недостаточным условием для защиты схемы шифрования общего назначения.

Неразличимость при атаке с выбранным открытым текстом ( IND-CPA ) обычно определяется следующим экспериментом: [6]

  1. Случайная пара генерируется путем запуска .
  2. Вероятностному полиномиальному злоумышленнику, ограниченному по времени, предоставляется открытый ключ , который он может использовать для генерации любого количества шифротекстов (в пределах полиномиальных границ).
  3. Злоумышленник генерирует два сообщения одинаковой длины и передает их оракулу вызова вместе с открытым ключом.
  4. Оракул вызова выбирает одно из сообщений, подбрасывая честную монету (выбирая случайный бит ), шифрует сообщение открытым ключом и возвращает полученный зашифрованный текст вызова злоумышленнику.

Базовая криптосистема является IND-CPA (и, таким образом, семантически безопасна при атаке с выбранным открытым текстом), если противник не может определить, какое из двух сообщений было выбрано оракулом, с вероятностью, значительно большей, чем (успех случайного угадывания). Варианты этого определения определяют неразличимость при атаке с выбранным шифртекстом и адаптивной атаке с выбранным шифртекстом ( IND-CCA , IND-CCA2 ).

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

Семантически безопасные алгоритмы шифрования включают Goldwasser-Micali , ElGamal и Paillier . Эти схемы считаются доказуемо безопасными , поскольку их семантическая безопасность может быть сведена к решению некоторой сложной математической задачи (например, Decisional Diffie-Hellman или Quadratic Residuosity Problem ). Другие, семантически небезопасные алгоритмы, такие как RSA , могут быть сделаны семантически безопасными (при более сильных предположениях) с помощью использования случайных схем шифрования с заполнением, таких как Optimal Asymmetric Encryption Padding (OAEP).

Ссылки

  1. ^ ab S. Goldwasser и S. Micali , Вероятностное шифрование и как играть в ментальный покер, сохраняя в тайне всю частичную информацию, Ежегодный симпозиум ACM по теории вычислений, 1982.
  2. ^ Шеннон, Клод (1949). «Теория связи в секретных системах». Bell System Technical Journal . 28 (4): 656–715. doi :10.1002/j.1538-7305.1949.tb00928.x. hdl : 10338.dmlcz/119717 .
  3. ^ Голдрайх, Одед. Основы криптографии: Том 2, Основные приложения. Том 2. Издательство Кембриджского университета, 2004.
  4. ^ Голдвассер, Шафи; Микали, Сильвио (1984-04-01). «Вероятностное шифрование». Журнал компьютерных и системных наук . 28 (2): 270–299. doi :10.1016/0022-0000(84)90070-9. ISSN  0022-0000.
  5. ^ S. Goldwasser и S. Micali , Вероятностное шифрование. Журнал компьютерных и системных наук, 28:270-299, 1984.
  6. ^ Кац, Джонатан; Линделл, Йехуда (2007). Введение в современную криптографию: принципы и протоколы . Chapman and Hall/CRC. ISBN 978-1584885511.