Рейтинг:4

Слабость XORing случайных байтов с секретным ключом

флаг de

Сторона A генерирует 16 (высокого качества) случайных байтов и выполняет XOR с 16-байтовым секретным ключом, затем данные передаются стороне B, где тот же секретный ключ используется для восстановления исходных 16 случайных байтов.

Есть ли случайно способ угадать секретный ключ, перехватив XOR-данные между сторонами?

флаг et
Если у вас уже есть 16-байтовый общий секретный ключ между сторонами A и B, то зачем нужны новые 16-байтовые случайные байты? Для чего он будет использоваться?
Vladimir Gamalyan avatar
флаг de
@user93353 user93353 цель состоит в том, чтобы отправить ключ сеанса от A до B (для последующих передач AES-GCM).
флаг et
Ваш метод будет работать до тех пор, пока вы используете исходный общий секрет только для одного сеансового ключа. Для шифрования каждого сеансового ключа вам понадобится новый общий секрет. XOR с общим ключом называется OTP (One Time Pad) — он безопасен только в том случае, если вы используете общий ключ для XOR только один раз.
SSA avatar
флаг ng
SSA
допустим, вы знаете один бит и другой случайный бит, шансы угадать правильный выходной бит составляют 50%. поэтому XOR достаточно хорош, когда один из битовых потоков полностью случайный.Теперь, когда вы пытаетесь отправить сеансовый ключ, так как для этого существует несколько способов, один из них — сгенерировать общий секрет (ключ) с использованием DH на сервере и клиенте и сгенерировать общий сеансовый ключ для шифрования сеанса с использованием любого алгоритма шифрования.
Paul Uszak avatar
флаг cn
Эээ, разве это не вверх ногами? Какова цель $E_k(bytes)$, когда $bytes$ действительно случайны? Каково географическое расстояние между A и B? Потому что идеальное решение — предварительно поделиться OTP, что делалось тысячи лет.
Paul Uszak avatar
флаг cn
Или теперь ad hoc, с квантовым аппаратом распределения ключей?
Рейтинг:4
флаг in

Если предварительно общий секрет используется только один раз, то его нельзя расшифровать (и нам даже не нужно предполагать, что сообщение является случайным). Таким образом, это будет одноразовый блокнот, и он теоретически защищен от информации даже против противника с бесконечной вычислительной мощностью.

Если, однако, мы сделаем это снова с другим случайным сообщением и тем же ключом, злоумышленник может тривиально XOR двух зашифрованных текстов и получить XOR двух простых текстов. Это уже серьезная утечка, но если бы два простых текста были выбраны случайным образом, их восстановление может стать проблемой.

Когда простые тексты не случайны, на такой двукратный блокнот нападают несколько приемов, ведущим из которых является перетаскивание кроватки.

Для случайных простых текстов возникает вопрос: что вы будете делать с ними дальше? Хотя просто отправка случайных данных сама по себе не очень полезна, если они позже будут использованы снова, это может создать вектор атаки, когда знание XOR двух простых текстов может быть ценным.

В комментарии вы предполагаете, что открытый текст будет использоваться в качестве ключа для AES GCM, поэтому он открывает теоретический вектор атаки, когда мы знаем, что два ключа связаны и, вероятно, также будут иметь пары открытый текст-шифрованный текст для этих связанных ключей. Я не знаю о практической атаке связанных ключей на полноразмерный AES, но это определенно ослабляет шифр.

Активный злоумышленник может сделать еще один шаг и после первого такого обмена ключами на основе XOR установить второй ключ как ключ с произвольным отношением к первому.

Meir Maor avatar
флаг in
связанные ключевые атаки AES: https://eprint.iacr.org/2009/317.pdf

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

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