Я знаю, что PRF Xored с его ключом не является безопасным PRF. Затем мне интересно, что, если элемент Xored (или умноженный) является другим случайным числом. Формальное выражение выглядит следующим образом:
Позволять $F_k(x):\{0,1\}^n \times \{0,1\}^n \rightarrow \{0,1\}^n$ быть ПРФ.
"$<<$" операция указывает на левое вращение, "$\cdot$" операция указывает на модуль двоичного умножения $2^n$ где $n$-битовая строка интерпретируется как число в $Z_{2^n}$ и "$(а, б)$"обозначает наибольший общий делитель $а$ и $b$.
Q1. Определять $F'_{k_1,k_2}(x) = F_{k_1}(x) \oplus k_2$, куда $k_2$ равномерно выбирается из $\{0,1\}^n$. Тогда это $F'_{k_1,k_2}(x)$ ПРФ?
Q2. Определять $F''_{k_1,k_2}(x) = (F_{k_1}(x)<<1) \oplus k_2$, куда $k_2$ равномерно выбирается из $\{0,1\}$. Тогда это $F''_{k_1,k_2}(x)$ ПРФ?
Q3. Определять $F'''_{k_1,k_2}(x) = k_2 \cdot F_{k_1}(x)$, куда $k_2$ равномерно выбирается из $\{0,1\}^{n-1}||1$, т.е. $(k_2,2^n) = 1$. Тогда это $F'''_{k_1,k_2}(x)$ ПРФ?
Я думаю, что это PRF, но я не понимаю, как это официально доказать. $k_2$ в Q.3 должно быть нечетным числом, так как если оно четное, то $F'''$ возвращает четное число и не может быть PRF.