mã hóa $M$ sử dụng $H(M)$ vì chìa khóa là một cách tiếp cận tự nhiên và được nghiên cứu kỹ lưỡng để chống trùng lặp. Nó được biết đến trong văn học như mã hóa hội tụ hoặc mã hóa khóa tin nhắn.
Vấn đề tự nhiên với cách tiếp cận này là nó không thể đạt được các khái niệm tiêu chuẩn về bảo mật cho mã hóa (IND-CPA, IND-CCA, v.v.).
Thật vậy, bất cứ ai biết $M$ sẽ có thể xác minh xem một bản mã ứng cử viên giải mã thành $M$. Sau đó, câu hỏi trở thành: mức độ bảo mật "tốt nhất có thể" mà người ta có thể hy vọng là gì và chúng ta có thể đạt được mức độ đó không?
Phân tích kỹ lưỡng nhất về mã hóa khóa tin nhắn mà tôi biết là:
Mihir Bellare, Sriram Keelveedhi, Thomas Ristenpart: Mã hóa khóa tin nhắn và chống trùng lặp an toàn, Eurocrypt 2013.
Họ xác định các khái niệm bảo mật có liên quan và đưa ra các cấu trúc & bằng chứng tương ứng. Họ cũng xem xét một số mục tiêu bảo mật khác liên quan chặt chẽ đến ứng dụng chống trùng lặp, tách biệt với tính bảo mật và tính toàn vẹn tiêu chuẩn.
Bạn có thể tìm kiếm ePrint và tìm nhiều giấy tờ khác có "thông báo bị khóa" hoặc "sao chép" (đối với các phương pháp khác) trong tiêu đề. Lưu ý rằng mã hóa khóa tin nhắn là không tương tác, nhưng vấn đề chống trùng lặp trở nên dễ dàng hơn một chút khi bạn cho phép tương tác. Do đó, nhiều kỹ thuật mà bạn tìm thấy có thể tương tác.