Неразличимость шифротекста — это свойство многих систем шифрования. Интуитивно понятно, что если система обладает свойством неразличимости, то злоумышленник не сможет отличить пары шифротекстов, основываясь на открытых текстах, которые они шифруют. Свойство неразличимости для атак на основе подобранного открытого текста рассматривается как основное требование для доказуемо наиболее безопасных криптосистем с открытым ключом, хотя некоторые системы шифрования также обладают свойством неразличимости для атак на основе подобранного открытого текста и для адаптивных атак на основе подобранного шифротекста. Неразличимость для атак на основе подобранного открытого текста — это эквивалент для семантической безопасности системы, так что во многих криптографических доказательствах эти определения считаются взаимозаменяемыми.
Криптосистема считается безопасной с точки зрения неразличимости[1], если ни один злоумышленник, получив шифротекст, случайно выбранный из двухэлементного пространства сообщений, определенного противником, не может идентифицировать соответствующий этому шифротексту открытый текст с вероятностью значительно лучше, чем при случайном угадывании (1⁄2). Если какой-либо злоумышленник может преуспеть в различении выбранного шифротекста с вероятностью, значительно превышающей 1⁄2, то считается, что этот злоумышленник имеет "преимущество" в различении шифротекста, и система не считается безопасной с точки зрения неразличимости. Это определение включает в себя представление о том, что в защищенной системе злоумышленник не должен получать никакой информации, видя зашифрованный текст. Поэтому злоумышленник должен уметь различать шифротексты не лучше, чем если бы он угадывал случайным образом.
Безопасность с точки зрения неразличимости имеет много определений, в зависимости от предположений о возможностях злоумышленника. Обычно используется следующая аналогия. Криптосистема – это некая игра. Причем криптосистема считается безопасной, если ни один участник не может выиграть игру со значительно большей вероятностью, чем участник, который будет действовать случайным образом. Наиболее общими понятиями, используемыми в криптографии являются неразличимость для атак на основе подобранного открытого текста (сокращённо IND-CPA), неразличимость для (неадаптивных) атак на основе подобранного шифротекста (IND-CCA1) и неразличимость для адаптивных атак на основе подобранного шифротекста (IND-CCA2). Безопасность в смысле каждого вышеуказанного определения подразумевает наличие безопасности в смысле каждого предыдущего: криптосистема, которая является IND-CCA1 надёжной также является IND-CPA надёжной, и соответственно система, которая является IND-CCA2 безопасной является и IND-CCA1, и IND-CPA надёжной. Таким образом, безопасность в смысле IND-CCA2 является самым сильным из трех определений.
Для вероятностного алгоритма асимметричного шифрования ключей неразличимость в смысле IND-CPA[2] определяется следующей игрой между злоумышленником и испытателем. Для систем, основанных на вычислительной безопасности, злоумышленник моделируется вероятностной полиномиальной машиной Тьюринга, что означает, что он должен завершить игру и выдать догадку за полиномиальное число временных шагов. В этом определении E(PK, M) представляет шифротекст сообщения M , полученный с использованием ключа PK:
Криптосистема надёжна в смысле IND-CPA, если любой вероятный злоумышленник за полиномиальное время имеет лишь незначительное "преимущество" в различении шифротекстов над случайным угадыванием. Злоумышленник имеет незначительное "преимущество", если он выигрывает вышеупомянутую игру с вероятностью , где – пренебрежимо малая функция для параметра безопасности k, то есть для любой (ненулевой) полиномиальной функции , у которой существует , такой что для всех .
Несмотря на то, что злоумышленник знает , и PK, вероятностный характер E означает, что шифротекст будет лишь одним из многих допустимых шифротекстов, а, следовательно шифрование , и сравнение полученных шифротекстов с шифротекстом испытателя на даёт злоумышленнику какого-либо существенного преимущества.
Хотя приведенное выше определение характерно для криптосистем с асимметричным ключом, оно может быть адаптировано к симметричному случаю путем замены функции шифрования с открытым ключом на шифрование с оракулом, которое сохраняет секретный ключ шифрования и шифрует произвольные открытые тексты по запросу злоумышленника.
Безопасность в смысле IND-CCA1 и IND-CCA2[1] определяется аналогично надёжности системы в смысле IND-CPA. Однако, в дополнение к открытому ключу (или шифрованию с оракулом, в симметричном случае), злоумышленнику предоставляется доступ к дешифрованию с оракулом, которое расшифровывает произвольные шифротексты по запросу злоумышленника, возвращая открытый текст. В определении IND-CCA1 злоумышленнику разрешено запрашивать оракула только до тех пор, пока он не получит испытываемый шифротекст. В определении IND-CCA2 злоумышленнику можно продолжать запрашивать оракула после того, как он получит испытываемый шифротекст, с оговоркой, что он не может передать его для расшифровки (в противном случае определение было бы тривиальным).
Криптосистема надёжна в смысле IND-CCA1 или IND-CCA2, если никакой противник не имеет существенного преимущества в данной игре.
Иногда требуются системы шифрования, в которых строка шифротекста неотличима для злоумышленника от случайной строки.[3]
Если злоумышленник не может даже сказать, существует ли сообщение, это дает человеку, написавшему сообщение, правдоподобное отрицание.
Некоторые люди, создающие зашифрованные каналы связи, предпочитают делать содержимое каждого шифротекста неотличимым от случайных данных, чтобы сделать анализ трафика более сложным.[4]
Некоторые люди, создающие системы для хранения зашифрованных данных, предпочитают, чтобы данные были неотличимы от случайных данных, чтобы упростить их сокрытие. Например, некоторые виды шифрования диска, такие как TrueCrypt пытаются скрыть данные в случайных данных, оставшихся от некоторых видов уничтоженных данных. В качестве другого примера, некоторые виды стеганографии пытаются скрыть данные, делая их соответствующими статистическим характеристикам "случайного" шума изображения в цифровых фотографиях.
На данный момент существуют специально разработанные криптографические алгоритмы для систем отрицаемого шифрования, в которых шифротексты неотличимы от случайных битовых строк.[5][6][7]
Если алгоритм шифрования E может быть сконструирован таким образом, что злоумышленник (как правило, определяется как наблюдатель в течение полиномиального времени), знающий открытый текст сообщения m, не в состоянии различать E(m) и свеже-сгенерированную случайную битовую строку той же длины, что и E(m), то из этого следует, что при E(m1) такой же длины, как E(m2), эти два шифротекста будут неотличимы друг от друга для злоумышленника, даже если он знает открытый текст m1 и m2 (IND-CPA).[8]
Большинство приложений не требуют алгоритма шифрования для создания шифротекстов, которые нельзя отличить от случайных битов. Тем не менее, некоторые авторы считают, что такие алгоритмы шифрования концептуально проще и легче работают, и более универсальны на практике – и большинство алгоритмов шифрования IND-CPA, по-видимому, действительно производят зашифрованные сообщения, которые неотличимы от случайных битов.[9]
Неразличимость является важным свойством для поддержания конфиденциальности зашифрованных сообщений. Однако было установлено, что в некоторых случаях свойство неразличимости подразумевает другие, явно не связанные с безопасностью свойства. Иногда такие эквивалентные определения имеют абсолютно разный смысл. Например, известно, что свойство неразличимости в смысле IND-CPA эквивалентна свойству негибкости для атак подобного сценария (NM-CCA2). Эта эквивалентность не сразу очевидна, так как негибкость – это свойство, связанное с целостностью сообщений, а не с конфиденциальностью. Также было показано, что неразличимость может следовать из некоторых других определений или же наоборот. В следующем списке перечислены некоторые известные следствия, хотя они далеко не полны:
Данная страница на сайте WikiSort.ru содержит текст со страницы сайта "Википедия".
Если Вы хотите её отредактировать, то можете сделать это на странице редактирования в Википедии.
Если сделанные Вами правки не будут кем-нибудь удалены, то через несколько дней они появятся на сайте WikiSort.ru .