В криптографии псевдослучайная перестановка (PRP) — это функция, которую невозможно отличить от случайной перестановки (то есть перестановки, выбранной случайным образом с равномерной вероятностью из семейства всех перестановок в области определения функции) с помощью практических усилий.
Пусть F — отображение . F является PRP тогда и только тогда, когда
Семейство псевдослучайных перестановок представляет собой набор псевдослучайных перестановок, где конкретная перестановка может быть выбрана с помощью ключа.
Идеализированная абстракция (ключевого) блочного шифра является действительно случайной перестановкой отображений между открытым текстом и зашифрованным текстом. Если существует различающий алгоритм, который достигает значительного преимущества с меньшими усилиями, чем указано в параметре безопасности блочного шифра (это обычно означает, что требуемые усилия должны быть примерно такими же, как и при поиске методом грубой силы через ключевое пространство шифра), то шифр считается взломанным, по крайней мере, в сертификационном смысле, даже если такой взлом не приводит немедленно к практическому сбою безопасности . [2]
Современные шифры, как ожидается, будут обладать суперпсевдослучайностью. То есть, шифр должен быть неотличим от случайно выбранной перестановки в том же пространстве сообщений, даже если у противника есть доступ к черному ящику в прямом и обратном направлениях шифра. [3]
Майкл Лаби и Чарльз Ракофф [4] показали, что «сильную» псевдослучайную перестановку можно построить из псевдослучайной функции, используя конструкцию Лаби–Ракоффа , которая построена с использованием шифра Фейстеля .
Непредсказуемая перестановка ( UP ) F k — это перестановка , значения которой не могут быть предсказаны быстрым рандомизированным алгоритмом . Непредсказуемые перестановки могут использоваться как криптографический примитив , строительный блок для криптографических систем с более сложными свойствами.
Противник непредсказуемой перестановки определяется как алгоритм, которому предоставлен доступ к оракулу для операций прямой и обратной перестановки. Противнику дается вызов на вход k и предлагается предсказать значение F k . Ему разрешено сделать ряд запросов к оракулу, чтобы помочь ему сделать это предсказание, но ему не разрешено запрашивать само значение k . [5]
Рандомизированный алгоритм генерации перестановок генерирует непредсказуемую перестановку , если его выходы являются перестановками на наборе элементов (описываемых двоичными строками длины n ), которые не могут быть предсказаны с точностью, значительно лучшей случайной, противником, который делает полиномиальное (по n ) количество запросов к оракулу до раунда вызова, время выполнения которого полиномиально по n , и вероятность ошибки которого меньше 1/2 для всех экземпляров. То есть, его нельзя предсказать в классе сложности PP , релятивизированном оракулом для перестановки. [5]
Можно показать, что функция F k не является безопасным кодом аутентификации сообщений (MAC), если она удовлетворяет только требованию непредсказуемости. Можно также показать, что невозможно построить эффективный MAC переменной длины входного сигнала из блочного шифра, который моделируется как UP из n бит. Было показано, что выход конструкции Фейстеля раунда k = n / ω (log λ ) с непредсказуемыми функциями раунда может привести к утечке всех промежуточных значений раунда. [5] Даже для реалистичных непредсказуемых функций (UF) некоторая частичная информация о промежуточных значениях раунда может просочиться через выход. Позже было показано, что если использовать суперлогарифмическое число раундов в конструкции Фейстеля, то полученная конструкция UP будет безопасной, даже если злоумышленник получит все промежуточные значения раунда вместе с выходом перестановки. [6]
Существует также теорема, которая была доказана в этом отношении, которая утверждает, что если существует эффективный UP-противник A π , который имеет не пренебрежимо малое преимущество ε π в игре непредсказуемости против UP-конструкции ψ U,k и который делает полиномиальное число запросов претенденту, то также существует UF-противник A f , который имеет не пренебрежимо малое преимущество в игре непредсказуемости против UF, выбранного из семейства UF F . Из этого можно показать, что максимальное преимущество UP-противника A π равно ε π = O ( ε f . ( qk ) 6 ). Здесь ε f обозначает максимальное преимущество UF-противника, работающего за время O( t + ( qk ) 5 ) против UF, выбранного из F , где t — время работы PRP-противника A ψ , а q — количество сделанных им запросов. [6] [7]
Кроме того, схема подписи, которая удовлетворяет свойству непредсказуемости и не обязательно псевдослучайности, по сути является проверяемой непредсказуемой функцией (VUF). Проверяемая непредсказуемая функция определяется аналогично проверяемой псевдослучайной функции (VRF), но псевдослучайность заменяется более слабой непредсказуемостью. Проверяемые непредсказуемые перестановки являются аналогами перестановок VUF или непредсказуемыми аналогами VRP. VRP также является VUP, и VUP на самом деле может быть построен путем построения VRP с помощью конструкции Фейстеля, примененной к VRF. Но это не считается полезным, поскольку VUF, по-видимому, гораздо проще построить, чем VRF. [8]