Я некоторое время ломал голову, почему TLS 1.3 не включает никаких режимов шифрования, а затем MAC (EtM). Все предыдущие проблемы с TLS были вызваны MAC-адресами и шифрованием. Принимая во внимание, что шифрование, а затем MAC позволяет избежать всех проблем, вызванных заполнением в прошлом, поскольку получатель может проверить целостность сообщения без необходимости сначала расшифровывать сообщение, а затем правильно обрабатывать искаженное дополнение.
Что меня раздражает, так это то, что существует довольно много микроконтроллеров со встроенным аппаратным ускорением AES. Однако что-то вроде умножения без переноса для GCM действительно существует только на серверных и настольных процессорах.
Хотя вместо этого используется ChaCha20-Poly1305, это означает, что вы отказываетесь от использования оборудования AES на микроконтроллерах. Хотя ChaCha20 хорошо работает с 32-битными микропроцессорами, он по-прежнему будет потреблять больше энергии, чем встроенное оборудование AES, и, вероятно, будет работать медленнее в зависимости от микропроцессора. Кроме того, Poly1305 требует выполнения некоторых модульных арифметических операций с большими числами по сравнению со многими хеш-функциями.
Я просто чешу затылок, так как с EtM все в порядке. Я даже нашел черновик IETF AES-CBC-HMAC где то выполняет EtM.Тем не менее, он так и не прошел дальше черновика, что кажется мне странным.
Редактировать:
Поскольку были упомянуты наборы CCM Cipher. при работе AES в режиме CTR избегает заполнения оракулов. Он не входит в обязательный набор шифров или один из ДОЛЖЕН реализовать наборы. Видеть: Обязательные к реализации наборы шифров Таким образом, в принципе невозможно использовать преимущества аппаратного обеспечения AES на микро, не имея также GCM. (например, многие серверы отключают CCM по умолчанию, и ни Firefox, ни Chrome не включают CCM). Итак, снова все еще кажется странным, что здесь нет ничего промежуточного, и я действительно не вижу какой-либо веской причины, почему, и режим EtM кажется достойным кандидатом, но он даже не был добавлен в стандарт.