Жесткий предикат - Hard-core predicate

В криптография, а жесткий предикат из односторонняя функция ж это предикат б (т.е. функция, вывод которой представляет собой один бит), которую легко вычислить (как функцию от Икс), но трудно вычислить, учитывая f (x). Формально нет вероятностный полиномиальный алгоритм (PPT) что вычисляет б (х) из f (x) с вероятностью значительно больше более чем на половину случайного выбора Икс.[1]:34 Другими словами, если Икс рисуется равномерно наугад, затем дано f (x), любой противник PPT может различить только хардкорный бит б (х) и равномерно случайный бит с незначительным преимущество по длине Икс.[2]

А основная функция можно определить аналогично. То есть, если Икс выбирается равномерно случайным образом, тогда дано f (x), любой алгоритм PPT может различать только значение основной функции ч (х) и равномерно случайные биты длины | h (x) | с незначительным преимуществом по длине Икс.[3][4]

Жесткий предикат фиксирует "в концентрированном смысле" трудность обращения ж.

Хотя одностороннюю функцию трудно обратить, нет никаких гарантий относительно возможности вычисления частичной информации о прообраз c с изображения f (x). Например, пока ЮАР предполагается односторонней функцией, Символ Якоби прообраза можно легко вычислить из прообраза.[1]:121

Понятно, что если индивидуальная функция имеет жесткий предикат, то он должен быть односторонним. Одед Гольдрайх и Леонид Левин (1989) показали, как любую одностороннюю функцию можно тривиально изменить, чтобы получить одностороннюю функцию, имеющую конкретный предикат жесткого ядра.[5] Позволять ж быть односторонней функцией. Определять г (х, г) = (е (х), г) где длина р такой же, как у Икс. Позволять Иксj обозначить jth немного Икс и рj в jth немного р. потом

является жестким предикатом грамм. Обратите внимание, что б (х, г) = <х, г> где <·, ·> обозначает стандартную внутренний продукт на векторное пространство (Z2)п. Этот предикат является жестким из-за вычислительных проблем; то есть вычислить несложно, потому что г (х, г) является информация теоретически с потерями. Скорее, если существует алгоритм, который эффективно вычисляет этот предикат, то есть другой алгоритм, который может инвертировать ж эффективно.

Подобная конструкция дает хардкорную функцию с O (журнал | x |) выходные биты. Предполагать ж - сильная односторонняя функция. Определять г (х, г) = (е (х), г) где |р| = 2|Икс|, Выберите функцию длины л (п) = O (журнал n) s.t. л (п)п. Позволять

потом ч (х, г) := б1(х, г) б2(х, г) ... бл (| х |)(х, г) это основная функция с выходной длиной л (| х |).[6]

Иногда бывает так, что фактический бит ввода Икс хардкорный. Например, каждый бит входных данных функции RSA является жестким предикатом RSA и блоками O (журнал | x |) кусочки Икс неотличимы от случайных битовых строк за полиномиальное время (при условии, что функцию RSA трудно инвертировать).[7]

Жесткие предикаты дают возможность конструировать псевдослучайный генератор из любого односторонняя перестановка. Если б является жестким предикатом односторонней перестановки ж, и s является случайным семенем, тогда

псевдослучайная битовая последовательность, где жп означает n-ю итерацию применения ж на s, и б является сгенерированным битом жесткого ядра в каждом раунде п.[1]:132

Жесткие предикаты односторонних перестановок лазейки (известные как предикаты-лазейки) можно использовать для построения семантически безопасный схемы шифрования с открытым ключом.[1]:129

Смотрите также

  • Список-декодирование (описывает декодирование списков; ядро ​​конструкции Голдрейха-Левина жестких предикатов из односторонних функций можно рассматривать как алгоритм для декодирования списка Код Адамара ).

Рекомендации

  1. ^ а б c d Гольдвассер, С. и Белларе, М. «Конспект лекций по криптографии». Летний курс по криптографии, Массачусетский технологический институт, 1996-2001 гг.
  2. ^ Определение 2.4 в Линделл, Иегуда. «Основы криптографии 89-856» (PDF). Компьютерные науки, Университет Бар-Илан. Университет Бар-Илан. Получено 11 января 2016.
  3. ^ FoC Голдрайха, том 1, деф 2.5.5.
  4. ^ Определение 3 в Холенштейн, Томас; и другие. «Полная классификация билинейных функций жесткого ядра» (PDF). Электронная печать МАКО. МАКР. Получено 11 января 2016.
  5. ^ О. Гольдрейх, Л. А. Левин, Жесткий предикат для всех односторонних функций, STOC 1989, стр. 25–32.
  6. ^ Goldreich's FoC, том 1, теорема 2.5.6.
  7. ^ Й. Хастад, М. Наслунд, Безопасность всех RSA и дискретных логических бит (2004): Журнал ACM, 2004.
  • Одед Гольдрайх, Основы криптографии, том 1: Основные инструменты, Издательство Кембриджского университета, 2001.