Вопрос об использовании ECB, CB C, CFB, CTR и где - PullRequest
0 голосов
/ 04 августа 2020

Итак, у меня есть общий вопрос об использовании и где можно использовать ECB, CB C, CFB, CTR, например, в каких ситуациях вы бы сочли их полезными?

просто общие, например, a Bank et c.

любые примеры были бы крутыми

Ответы [ 2 ]

0 голосов
/ 04 августа 2020

ECB используется везде и постоянно. Это необработанный примитив cryptographi c, который является перестановкой AES. Сам по себе это небезопасно, поскольку один и тот же ввод всегда дает один и тот же вывод. Все алгоритмы, такие как CB C, CTR и GCM, используют ECB внутри.

CB C использует заполнение, чтобы сделать сообщение точным числом блоков шифрования. Это означает, что наблюдатель не знает точной длины сообщения, не расшифровав его. Большинство других схем пропускают длину сообщения. Использование padding делает уязвимыми для атак типа padding oracle. Атаки с заполнением oracle могут быть заблокированы с помощью кодов аутентификации сообщений (MAC), которые подтверждают, что данный зашифрованный текст является аутентификационным c. Вы не можете выполнить атаку заполнения oracle без изменения зашифрованного текста, и MA C предотвращает это.

CTR шифрует счетчик блоков и выполняет XOR с эквивалентным блоком сообщения. Это означает, что вы можете получить доступ к любой части обычного текста, не расшифровывая все сообщение. Однако он чрезвычайно уязвим для повторного использования IV (вектора инициализации).

GCM - это быстрый способ исправить протокол сообщений, который забыл включить правильный MA C. Он построен на CTR и разделяет его особенности. MA C составляет всего 128 бит, тогда как обычно требуется 256 бит. MA C также проверяется после обработки всего сообщения, что означает, что разработчики часто обрабатывают сообщение до его проверки, что еще больше снижает эффективность GCM.

OFB - это способ использования CB C аппаратное обеспечение для выполнения потокового шифрования и подобное CTR особенно уязвимо для повторяющихся IV и является слабым при использовании с частичной обратной связью по блоку.

CFB не имеет хорошо известных уязвимостей. Тем не менее, он показывает длину сообщения, и хотя повторяющиеся IV не столь уж катастрофичны c, их все же нужно избегать.

Какой режим шифрования использовать, где это вопрос соответствия причуд и требований, но если бы мне пришлось порекомендовать конкретный, я бы сказал:

  1. Используйте CFB
  2. Включите MA C зашифрованного текста в свой протокол, например HMA C с SHA512 /256.
0 голосов
/ 04 августа 2020

ECB небезопасен и не должен использоваться как есть. Классическая демонстрация c - это ECB Linux Penguin . Он включен, потому что другие режимы построены поверх ECB, поэтому код все равно присутствует.

В других режимах используются другие методы, чтобы избежать проблем с ECB. CB C, вероятно, самый распространенный общий режим. CTR требует более тщательной настройки, чтобы гарантировать, что комбинация Nonce / Key уникальна, но после настройки ее можно распараллелить, чего CB C не может.

Ни один из этих режимов не включает аутентификацию сообщений, которая должно быть сделано отдельно с MA C - Код аутентификации сообщения. Другие современные режимы, такие как GCM - Galois Counter Mode - включают аутентификацию без необходимости отдельного MA C.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...