Tại sao điều quan trọng là bí mật ở cuối khi ký với MD5?


16

người ta thường nói rằng khi sử dụng thuật toán MD5 để ký một số thông tin tùy ý, bí mật được chia sẻ phải ở cuối. Tại sao?


2
Bạn có thể vui lòng cụ thể hơn thay vì nói 'thường nói'. Bạn có thể trích dẫn tài liệu tham khảo, và cũng mở rộng về lý do tại sao vấn đề có liên quan?
Suresh Venkat

Có một lỗi đánh máy trong tiêu đề câu hỏi của bạn: bạn có thể thay đổi "và" thành "kết thúc" không?
Carlos Scheidegger

Câu trả lời:


16

Xem "các cuộc tấn công mở rộng" trong công trình Merkle-Damgard . Vấn đề này phát sinh trong việc sử dụng các hàm băm để xác thực tin nhắn .

Nói tóm lại, việc đặt bí mật ngay từ đầu cho phép kẻ tấn công, đưa ra một thông điệp và hàm băm của nó, giả mạo bất kỳ thông điệp nào có thông điệp đã cho làm tiền tố. Đây là một vấn đề đối với các mã ngây thơ nhưng được tránh bởi các mã nổi tiếng như HMAC .


1
Theo những gì tôi hiểu nếu bạn phá vỡ luồng đầu vào và khóa được chia sẻ là bắt đầu của luồng thì khối đầu tiên sẽ luôn có cùng hàm băm và do đó, khóa chia sẻ có thể được đoán bằng cách sử dụng các cuộc tấn công cầu vồng, phải không?
Alexandru
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.