Короче говоря, ответ - нет.Целостность и секретность сообщения различны и требуют разных инструментов.
Давайте рассмотрим простой бросок монеты, и в этом случае мы делаем ставку на результаты.В результате получается простой бул, и я шифрую его с помощью потокового шифра, такого как RC4, который выдает 1 зашифрованный бит, и я отправляю его вам по электронной почте.У вас нет ключа, и я прошу вас отправить мне ответ по электронной почте.
В этом сценарии может произойти несколько атак.
1) Злоумышленник может изменить бит при передаче, если он равен 0, существует 50% вероятность того, что он станет 1, и наоборот.Это связано с тем, что RC4 создает поток prng, который с помощью XOR и обычного текста создает зашифрованный текст, аналогично одноразовому блокноту.
2) Другая возможность состоит в том, что я мог бы предоставить вам другой ключ дляубедитесь, что ваш ответ неверен.Это просто грубая сила, я просто продолжаю пробовать ключи, пока не получу правильное отражение.
Решением является использование блочного шифра CMAC Mode .CMAC - это код аутентификации сообщения, аналогичный hmac, но он использует блочный шифр вместо функции дайджеста сообщения.Секретный ключ (K) - это тот же ключ, который вы используете для шифрования сообщения.Это добавляет n + 1 блоков к зашифрованному тексту.В моем сценарии это предотвращает обе атаки 1 и 2. Злоумышленник не может перевернуть простой бит, потому что обычный текст дополняется, даже если сообщение занимает только 1 бит, я должен передать минимум 1 блок, используя блочный шифр.Дополнительный блок аутентификации не позволяет мне связать ключ в ключе, а также обеспечивает целостность от любого, кто пытается изменить зашифрованный текст при передаче (хотя это будет очень трудно сделать на практике, дополнительный уровень безопасности полезен).
По этим причинам WPA2 использует AES-CMAC.