AES-CCM дополнительная аутентифицированная длина данных l(a)
Я реализовал AES-CCM в соответствии с RFC-3610, и мне интересно, почему длина дополнительных аутентифицированных данных l(a) должна быть защищена MAC.
1 ответ
Стандартное предостережение: не пишите свое собственное шифрование и не используйте его. Используйте доверенные библиотеки, написанные профессиональными крипто людьми. Есть таковые для почти любого языка / времени выполнения, которые вам нужны или которые должны скомпилироваться для него.
что касается вашего вопроса:
CBC-MAC по умолчанию работает только с сообщениями фиксированной длины. Если злоумышленник знает тег t в сообщении m и t'в сообщении m', он может подделать тег в третьем сообщении, которое фактически не было отправлено. На самом деле это
Если вы добавите длину, это будет безопаснее, хотя вы все равно сможете получать сообщения, которые являются префиксами друг друга и сталкиваются с аналогичной проблемой. Следовательно, одна из причин, по которой также используется одноразовый номер.