Рейтинг:1

Построение атаки восстановления ключа за O(2^(n/2))

флаг tv

Мне нужно создать атаку с восстановлением ключа для шифрования с симметричным ключом, используя общеизвестную перестановку $\Пи$ в $O(2^\frac{n}{2})$ время использования $2^\frac{n}{2}$ запросы к оракулу шифрования.

Шифрование выполняется как $ \Pi ( m \oplus K) \oplus K $, куда $К$ это ключ. Обе $м$ и $К$ принадлежать ${0, 1}^{n}$

Я не знаю, как я могу использовать запросы для атаки восстановления ключа в это время. Я могу проверить свои догадки по результатам запросов для $2^\frac{n}{2}$ их. Но как мне успешно восстановить ключ?

Здесь действительно нужна помощь.

poncho avatar
флаг my
Это домашнее задание?
Swagata avatar
флаг tv
@poncho Одна из проблем с практикой. Не совсем домашнее задание.
Рейтинг:1
флаг my

Ну, вы сказали, что это «проблема практики»; следовательно, вы должны извлечь из этого урок, поэтому я не буду давать вам ответ.

Я дам вам подсказку: у вас есть $E_k(M) = \Pi(M \oplus K) \oplus K$; предположим, вы определили $F_k(M) = E_k(M) \oplus E_k(M \oplus 1)$, и дополнительно определено $G$ такой, что $F_k(M) = G( M \oplus K )$ (и да, такой $G$ существует независимо от $К$). Как вы могли бы использовать это для восстановления ключей?

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.