Рейтинг:0

Разделить ключ AES-256 на два?

флаг cn

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

  • Мне нужно перенести AES 256 на другой процессор.
  • Один из процессоров не настолько мощный для создания более сильного общего ключа. Поэтому мне нужно иметь возможность транспортировать это с более слабым ключом
kelalaka avatar
флаг in
Неа! У вас будет 128-битная безопасность. Я не буду писать ответ, так как если вы точно сформулируете свою проблему, мы можем найти решение.
Sad.coder avatar
флаг cn
Это помогает?
Sad.coder avatar
флаг cn
Извините, немного сложно представить дизайн системы, но суть в том, что
Sad.coder avatar
флаг cn
что, если я зашифрую его двумя разными 128-битными ключами?
kelalaka avatar
флаг in
Это должно быть хорошо, на мой взгляд. Почему бы вам не выполнить DHKE?
Рейтинг:1
флаг vn

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

Он обеспечивает только 128-битную безопасность, потому что злоумышленнику нужно взломать только 128-битный транспортный ключ. Это безопасно, но вы не получаете никакой защиты от использования 256-битного ключа.


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

  1. Нахождение первого 128-битного ключа методом перебора ($2^{128}$ шаги);
  2. Нахождение второго 128-битного ключа методом перебора ($2^{128}$ шаги);

который $2^{128} + 2^{128} = 2 \times 2^{128} = 2^{129}$ шаги, и, таким образом, вы получаете только 129-битную безопасность.

Однако, если алгоритм шифрования ключа не предлагает способа проверки правильности дешифрования, а 256-битный ключ является случайным, эта атака не работает, потому что нет способа проверить на шаге № 1, что у вас есть правильный ключ для первая половина. Алгоритм перебора становится таким:

  • Для каждого возможного значения (из $2^{128})$ первого ключа:
    • Для каждого возможного значения (из $2^{128}$) второго ключа:
      • Попробуйте расшифровать каждую половину переданного ключа с помощью этой комбинации, а затем расшифровать сообщение с помощью полученного 256-битного ключа.

А это $2^{128} \times 2^{128} = 2^{128 + 128} = 2^{256}$ шаги, и не лучше, чем просто атака 256-битного ключа методом перебора.

Алгоритмы шифрования, обычно рекомендуемые в наши дни, называются «AEAD» (аутентифицированное шифрование со связанными данными), которые относятся к первой категории, и поэтому вы получите только 129-битную надежность. Вам придется использовать более старые алгоритмы, отличные от AEAD, для транспортировки половинок ключа.

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

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