How to choose an AES encryption mode (CBC ECB CTR OCB CFB)?

¿Cuáles de ellos son los preferidos en qué circunstancias?

Me gustaría ver la lista de criterios de evaluación para los distintos modos, y tal vez una discusión de la aplicabilidad de cada criterio.

Por ejemplo, creo que uno de los criterios es el "tamaño del código" para el cifrado y descifrado, que es importante para los sistemas integrados de microcódigo, como los adaptadores de red 802.11. Si el código requerido para implementar CBC es mucho más pequeño que el requerido para CTR (no sé si esto es cierto, es solo un ejemplo), entonces podría entender por qué sería preferible el modo con el código más pequeño. Pero si estoy escribiendo una aplicación que se ejecuta en un servidor y la biblioteca AES que estoy usando implementa CBC y CTR de todos modos, entonces este criterio es irrelevante.

¿A qué me refiero con "lista de criterios de evaluación y aplicabilidad de cada criterio"?

Esto no está realmente relacionado con la programación, pero está relacionado con el algoritmo.

Respuestas a la pregunta(7)

Su respuesta a la pregunta