Твердый предикат
В криптографии жестким предикатом односторонней функции F является предикатом B (то есть функция, выходной выход которого является одним битом), который легко вычислить (как функция x ), но трудно вычислить данные F (x) . В формальных терминах не существует вероятностного алгоритма полиномиального времени (PPT) , который вычисляет B (x) из F (x) с вероятностью значительно больше, чем половина более случайного выбора x . [ 1 ] : 34 Другими словами, если x нарисуется в случайном роде, тогда дается f (x) , любой противник PPT может различить только ядерный бит B (x) и равномерно случайный бит с незначительным преимуществом по длине x . [ 2 ]
может Тяжелая функция быть определена так же. То есть, если x выбирается в случайном порядке, тогда дается f (x) , любой алгоритм PPT может различать только значение функции твердого ядра H (x) и равномерно случайные биты длины | H (x) | с незначительным преимуществом по длине x . [ 3 ] [ 4 ]
Твердый предикат захватывает «в концентрированном смысле» твердость инвертирования f .
В то время как односторонняя функция трудно инвертировать, нет никаких гарантий о возможности вычисления частичной информации о предварительном виде C из изображения F (x) . Например, в то время как RSA предположительно является односторонней функцией, символ якоби предварительного изображения может быть легко вычислен из символа изображения. [ 1 ] : 121
Понятно, что если функция «один к одному» имеет жесткий предикат, то она должна быть одним из способов. Oded Goldreich и Leonid Levin (1989) показали, как каждая односторонняя функция может быть тривиально модифицирована для получения односторонней функции, которая имеет специфический жесткий предикат. [ 5 ] Пусть F- односторонняя функция. Определите g (x, r) = (f (x), r) , где длина r такая же, как и x . Пусть x J обозначает j тур немного x и r j the j тур немного р . Затем
твердым предикатом G. является Обратите внимание, что b (x, r) = < x, r > где <·, ·> обозначает стандартный внутренний продукт на векторном пространстве ( z 2 ) не Полем Этот предикат жесткий из-за вычислительных проблем; То есть это не сложно вычислить, потому что G (x, r) является теоретически информацией . Скорее, если существует алгоритм, который эффективно вычисляет этот предикат, то существует другой алгоритм, который может инвертировать F. эффективно
Аналогичная конструкция дает жесткую функцию с O (log | x |) Выходные биты. Предположим, что F является сильной односторонней функцией. Определите g (x, r) = (f (x), r), где | r | = 2 | x |. Выберите функцию длины L (n) = O (log n) st l (n) ≤ n . Позволять
Тогда h (x, r) : = b 1 (x, r) b 2 (x, r) ... b l (| x |) (x, r) -это твердого ядра с выходом длины L (| x |) . [ 6 ]
Иногда это так, что фактический бит ввода X твердый. Например, каждый бит входов в функцию RSA представляет собой твердый предикат RSA, а блоки o (log | x |) битов x неотличимы от случайных битовых строк в полиномиальное время (при предположении, что функция RSA трудно перевернуть). [ 7 ]
Жесткие предикаты дают возможность построить псевдорандомовый генератор из любой односторонней перестановки . Если B является твердым предикатом односторонней перестановки F , а S -случайное семя, тогда
является последовательности псевдорандомов, где f не означает n-т. Итерации применения F на S , а B -это сгенерированный твердый бит по каждому N. раунду [ 1 ] : 132
Жесткие предикаты односторонних перестановок (известные как предикаты Lopdoor ) могут использоваться для семантически безопасных схем шифрования с общедоступным ключом. [ 1 ] : 129
Смотрите также
[ редактировать ]- Список декодирования (описывает декодирование списка; ядро из строительства жестких ядерных предикатов Голдрейх-Левина из односторонних функций можно рассматривать как алгоритм для декодирования списка кода хадамарда ).
Ссылки
[ редактировать ]- ^ Jump up to: а беременный в дюймовый Goldwasser, S. and Bellare, M. «Заметки лекции по криптографии» Архивировали 2012-04-21 на машине Wayback . Летний курс по криптографии, MIT, 1996-2001 гг.
- ^ Определение 2.4 в Линделл, Иегуда. «Основы криптографии 89-856» (PDF) . Компьютерная наука, Университет Бар Илан . Бар Илан Университет. Архивировано из оригинала (PDF) 19 января 2022 года . Получено 11 января 2016 года .
- ^ Goldreich's Foc, Vol 1, def 2.5.5.
- ^ Определение 3 в Холенштейн, Томас; и др. «Полная классификация билинейных твердых функций» (PDF) . Iac eprint . Якр . Получено 11 января 2016 года .
- ^ O. Goldreich и La Levin, твердый предикат для всех односторонних функций , Stoc 1989, PP25–32.
- ^ Goldreich's Foc, том 1, теорема 2.5.6.
- ^ J. Håstad , M. Naslund, Безопасность всех битов RSA и Discrete Log (2004) : Журнал ACM, 2004.
- ODED GOLDREICH, Foundation of Cryptography Vol 1: Основные инструменты , издательство Кембриджского университета, 2001.