Есть ли какой-либо блочный шифр, который также является псевдослучайной перестановкой по ключу
Поскольку блочные шифры определяются как псевдослучайная перестановка по данным (с ключом с ключом), мне было интересно, есть ли также конструкции, для которых ключ и данные могут быть переключены, а шифр представляет собой перестановку по ключевому пространству для фиксированный (данные) ввод?
Итак, вопрос в том, если выходное пространство $E_k(a)$ для всех возможных $k$ охватывает все пространство $\{0,1\}^n$
Более формально:
$E_k$ представляет собой блочный шифр с размером ключа, равным размеру блока: $\{ 0, 1 \}^n \times \{ 0, 1 \}^n \rightarrow \{ 0, 1 \}^n $
и $\exists a \forall k_1, k_2: E_{k_1}(a) = E_{k_2}(a) \Rightarrow k_1 = k_2$
Или в более общем смысле: с $f$ функция $\{ 0, 1 \}^n \rightarrow \{ 0, 1 \}^n$
$\forall k_1, k_2: E_{k_1}(f(k_1)) = E_{k_2}(f(k_2)) \Rightarrow k_1 = k_2$
Или это вообще верно для каждого блочного шифра?
Ответы
Я не уверен насчет «более общего», поскольку в последнем определении вы применяете функцию ключа. Теперь это связано с круговой безопасностью. Что касается основного вопроса, то это в целом неверно, и я не знаю, можно ли построить такую конструкцию. Что я могу сказать, так это то, что существует конструкция, в которой свойство псевдослучайности сохраняется, если ключ случайный, ИЛИ, если данные случайны. Это понятие изучается в статье Михира Белларе и Анны Лысянской в статье « Симметричные и двойственные PRF из стандартных предположений: общая проверка предположения HMAC» . Эта статья могла бы стать хорошей отправной точкой для исследования.