หากใช้ข้อมูลลับที่แชร์ล่วงหน้าเพียงครั้งเดียว ก็จะไม่สามารถถอดรหัสได้ (และเราไม่จำเป็นต้องถือว่าข้อความนั้นเป็นแบบสุ่มด้วยซ้ำ) ดังนั้นนี่จะเป็นแพดแบบใช้ครั้งเดียวและมีความปลอดภัยตามทฤษฎีของข้อมูล แม้กระทั่งกับศัตรูที่มีพลังการประมวลผลไม่สิ้นสุด
อย่างไรก็ตาม หากเราทำเช่นนี้อีกครั้งโดยใช้ข้อความสุ่มอีกข้อความหนึ่งและคีย์เดียวกัน ผู้โจมตีสามารถ XOR เพียงเล็กน้อยสำหรับข้อความเข้ารหัสทั้งสอง และรับ XOR ของข้อความธรรมดาทั้งสอง นี่เป็นการรั่วไหลที่ร้ายแรงอยู่แล้ว แต่ถ้าข้อความธรรมดาทั้งสองถูกเลือกแบบสุ่ม การกู้คืนอาจเป็นเรื่องที่ท้าทาย
เมื่อข้อความธรรมดาไม่ได้สุ่ม เทคนิคหลายอย่างโจมตีเช่นแผ่นเวลาสองครั้ง หลักคือการลากเปล
สำหรับข้อความธรรมดาแบบสุ่ม คำถามคือ คุณจะทำอย่างไรกับพวกเขาต่อไป แม้ว่าการส่งข้อมูลแบบสุ่มในตัวมันเองจะไม่มีประโยชน์มากนัก แต่หากมีการใช้อีกครั้งในภายหลัง นี่อาจสร้างเวกเตอร์โจมตีซึ่งการรู้ XOR ของข้อความธรรมดาสองข้อความอาจมีประโยชน์
ในความคิดเห็น คุณแนะนำว่าจะใช้ข้อความธรรมดาเป็นคีย์สำหรับ AES GCM ดังนั้นจึงเปิดเวกเตอร์โจมตีทางทฤษฎีที่เรารู้ว่าคีย์สองคีย์เกี่ยวข้องกัน และอาจมีคู่ข้อความธรรมดา-ciphertext สำหรับคีย์ที่เกี่ยวข้องเหล่านี้ด้วย ฉันไม่รู้เกี่ยวกับการโจมตีคีย์ที่เกี่ยวข้องในทางปฏิบัติกับ AES แบบเต็มความยาว แต่มันทำให้รหัสอ่อนลงอย่างแน่นอน
ผู้โจมตีที่ใช้งานอยู่สามารถก้าวไปอีกขั้นหนึ่งได้ และหลังจากการแลกเปลี่ยนคีย์ที่ใช้ XOR ครั้งแรกดังกล่าวแล้ว ให้ตั้งค่าคีย์ที่สองให้เป็นคีย์ที่มีความสัมพันธ์ตามอำเภอใจกับคีย์แรก