Nếu bí mật được chia sẻ trước chỉ được sử dụng một lần, thì nó không thể được giải mã (và chúng tôi thậm chí không cần phải giả sử thông báo là ngẫu nhiên). Vì vậy, đây sẽ là một miếng đệm dùng một lần và an toàn về mặt lý thuyết thông tin ngay cả trước một đối thủ có sức mạnh tính toán vô hạn.
Tuy nhiên, nếu chúng ta thực hiện lại việc này với một thông báo ngẫu nhiên khác và cùng một khóa, thì kẻ tấn công có thể XOR hai văn bản mật mã một cách tầm thường và nhận được XOR của hai văn bản thuần túy. Đây đã là một sự rò rỉ nghiêm trọng, nhưng nếu hai văn bản đơn giản được chọn ngẫu nhiên, việc khôi phục chúng có thể là một thách thức.
Khi các văn bản đơn giản không phải là ngẫu nhiên, một số kỹ thuật tấn công một miếng đệm hai lần như vậy, dẫn đầu trong số đó là kéo cũi.
Đối với các văn bản đơn giản ngẫu nhiên, câu hỏi đặt ra là: bạn sẽ làm gì với chúng tiếp theo? Mặc dù bản thân việc gửi dữ liệu ngẫu nhiên không thực sự hữu ích, nhưng nếu nó được sử dụng lại sau đó, điều này có thể tạo ra một vectơ tấn công trong đó việc biết XOR của hai văn bản thuần túy có thể có giá trị.
Trong nhận xét, bạn đề xuất văn bản gốc sẽ được sử dụng làm khóa cho AES GCM, do đó, nó mở ra một vectơ tấn công lý thuyết nơi chúng tôi biết hai khóa có liên quan và có thể cũng sẽ có các cặp văn bản gốc-bản mã cho các khóa liên quan này. Tôi không biết về một cuộc tấn công khóa liên quan thực tế vào AES có thời lượng đầy đủ, nhưng nó chắc chắn làm suy yếu mật mã.
Kẻ tấn công đang hoạt động có thể tiến thêm một bước nữa và sau lần trao đổi khóa dựa trên XOR đầu tiên như vậy, đặt khóa thứ hai thành khóa có quan hệ tùy ý với khóa đầu tiên.