สมมติว่า Alice และ Peter มีหน่วยความจำแฟลช USB 4GB พวกเขาพบและบันทึกไฟล์ทั้งสองไฟล์สองไฟล์ชื่อว่าalice_to_peter.key
(2GB) และpeter_to_alice.key
(2GB) ซึ่งมีบิตที่สร้างแบบสุ่ม พวกเขาไม่เคยพบกันอีก แต่สื่อสารด้วยระบบอิเล็กทรอนิกส์ อลิซยังคงรักษาตัวแปรที่เรียกว่าalice_pointer
และปีเตอร์รักษาตัวแปรที่เรียกว่าpeter_pointer
ซึ่งทั้งสองจะถูกตั้งค่าเริ่มต้นเป็นศูนย์
เมื่ออลิซต้องการส่งข้อความถึงปีเตอร์เธอก็ทำ (อยู่ที่n
ข้อความที่ nthth):
encrypted_message_to_peter[n] = message_to_peter[n] XOR alice_to_peter.key[alice_pointer + n]
encrypted_payload_to_peter = alice_pointer + encrypted_message_to_peter
alice_pointer += length(encrypted_message_to_peter)
(และเพื่อความปลอดภัยสูงสุดสามารถลบส่วนที่ใช้แล้วของคีย์ได้)
ปีเตอร์ได้รับencrypted_payload_to_peter
อ่านที่alice_pointer
เก็บไว้ที่จุดเริ่มต้นของข้อความและทำ:
message_to_peter[n] = encrypted_message_to_peter[n] XOR alice_to_peter.key[alice_pointer + n]
และเพื่อความปลอดภัยสูงสุดหลังจากอ่านข้อความจะลบส่วนที่ใช้ไปของคีย์ด้วย
- แก้ไข: อันที่จริงขั้นตอนนี้ด้วยอัลกอริทึมแบบง่าย ๆ (ไม่มีการตรวจสอบความสมบูรณ์และการรับรองความถูกต้อง) ช่วยลดความปลอดภัยให้ดูที่Paŭlo Ebermann โพสต์ด้านล่าง
เมื่อปีเตอร์ต้องการที่จะส่งข้อความไปยังอลิซที่พวกเขาทำกลับครั้งนี้ด้วยและpeter_to_alice.key
peter_pointer
ด้วยสคีมาเล็กน้อยนี้พวกเขาสามารถส่งในแต่ละวันในอีก 50 ปี 2GB / (50 * 365) = ~ 115kB ของข้อมูลที่เข้ารหัสในทั้งสองทิศทาง หากพวกเขาต้องการข้อมูลเพิ่มเติมในการส่งพวกเขาสามารถใช้ปุ่มที่ใหญ่กว่าได้ตัวอย่างเช่น HD 2TB ของวันนี้ (1TB คีย์) มันเป็นไปได้ที่จะแลกเปลี่ยน 60MB / วันในอีก 50 ปีข้างหน้า! นั่นเป็นข้อมูลจำนวนมากในทางปฏิบัติ ตัวอย่างเช่นการใช้การบีบอัดเป็นมากกว่าชั่วโมงของการสื่อสารด้วยเสียงคุณภาพสูง
สำหรับฉันแล้วดูเหมือนว่าไม่มีทางที่ผู้โจมตีจะสามารถอ่านข้อความที่เข้ารหัสโดยไม่มีกุญแจได้แม้ว่าพวกเขาจะมีคอมพิวเตอร์ที่เร็วอย่างไม่มีที่สิ้นสุดพร้อมด้วยกำลังดุร้ายพวกเขาสามารถรับข้อความที่เป็นไปได้ทุกครั้งภายใต้ขีด จำกัด แต่นี่เป็นตัวเลขทางดาราศาสตร์ ของข้อความและผู้โจมตีไม่ทราบว่าข้อความใดเป็นข้อความจริง
ฉันถูกไหม? รูปแบบการสื่อสารนี้ปลอดภัยจริงๆหรือไม่? และถ้ามันปลอดภัยมันมีชื่อของตัวเองหรือไม่? การเข้ารหัส XOR นั้นเป็นที่รู้จักกันดี แต่ฉันกำลังมองหาชื่อของแอปพลิเคชั่นที่เป็นรูปธรรมนี้โดยใช้ปุ่มขนาดใหญ่ทั้งสองด้าน? ฉันคาดหวังอย่างนอบน้อมว่าแอปพลิเคชันนี้ถูกประดิษฐ์ขึ้นมาก่อนใครบางคนก่อนฉัน :-)
หมายเหตุ: ถ้ามันปลอดภัยอย่างแน่นอนมันน่าทึ่งเพราะอุปกรณ์เก็บข้อมูลขนาดใหญ่ราคาประหยัดในปัจจุบันมันจะถูกกว่ามากในการสื่อสารที่ปลอดภัยกว่าด้วยการเข้ารหัสควอนตัมที่มีราคาแพงและสิ่งนี้มีความปลอดภัยเทียบเท่ากัน!
แก้ไข:
ฉันคิดว่านี่จะเป็นจริงมากขึ้นในอนาคตเนื่องจากต้นทุนการจัดเก็บลดลงมันสามารถแก้ปัญหาการสื่อสารที่ปลอดภัยตลอดไปวันนี้คุณไม่มีความแน่นอนถ้าใครบางคนประสบความสำเร็จในการโจมตียันต์ที่มีอยู่แม้ในอีกหนึ่งปีต่อมาและทำให้การติดตั้งใช้งานไม่ปลอดภัย ในหลายกรณีก่อนการสื่อสารเกิดขึ้นเมื่อทั้งสองฝ่ายพบกันเป็นการส่วนตัวนั่นเป็นเวลาที่จะต้องสร้างกุญแจ ฉันคิดว่ามันสมบูรณ์แบบสำหรับการสื่อสารทางทหารเช่นระหว่างเรือดำน้ำที่สามารถมี HD พร้อมปุ่มขนาดใหญ่และศูนย์กลางการทหารสามารถมี HD สำหรับเรือดำน้ำแต่ละลำ มันอาจเป็นประโยชน์ในชีวิตประจำวันเช่นการควบคุมบัญชีธนาคารของคุณเพราะเมื่อคุณสร้างบัญชีของคุณคุณพบกับธนาคาร ฯลฯ