В криптографии, семантически безопасная криптосистема - это система, в которой только незначительная информация об открытом тексте может быть извлечена из зашифрованный текст. В частности, любой вероятностный алгоритм с полиномиальным временем (PPTA), которому задан зашифрованный текст определенного сообщения (взятый из любого распределения сообщений), и длина сообщения, не могут определить какую-либо частичную информацию о сообщении с вероятностью , но немаловажно выше, чем у всех других PPTA, которые имеют доступ только к длине сообщения (а не к зашифрованному тексту). Эта концепция является аналогом вычислительной сложности концепции Шеннона о совершенной секретности. Полная секретность означает, что зашифрованный текст не раскрывает никакой информации об открытом тексте, в то время как семантическая безопасность подразумевает, что любая раскрытая информация не может быть извлечена практически.
Понятие семантической безопасности было впервые выдвинуто Голдвассером и Микали в 1982 году. Однако определение изначально они предлагали не предлагать никаких простых средств для доказательства безопасности практических криптосистем. Впоследствии Голдвассер / Микали продемонстрировали, что семантическая безопасность эквивалентна другому определению безопасности, называемому неразличимость зашифрованного текста при атаке с использованием выбранного открытого текста. Это последнее определение более распространено, чем исходное. Ион семантической безопасности, потому что он лучше облегчает доказательство безопасности практических криптосистем.
В случае криптосистемы с алгоритмом с симметричным ключом злоумышленник не должен иметь возможность вычислять какую-либо информацию об открытом тексте из его зашифрованного текста. Это может быть позиционировано как противник, учитывая, что два открытых текста одинаковой длины и два их соответствующих зашифрованных текста не могут определить, какой зашифрованный текст принадлежит какому открытому тексту.
Чтобы алгоритм шифрования с асимметричным ключом был семантически безопасным, он должен быть недопустимым для вычислительно ограниченного злоумышленника. получать важную информацию о сообщении (открытый текст), когда задан только его зашифрованный текст и соответствующий открытый ключ шифрования. Семантическая безопасность рассматривает только случай «пассивного» злоумышленника, то есть того, кто генерирует и наблюдает за шифротекстами, используя открытый ключ и открытые тексты по своему выбору. В отличие от других определений безопасности, семантическая безопасность не рассматривает случай атаки с выбранным шифрованным текстом (CCA), когда злоумышленник может запросить дешифрование выбранных шифрованных текстов, а многие семантически безопасные схемы шифрования явно небезопасны против выбранных атака зашифрованного текста. Следовательно, семантическая безопасность теперь считается недостаточным условием для защиты схемы шифрования общего назначения.
Неразличимость при атаке с выбранным открытым текстом (IND-CPA ) обычно определяется следующим экспериментом:
Базовая криптосистема является IND-CPA (и, таким образом, семантически безопасна при атаке с выбранным открытым текстом), если противник не может определить, какое из двух сообщений было выбрано оракулом с вероятностью значительно большей, чем (вероятность успеха случайного угадывания). Варианты этого определения определяют неразличимость при атаке по выбранному зашифрованному тексту и адаптивной атаке по выбранному шифротексту (IND-CCA, IND-CCA2 ).
Поскольку злоумышленник обладает открытым ключом шифрования в вышеупомянутой игре, семантически безопасная схема шифрования должна по определению быть вероятностной, имеющей компонент случайности ; в противном случае противник мог бы просто вычислить детерминированное шифрование и и сравните эти шифрование с возвращенным зашифрованным текстом , чтобы успешно угадать выбор оракула.
Семантически безопасные алгоритмы шифрования включают Голдвассер-Микали, Эль Гамаль и Пайе. Эти схемы считаются доказуемо безопасными, поскольку их семантическая безопасность может быть сведена к решению некоторой сложной математической задачи (например, Решающий Диффи-Хеллман или Квадратичная проблема остаточности ). Другие, семантически незащищенные алгоритмы, такие как RSA, могут быть семантически безопасными (при более строгих предположениях) с помощью схем случайного заполнения шифрования, таких как Оптимальное асимметричное заполнение шифрования (OAEP).