Рейтинг:1

Как я могу расшифровать AES-256 GCM с помощью ключа с отсутствующим IV?

флаг us

Я хочу расшифровать файл, зашифрованный с помощью AES-256 в режиме GCM в libressl. У меня есть ключ, но у меня нет IV, можно ли как-нибудь расшифровать?

Maarten Bodewes avatar
флаг in
Для внутреннего режима CTR, если у вас есть один полный блок открытого текста, вы выполняете операцию XOR для извлечения потока ключей, который представляет собой зашифрованный блок счетчика, состоящий из одноразового номера и 32 бит счетчика (начиная со значения 2 в формате с прямым порядком байтов без знака). ). Итак, XOR, затем расшифруйте, получите первые 12 байт. Не опубликовал это как ответ, потому что я не уверен, можно ли сыграть некоторые специфические трюки GMAC. Примечание для других ответчиков: для этого, возможно, имеет значение, составляет ли IV/nonce 12 байтов или нет, не уверен.
Ova Fleming avatar
флаг us
Я действительно новичок в этом, я не понимаю, как я могу выполнить операцию XOR, а затем расшифровать без iv, чтобы получить первые 12 байтов.
Maarten Bodewes avatar
флаг in
И XOR, и расшифровка являются блочными операциями, поэтому для полного блока зашифрованного текста используется размер блока AES 16 байтов. Для **блочной расшифровки** требуется только ключ, для этого не нужно указывать IV. Это имеет больше смысла?
Maarten Bodewes avatar
флаг in
[Этот следующий ответ] (https://stackoverflow.com/a/49244840/589259) может помочь вам понять и расшифровать остальную часть зашифрованного текста, фактически не выполняя проверку подлинности/вычисляя значение тега.
Ova Fleming avatar
флаг us
Где я могу заблокировать расшифровку?
Maarten Bodewes avatar
флаг in
Вам либо нужен прямой доступ к самому блочному шифру, либо вы можете использовать AES-ECB без заполнения для одного блока (что равносильно тому же самому, но некоторые API работают только на высоком уровне).
Ova Fleming avatar
флаг us
Все, что у меня есть, это зашифрованный текст и ключ AES-256, где я могу получить доступ к блочному шифру?
kelalaka avatar
флаг in
Проверьте документ библиотеки.При высокой вероятности IV добавляется к зашифрованному тексту следующим образом: $IV|ciphertext|tag$
Ova Fleming avatar
флаг us
Как я могу разделить их? или как отсоединить iv от него?
kelalaka avatar
флаг in
На вашем месте я уже посмотрел код и увидел, что он делает!. Первые 12 байтов должны быть IV, поскольку рекомендуемый размер IV GCM составляет 12 байтов. Остальное — навыки программирования, которые здесь не по теме.
Ova Fleming avatar
флаг us
У меня просто есть ключ, и я использую wireshark для получения зашифрованных пакетов из программы, у меня нет ее кода.
Maarten Bodewes avatar
флаг in
Вообще протоколы надо знать. Без него мы не можем сказать, что делать. Ваш вопрос на уровне схемы, но ваша основная проблема — на уровне протокола, и мы не получили никакой информации по нему (и анализ протокола выходит за рамки нашей компетенции — это может быть больше темой для [reverseengineering.se]) .

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

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