Có áp dụng một mạnh hàm băm như SHA-256 để mã hóa ECB của một tin nhắn (sử dụng một số khóa bí mật $K$) sản xuất một mac an toàn? Ví dụ, đưa ra một tin nhắn $m$, sẽ là một cấu trúc mac đơn giản $H(E_K(m))$ được coi là máy Mac an toàn nếu chúng tôi sử dụng hàm băm mạnh $H$ như SHA-256?
So với HMAC tiêu chuẩn, cấu trúc này có vẻ đơn giản hơn và thậm chí có thể thực hiện nhanh hơn một chút. Ngoài ra, có vẻ như lược đồ mac này không dễ bị tấn công cuộc tấn công mở rộng chiều dài hoặc vì không có kiến thức về $K$, có vẻ như kẻ tấn công không thể "mở rộng" đầu vào cho hàm băm $H$ kể từ đầu ra của $E_K(m)$ không bao giờ bị "tiếp xúc" với kẻ tấn công mà chỉ được sử dụng như một bước tính toán trung gian bên trong $H(E_K(m))$.
Tất nhiên, tiêu chuẩn $\text{HMAC}(K,m)$ xây dựng có khả năng an toàn hơn đối với việc sử dụng "hàm băm yếu", vì vậy tôi cố tình yêu cầu $H$ trong cấu trúc của tôi để trở thành một hàm băm "mạnh" (ví dụ: SHA-256) có khả năng chống va chạm và (tất nhiên) cũng có khả năng chống ảnh hưởng trước.
Tương tự như vậy, khóa này $K$ sẽ chỉ có chỉ được sử dụng để tạo mac và không được "chia sẻ" cho các mục đích mã hóa khác ở nơi khác. Điều này là do nếu một số "phần khác của ứng dụng" tái sử dụng $K$ để mã hóa chung ở nơi khác, kẻ tấn công có thể lợi dụng điều đó để xác định $c=E_K(p)$ đối với một số bản rõ đã biết hoặc đã chọn (hoặc thậm chí "có nguồn gốc") $p$, và do đó giả mạo một số tin nhắn $m = p$ cùng với mac hợp lệ của nó $H(c)$.
** Chỉnh sửa: đây thực chất là mặt trái của kế hoạch này...