Позволять $BC$ быть блочным шифром с безопасностью, аналогичной AES (в режиме ECB).
Этот $BC$ применяется к сообщению $м$ одинакового битового размера. Результат - шифр $с$.
например.;
$$BC(key_A,m) = c_A$$
$$BC(key_B,m) = c_B$$
Я ищу $BC$ с:
$$BC(key_A,c_B) = c_{BA}$$
$$BC(key_B,c_A) = c_{AB}$$
куда
$$c_{AB}=c_{BA}$$
но для большинства:
$$c_{A}\not=c_{B}$$
Есть ли способ построить ключи $ключ_А, ключ_А$ с этим свойством для подходящего $BC$?
(Или, по крайней мере, для большой подгруппы элементов)
Этот вопрос включает в себя ответ (от Томаса) на аналогичный вопрос: Существуют ли безопасные коммутативные шифры?
Но, насколько я понимаю, это подразумевает $BC$ является коммутативным для всех ключей. Я в порядке с небольшим количеством ключей, которые коммутативны друг другу.
Также в целевом приложении $BC$ просто служит генератором случайных чисел. Следующий номер будет сгенерирован путем применения $BC$ к текущему. Должно быть трудно определить «индекс» заданного значения или вычисления. $я$-шаги вперед.
Коммутативный ГСЧ, который может вычислять следующее и предыдущее значение из текущего (+ некоторые константы (например, ключ или начальное число) также будет выполнять эту работу.
Изменить: ключ/начальное число будет известно.