Hãy nhớ lại rằng đối thủ trong trò chơi bảo mật IND-CPA nhận được một "tiên tri trái-phải":
$$\mathsf{LR}(m_0,m_1) := \mathsf{Enc}_{pk}(m_b)$$
ở đâu $b\in\{0,1\}$ là một chút bí mật mà đối thủ phải cố gắng khôi phục.
giả sử rằng có một đối thủ có thể phát hiện ra rằng hai bản mã được mã hóa từ cùng một bản rõ.
Ở trên, bạn có thể thấy rằng chỉ có một mặc dù bản mã --- $\mathsf{LR}(m_0,m_1)$ trả về Độc thân bản mã $\mathsf{Enc}_{pk}(m_b)$. Điều này có nghĩa là tôi không chắc chắn 100% về những gì bạn định hỏi. Nếu chúng tôi sửa đổi câu hỏi của bạn thành:
Giả sử có đối thủ $\mathcal{A}$ ai, đưa ra hai bản mã tùy ý $c, c'$ được mã hóa dưới cùng một khóa chung, có thể xác định xem chúng có mã hóa cùng một thứ hay không --- nghĩa là có thể trả lời câu hỏi
$$\mathsf{Dec}_{sk}(c)\stackrel{?}{=}\mathsf{Dec}_{sk}(c')$$
Đối thủ này có thể phá vỡ bảo mật IND-CPA không?
Câu trả lời là Vâng.
Cuộc tấn công rất đơn giản --- để phân biệt $m_0, m_1, m_2$, truy vấn $c\gets \mathsf{LR}(m_0, m_1)$, $c'\gets \mathsf{LR}(m_2, m_1)$. Nếu đối thủ xác định rằng $c, c'$ mã hóa cùng một tin nhắn, sau đó cả hai $\mathsf{LR}$ truy vấn được mã hóa $m_1$, ví dụ. $b = 1$. Nếu không thì, $b = 0$.
Đây thực sự là nền tảng của một kết quả khá cơ bản trong mã hóa khóa công khai.
Mã hóa khóa công khai xác định là không thể.
Tôi nghĩ rằng trích dẫn cho điều này là Goldwasser-Micali 1982, nhưng bất kể chi tiết nào, đó là một trong những kết quả "sớm" trong mật mã học lý thuyết.
Để chứng minh điều này, tất cả những gì bạn cần làm là chú ý rằng nếu $\mathsf{LR}$ là quyết định, xây dựng đối thủ $\mathcal{A}$ chúng tôi đã đề cập trước đây khá đơn giản (tôi sẽ để bạn nghĩ cách thực hiện).
Sau đó, chúng tôi có thể thực hiện cuộc tấn công mà chúng tôi đã đề cập trước đó.