ทำไมการเข้ารหัสด้วยแผ่นแบบครั้งเดียวเหมือนกันไม่ดี?


20

การเข้ารหัสข้อความมีเพียงครั้งแป้นkคุณทำ E n ( ม. 1 , k ) = ม. 1 kม.1kEn(ม.1,k)=ม.1k

หากคุณใช้เดียวกันในการเข้ารหัสข้อความที่แตกต่างm 2คุณจะได้รับ E n c ( m 2 , k ) = m 2kและถ้าคุณทำ Xor ของ crypttext ทั้งสองคุณจะได้รับ ( m 1k ) ( m 2k ) = m 1m 2kม.2En(ม.2,k)=ม.2k

(ม.1k)(ม.2k)=ม.1ม.2

ดังนั้นตกลงมีการรั่วไหลของข้อมูลบางส่วนเพราะคุณเรียนรู้แต่ทำไมมันไม่ปลอดภัย ผมมีวิธีการเรียนรู้ไม่มี (พูด) ม. 1ถ้าฉันรู้ว่าม. 2 เหตุใดจึงต้องใช้kสองครั้งม.1ม.2ม.1ม.2k


ใช่นี่คือการเพาะ หลัก ๆ แล้วการถกเถียงกันเรื่องพรมแดนระหว่าง crypto.se และ cs.se
Ran G.

โปรดดูที่นี่สำหรับการสนทนาของแท็กที่ใช้
ราฟาเอล

ฉันจำได้ว่าฉันเห็นการสร้างภาพข้อมูลที่ทำให้ชัดเจนจริงๆ แต่ฉันไม่สามารถหาได้ในขณะนี้ ไม่มีใครรู้ว่าฉันกำลังพูดถึงอะไร (ฉันหวังว่าฉันจะไม่สับสนกับรูปภาพ crypto รูปอื่นเช่น ECB linux-pinguin และอื่น ๆ )
Ran G.

1
@RanG : ถูกต้อง - คำถาม crypto.se ที่เกี่ยวข้องอยู่ที่การใช้ประโยชน์จากการใช้คีย์แพดครั้งเดียวซ้ำอีกครั้ง
David Cary

คำตอบ:


14

ม.1ม.2

(ม.2k)ม.2=k

k

กลยุทธ์นี้ทั่วไปหมด cryptosystem เป็นที่รู้จักกันเป็นplaintext โจมตีที่รู้จักกัน ระบบจำนวนมากเช่น AES และ RSA เชื่อว่าปลอดภัยจากการโจมตีเหล่านี้ แต่แผ่นข้อมูลแบบครั้งเดียวจะไม่ปลอดภัยอย่างสมบูรณ์ต่อพวกเขาเว้นแต่จะมีการใช้แผ่นข้อมูลใหม่ทุกครั้งในการเข้ารหัสซึ่งเป็นเหตุผลว่าทำไมพวกเขาจึงมีชื่อว่า


11

มันไม่ปลอดภัยอย่างแม่นยำเนื่องจากเหตุผลที่คุณพูดถึง - มีการรั่วไหลของข้อมูลบางอย่าง

โดยทั่วไปหากคุณมีข้อสันนิษฐานเกี่ยวกับ plaintexts (ข้อความภาษาอังกฤษไฟล์ที่มีโครงสร้างที่รู้จัก ฯลฯ ) จะนำไปสู่การวิเคราะห์ทางสถิติอย่างง่าย อาจใช้สองครั้งไม่เปลี่ยนการปฏิบัติจริงของการโจมตีอย่างมีนัยสำคัญ แต่ใช้มันหลายครั้งด้วยข้อความธรรมดาที่ไม่ใช่แบบสุ่มในที่สุดก็เปิดเผยข้อมูลเพียงพอที่จะกู้คืนกุญแจ

ในที่สุดหากคุณมีความสามารถในการใช้งานได้เพียงสองครั้งคุณยังสามารถใช้งานได้เพียงครั้งเดียว - ข้อ จำกัด คือแผ่นอิเล็กโทรดแบบใช้ครั้งเดียวเหล่านี้จะไม่ถูกใช้งานซึ่งอาจไม่เป็นที่รู้จัก

ม.1ม.2

การโจมตีด้วยข้อความธรรมดาที่รู้จักกันทั่วไปนั้นเป็นเรื่องง่ายพอสมควรที่จะบังคับกลไกการเข้ารหัสเพื่อเข้ารหัสสิ่งที่คุณรู้มาก่อน หากไม่ใช่คุณมักจะสามารถตั้งสมมติฐานทางสถิติที่สมเหตุสมผลได้


นอกจากนี้แผ่นเวลาหนึ่งมีคุณสมบัติที่ถ้าคุณรู้ว่าไซเฟอร์เท็กซ์และแม้แต่ส่วนหนึ่งของข้อความธรรมดาคุณสามารถกู้คืนส่วนที่สอดคล้องกันของคีย์ได้ทันทีซึ่งหมายความว่าส่วนหนึ่งของข้อความในอนาคตทั้งหมดที่เข้ารหัสด้วยแผ่นอิเล็กโทรดนั้น ชัดเจน (ทำให้ง่ายต่อการคาดเดาธรรมดามากขึ้นเปิดเผยกุญแจเพิ่มเติม ฯลฯ ) หากคุณเข้ารหัสหลายสิ่งเช่นอีเมลหรือคำขอ HTTP ผู้โจมตีสามารถรู้ได้ว่าเป็นส่วนหนึ่งของข้อความธรรมดาเพราะโครงสร้างของโปรโตคอลเหล่านี้
Ben

6

(ม.1k)(ม.2k)=ม.1ม.2

เข้าสู่ระบบ226=4.7

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



2

นี่คือวิธีที่ใช้งานง่ายในการเป็นตัวแทนของวิธีการโดยไม่ต้องขอความช่วยเหลือทางคณิตศาสตร์ สมมติว่าคุณมีข้อความที่เข้ารหัสสองข้อความซึ่งได้รับการเข้ารหัสโดยแผ่นเวลาหนึ่งเดียวกัน

  1. เดาคำหรือวลีที่อาจอยู่ในข้อความใดข้อความหนึ่ง สมมติว่าวลี "รายงานสภาพอากาศ"
  2. เริ่มต้นด้วยข้อความ 1 สมมติว่า "รายงานสภาพอากาศ" เกิดขึ้นที่ตำแหน่งตัวอักษรตัวแรก
  3. ย้อนกลับคำนวณตัวอักษร 14 ตัวแรกของแผงควบคุมแบบครั้งเดียว
  4. ถอดรหัสอักขระ 14 ตัวแรกของข้อความ 2 โดยใช้ OTP ที่คำนวณกลับมา
  5. หากข้อความธรรมดาดูเหมือน gobble-di-gook ให้กลับไปที่ขั้นตอนที่ 2 และทำซ้ำที่ตำแหน่งตัวอักษรที่ 2 อย่างไรก็ตามหากคุณได้รับข้อความที่มีความหมาย (เช่น "สวัสดีตอนเช้าฉัน" ขอแสดงความยินดีคุณได้ใช้อักขระ 14 ตัวแรกของ OTP (และอักขระ 14 ตัวแรกของแต่ละตัวอักษร)
  6. หากคุณไปถึงจุดสิ้นสุดข้อความที่ 1 โดยไม่ทิ้งอะไรอื่นนอกจากตัวอักษรแบบสุ่มคุณสามารถสรุปได้ว่าวลี "รายงานสภาพอากาศ" ไม่ได้เกิดขึ้นในข้อความที่ 1 กลับไปที่ขั้นตอนที่ 1 ด้วยวลีอื่นเช่น "ผู้พันที่รัก "
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.