Какие из них предпочтительны в каких обстоятельствах?
Я хотел бы видеть список оценочных crtieria для различных режимов и, возможно, обсуждение применимости каждого критерия.
Например, Я считаю, что одним из критериев является "размер кода" для шифрования и дешифрования, что важно для встроенных систем с микрокодом, таких как сетевые адаптеры 802.11. ЕСЛИ код, необходимый для реализации CBC, намного меньше, чем требуется для CTR (я не знаю, что это правда, это просто пример), тогда я мог понять, почему предпочтительным будет режим с меньшим кодом. Но если я пишу приложение, которое работает на сервере, и в AES-библиотеке я использую как CBC, так и CTR, то этот критерий не имеет значения.
Посмотрите, что я имею в виду под "списком критериев оценки и применимости каждого критерия"?
Это не связано с программированием, но связано с алгоритмом.