Предположим, что существует алгоритм поли-времени, в котором C ( → x ) ∈ F ( → x ) и → a вычислили результат мультилинеаризации C на → a . (без потери общности , я буду считать , что выход → B будет вектором р -разрядного двоичных чисел б я это к тогда и только тогда б я , к являюсь одним.)C(x⃗ )∈F(x⃗ )a⃗ Ca⃗ b⃗ pbikbi,k
Поскольку P ⊆ P / p o l y , существует логическая схема с полизайзером, которая задает кодирование арифметической схемы, а значения переменных вычисляют мультилинеаризацию арифметической схемы на входах. Пусть называют эту схему M .P⊆P/polyM
Пусть C - произвольная арифметическая схема. Зафиксируем переменные булевой схемы M, которые описывают арифметическую схему, поэтому у нас есть булева схема, вычисляющая мультилинеаризацию C на заданных входах.CMC
Мы можем превратить эту схему в арифметическую схему над F p , отметив, что x p - 1 равно 1 для всех значений, но 0, поэтому сначала увеличьте все входы до мощности p - 1 . Замените все ворота f ∧ g умножением f . g , каждый f ∨ g ворот на f + g - f . г и каждый ¬ е ворота на 1 - е .Fpxp−110p−1f∧gf.gf∨gf+g−f.g¬f1−f
В предположении, которое мы сделали выше относительно формата вывода, мы можем превратить вывод из двоичного значения в значения, превышающие F p . Возьмите выходные данные для b i и объедините их, чтобы получить ∑ 0 ≤ k ≤ p - 1 k b i , k .Fpbi∑0≤k≤p−1kbi,k
Мы также можем преобразовать входные данные, заданные в виде значений над F p, в двоичную форму, поскольку полиномы проходят через любое конечное число точек. Например, если мы работаем в моде 3 , рассмотрим многочлены 2 x ( x + 1 ) и 2 x ( x + 2 ), которые дают первый и второй биты ввода x ∈ F 3 .Fpmod32x(x+1)2x(x+2)x∈F3
Объединение этих мы имеем арифметическую схему над F р вычислительного мульти-линеаризацию C с размером polynomail в размере C .FpCC