Псевдовипадкова функція

Матеріал з testwiki
Перейти до навігації Перейти до пошуку

Сімейство псевдовипадкових функцій (Шаблон:Lang-en, PRF) — це множина ефективно-обчислювальних функцій, що імітують Шаблон:Нп наступним чином: не існує дієвого алгоритму, що може розрізнити (з вагомою Шаблон:Нп) між функцією випадково обраною з PRF сімейства і випадковим оракулом (результати якого фіксуються повністю навмання). Псевдовипадкові функції життєво важливі засоби при будові криптографічних примітивів, особливо безпечних схем шифрування.

Не плутаймо псевдовипадкові функції з псевдовипадковими генераторами (Шаблон:Lang-en). PRG гарантують, що один вихід виявиться випадковим, якщо на вході було випадкове значення. З іншого боку, PRF гарантує, що всі виходи здаватимуться випадковими, незалежно від того як обирали відповідні вхідні дані, доти доки функція була випадково витягнута з сімейства PRF.

Псевдовипадкову функцію можна побудувати з псевдовипадкового генератора.[1] Розрізняють PRF зі змінною довжиною вхідних даних (Шаблон:Lang-en) і PRF зі сталою довжиною (Шаблон:Lang-en).

Математичне підґрунтя

Файл:PRF global set n key set.png

Нехай F:K×XY буде PRF.

{Funs[X,Y]:F:XYSF={F(k,),kK}Funs[X,Y]

Інтуїтивно PRF безпечна, якщо випадкову функцію з Funs[X,Y] неможливо відрізнити від випадкової функції з SF. Дамо точніше математичне визначення. Для b = 0,1 розглянемо досліди EXP(b).

b=0:Kk,F(k,)f

b=1:Funs[X,Y]f

Супротивник (Шаблон:Lang-en) A виконує q запитів x1,x2,...xqX і отримує q відповідей f(x1),f(x2),...f(xq). По вивчені відповідей ціллю супротивника є вказати з якої саме множини вибрали функцію.

Отже, F є захищеною PRF, якщо для будь-якого ефективного супротивника A перевага: AdvPRF[A,F]:=|Pr[EXP(0)=1]Pr[EXP(1)=1]| не вагома.

Див. також

Примітки

Шаблон:Reflist

  1. Oded Goldreich, Shafi Goldwasser, Silvio Micali (1986) "How to Construct Random Functions", Journal of the ACM, vol.33, no.4, p.792-807. Шаблон:Doi; preprint Шаблон:Webarchive; web page and preprint Шаблон:Webarchive