Điểm:5

Việc băm mã hóa ECB với hàm băm mạnh có tạo ra MAC an toàn không?

lá cờ ng

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...

Maarten Bodewes avatar
lá cờ in
Lưu ý rằng HMAC vẫn là một lần truyền của H bên dưới qua dữ liệu - ngay cả khi sơ đồ hàm băm ECB + hoạt động với lượng dữ liệu lớn hơn (và tôi cũng không chắc về điều đó do sử dụng lại khóa), nó sẽ là một sơ đồ hai lượt, thay vì sơ đồ một lượt.
Điểm:8
lá cờ ng

Không, công trình được đề xuất không an toàn, trừ khi kích thước khối $b$ của mật mã khối lớn bất thường hoặc rộng hơn nhiều so với MAC. Giả định $p$ các cặp tin nhắn/MAC riêng biệt đã biết $(m_i,h_i)$ với $b$tin nhắn -bit $m_i$$h_i$ ít nhất $b$-bit, có một cuộc tấn công đơn giản với chi phí dự kiến ​​bị chi phối bởi $2^b/p$ băm và tìm kiếm giữa các $h_i$.

Cuộc tấn công chỉ đơn giản là băm khác biệt tùy ý $b$giá trị -bit $c$ cho đến khi $H(c)$ là một trong những $h_i$. Với xác suất tốt, việc mã hóa của dữ liệu tương ứng $m_i$$c$. Điều này cho phép tính toán MAC tầm thường cho $m_i\mathbin\|m_i$ như $H(c\mathbin\|c)$, được coi là giả mạo.

Cuộc tấn công là hoàn toàn khả thi khi mật mã khối được $64$-bit, ví dụ: 3 phím 3DES hoặc IDEA. Với AES-256 và $p=2^{40}$, nó có giá hợp lý $2^{88}$ băm và tìm kiếm giữa $p$ các giá trị.

Lưu ý: cấu trúc như đã nêu trong câu hỏi chỉ hoạt động đối với các thư có kích thước là bội số của $b$. Phần đệm mã hóa khối phổ biến (như nối thêm một bit sau đó $0$ đến $b-1$ bit không cần thiết để đi đến cuối khối) có thể khắc phục điều này, nhưng cuộc tấn công dễ dàng thích nghi.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.