Trong các tình huống thực tế, ngoại trừ khả năng tương thích với các hệ thống hiện có, nó hiếm khi được sử dụng trực tiếp bất kỳ chế độ mã hóa nào được liệt kê trong câu hỏi, bởi vì chúng tốt nhất cung cấp mã hóa an toàn (báo trước: ECB không), điều này không không phải bao gồm các nhu cầu của hầu hết các tình huống thực tế.
Trong các ứng dụng thực tế, nếu một người cần mã hóa, thông thường người ta cũng cần ngăn chặn sự thay đổi thông điệp mà không bị phát hiện (ví dụ: xóa một phần của thông báo, thay đổi một phân đoạn). Vì vậy, nó cần một chế độ cung cấp mã hóa và xác thực¹, chẳng hạn như GCM kết hợp với mật mã khối AES. Nó đủ nhanh để "trò chuyện video" với CPU hiện đại và đủ đơn giản để "gửi dữ liệu bằng bộ điều khiển vi mô".
Như là mã hóa xác thực chế độ thường sẽ sử dụng nội bộ một trong các chế độ của câu hỏi để mã hóa mà nó cung cấp, ví dụ: GCM sử dụng CTR.ECB/CBC/CFB/OFB có xu hướng bị loại bỏ dần đối với CTR, vì CTR đơn giản, nhanh chóng, dễ dàng song song hóa và cho phép truy cập đọc/sửa đổi/ghi trực tiếp vào các tệp lớn mà không cần mã hóa lại những gì tiếp theo. Nhược điểm duy nhất của nó là
- Tính linh hoạt², nhưng điều đó hoàn toàn được giải quyết bằng mã hóa được xác thực.
- Độ nhạy tái sử dụng của Vector khởi tạo/nonce. Điều này có thể được giảm thiểu bằng các quy trình tốt để tạo IV hoặc các chế độ mã hóa được xác thực chống lạm dụng như GCM-SIV.
Để "lưu trữ mật khẩu", chúng tôi thường không muốn sử dụng mã hóa, điều này ngụ ý khả năng giải mã, khi chúng tôi thường có thể sống với một hệ thống không bao giờ yêu cầu giải mã mật khẩu và do đó ít bị rò rỉ dữ liệu hơn (có một số trường hợp ngoại lệ như trình quản lý mật khẩu). Đối với mật khẩu, lựa chọn đầu tiên là phần cứng bảo mật được thiết kế để lưu trữ mật khẩu. Lựa chọn thứ hai là lưu trữ trên đĩa kết quả của hàm băm chậm và có muối của mật khẩu, như Argon2. Lựa chọn cuối cùng là mã hóa xác thực mật khẩu. Lưu ý vấn đề xác thực: chỉ với mã hóa, người ta sợ rằng ai đó có quyền truy cập đọc/ghi vào mật khẩu được mã hóa có thể đặt lại mật khẩu của người dùng thành mật khẩu đã biết mà không cần khóa, nếu họ biết mật khẩu của người dùng khác.
¹ Theo nghĩa là bản rõ được giải mã khớp chính xác với bản rõ đã được mã hóa bằng khóa mã hóa, điều này làm cho nó xác thực.
² Theo nghĩa cho phép thay đổi ý nghĩa của văn bản rõ đã giải mã thành văn bản gốc đã biết, ví dụ: biến đổi trả $1000
đến trả $9800
. Chế độ CBC hoặc CFB làm cho cuộc tấn công như vậy trở nên khó khăn hơn nhưng không cung cấp mã hóa được xác thực đầy đủ.