69
(m), получив Enck (m). Мы заявляем, что A должен успешно вычислить f (m),
получив Enck (1A ), с примерно той же вероятностью; иначе, A может быть
использован, чтобы различать Enck (m) и Enck (1A ). Дистинктор легко скон-
струирован: равномерно выбираем m ∈ S и выводим m0 = m, m1 = 1A . После
получения шифртекста c, представляющего собой зашифрованное m0 или m1,
вызываем A(1n, c) и выводим 0 тогда и только тогда, когда A выводит f (m). Если
A выводит f (m) после получения шифрования m с вероятностью, значительно
отличающейся от вероятности вывода f (m) после получения шифрования 1A,
тогда описанный дистинктор нарушает определение 3.9.
Вышесказанное предполагает, что алгоритм Ar, не получающий c = Enck(m),
еще может вычислять f (m) практически также, как это делает A: Ar(1n) выбирает
унифицированный ключ k ∈ {0, 1}n, вызывает A по c ← Enck (1A ) и выводит все
то же, что и A. Из вышесказанного имеем, что A выводит f (m), когда он работает
как подпрограмма Ar с практически той же вероятностью, как когда он получает
Enck (m). Таким образом, Ar соответствует необходимым заявленным свойствам.
Достарыңызбен бөлісу: