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

Które z nich są preferowane w jakich okolicznościach?

Chciałbym zobaczyć listę crtieria ewaluacji dla różnych trybów i być może dyskusję na temat stosowalności każdego kryterium.

Na przykład, myślę, że jednym z kryteriów jest „rozmiar kodu” do szyfrowania i deszyfrowania, co jest ważne w przypadku mikrokodowych systemów wbudowanych, takich jak karty sieciowe 802.11. JEŚLI kod wymagany do implementacji CBC jest znacznie mniejszy niż wymagany dla CTR (nie wiem, czy to prawda, to tylko przykład), to mógłbym zrozumieć, dlaczego tryb z mniejszym kodem będzie preferowany. Ale jeśli piszę aplikację działającą na serwerze, a biblioteka AES, której używam, implementuje zarówno CBC, jak i CTR, to kryterium to nie ma znaczenia.

Zobacz, co rozumiem przez „listę kryteriów oceny i możliwości zastosowania każdego kryterium”?

Nie jest to związane z programowaniem, ale jest związane z algorytmem.

questionAnswers(7)

yourAnswerToTheQuestion