Рейтинг:0

Как создать данные аутентификации и тег в GCM? Является ли добавленный MAC зашифрованный текст в режиме CTR слабее, чем GCM?

флаг is

В https://en.wikipedia.org/wiki/Галуа/Counter_Mode, есть диаграмма, показывающая, как работает GCM в целом.

Я смотрел компьютерное видео о том, как работает режим ECB, CBC и CTR, и смог реализовать их самостоятельно, учитывая, что блочный шифр (SM4) был правильно реализован в библиотеке, такой как BouncyCastle.

У меня есть несколько вопросов по схеме, откуда берутся данные авторизации? Если нет данных аутентификации, могу ли я использовать метод HMAC-SHA для их создания и XOR по пути?

Если я зашифрую сообщение с использованием режима счетчика, будет ли безопасность слабее, чем GCM, учитывая, что перед зашифрованным сообщением в режиме счетчика добавлен MAC-адрес?

kelalaka avatar
флаг in
Вам не нужно смотреть, читать [Специальную публикацию 800-38d] (https://nvlpubs.nist.gov/nistpubs/Legacy/SP/nistspecialpublication800-38d.pd), данные аутентификации — это связанные данные, в основном используемые в протоколах , для которого не требуется шифрование, а требуется аутентификация. Ваш вопрос слишком широк, и некоторые из них действительно не связаны. AD [добавить небольшую защиту] (https://crypto.stackexchange.com/q/95621/18298), AD не является обязательным, целью GMAC является аутентификация и целостность зашифрованного текста.
Hern avatar
флаг is
Данные аутентификации — это любые дополнительные текстовые данные, которые существуют в AES-GCM или любых шифрах AEAD?
kelalaka avatar
флаг in
[Как создавать данные аутентификации и теги в GCM? Является ли добавленный MAC зашифрованный текст в режиме CTR слабее, чем GCM?] (https://crypto.stackexchange.com/q/14747/18298)
kelalaka avatar
флаг in
CCM и [Poly1305](https://datatracker.ietf.org/doc/html/rfc8439) тоже имели его, желательно почти все должны его поддерживать.
Рейтинг:1
флаг cn

откуда берутся авторизационные данные?

То, что на диаграмме обозначено как «Данные аутентификации», дополнительные аутентифицированные данные который чаще называют «связанными данными» или «дополнительными данными» и сокращенно AAD или AD. Это ввод для расчета GCM. Вы его не генерируете. GCM всегда принимает ввод AD. Он может быть пустым, ничего особенного в пустом AD ни в расчете, ни в безопасности нет.

Как создать данные аутентификации и тег в GCM?

Чтобы создать тег GCM, вы следуете спецификации GCM для его расчета.

Если я зашифрую сообщение, используя режим счетчика, будет ли безопасность слабее, чем GCM?

Если вы зашифруете сообщение в режиме счетчика, оно не будет аутентифицировано. Таким образом, безопасность полностью отличается от GCM. ГКМ это аутентифицированный шифрование: оно гарантирует как конфиденциальность, так и подлинность сообщения. Успешная расшифровка сообщения, зашифрованного с помощью CTR, ничего не значит: если сообщение было поддельным или поврежденным, вы просто получите поврежденные данные. Успешная расшифровка сообщения, защищенного с помощью GCM, гарантирует, что вы получите сообщение, созданное владельцем секретного ключа.Обратите внимание, как я написал «защищено GCM», а не просто «зашифровано GCM»; терминология вокруг AEAD иногда вводит в заблуждение. «GCM-зашифровано» правильно, но вводит в заблуждение, потому что GCM делает больше, чем просто шифрует. «Шифрование» сообщения с помощью GCM (или любого другого алгоритма AEAD) также подтверждает его подлинность, а «дешифрование» сообщения также подтверждает его подлинность. Однако глаголы «зашифровать» и «расшифровать» являются стандартной терминологией, поэтому продолжайте их использовать, но имейте в виду, что они не рассказывают всей истории.

Является ли добавленный MAC зашифрованный текст в режиме CTR слабее, чем GCM?

Если все сделано правильно, MAC, добавленный к зашифрованному тексту CTR, или шифрование CTR открытого текста плюс MAC, является допустимой конструкцией AEAD. Фактически, именно так работают многие стандартные конструкции AEAD, включая GCM. Однако есть много возможностей сделать это неправильно, например, нежелательное взаимодействие между ключом шифрования и ключом MAC (что сломало ОКБ2), неправильный выбор nonce/IV и т. д. (Другой потенциальной ошибкой может быть использование CBC вместо CTR, что открывает возможности для атак оракула заполнения.) Например, «использовать метод HMAC-SHA» — это хороший способ сгенерировать MAC, но «исключающее ИЛИ по пути» может означать множество вещей, большинство из которых небезопасно.

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

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