วิธีการพิสูจน์ความปลอดภัยของการเข้ารหัสลับโพสต์ควอนตัม?


9

มีคำจำกัดความหรือทฤษฎีบทเกี่ยวกับสิ่งที่คอมพิวเตอร์ควอนตัมสามารถทำได้จากรูปแบบการเข้ารหัสลับโพสต์ควอนตัม (เช่นการเข้ารหัสลับของตาข่าย แต่ไม่ใช่การเข้ารหัสควอนตัม) สามารถพิสูจน์ความปลอดภัยของพวกเขาได้? ฉันรู้ว่าฟังก์ชั่นค้นหาระยะเวลามีความสามารถในการทำลาย RSA และบันทึกที่ไม่ต่อเนื่อง แต่เป็นอัลกอริธึมเดียวที่เกี่ยวข้องกับการทำลายรูปแบบการเข้ารหัสหรือไม่ ฉันสามารถพูดได้หรือไม่ว่าถ้ารูปแบบไม่ไวต่อฟังก์ชั่นค้นหาระยะเวลามันไม่ไวต่อการคำนวณควอนตัม? ถ้าไม่มีคำสั่งทางเลือกที่คล้ายกันของแบบฟอร์ม "หากรูปแบบการเข้ารหัสไม่สามารถทำลายด้วยอัลกอริธึม X จะไม่สามารถทำลายด้วยการคำนวณควอนตัม"

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


1
คุณได้แรงบันดาลใจที่จะถามนี้คำถาม
user1271772

ที่เกี่ยวข้อง: crypto.stackexchange.com/questions/30055/… . กล่าวโดยย่อ: ระบบ crypto ส่วนใหญ่ได้รับการพิสูจน์แล้วว่าปลอดภัยโดยสมมติว่าปัญหาบางอย่างนั้นยาก อย่างไรก็ตามความแข็งของปัญหานั้นมักขึ้นอยู่กับข้อโต้แย้งเชิงประจักษ์ (เช่น 'เราไม่รู้วิธีแก้ปัญหานี้') มากกว่าการโต้แย้งเชิงทฤษฎีจากทฤษฎีความซับซ้อนเชิงคำนวณ
จิ้งจกที่ไม่ต่อเนื่อง

คำตอบ:


5

นี่คือขอบเขตของคลาสของความซับซ้อนในการคำนวณ ตัวอย่างเช่นคลาส BQP อาจอธิบายอย่างคร่าว ๆ ว่าชุดของปัญหาทั้งหมดที่สามารถแก้ไขได้อย่างมีประสิทธิภาพบนคอมพิวเตอร์ควอนตัม ความยากของคลาสที่มีความซับซ้อนนั้นยากที่จะพิสูจน์การแยกระหว่างคลาสต่างๆเช่นการมีอยู่ของปัญหาซึ่งอยู่ในชั้นหนึ่ง แต่ไม่ใช่อีกชั้นหนึ่ง

ในแง่หนึ่งมันก็เพียงพอที่จะพูดว่า "ถ้าอัลกอริทึมควอนตัมนี้ไม่สามารถทำลายได้มันปลอดภัย" คุณต้องใช้อัลกอริทึมที่ถูกต้อง คุณต้องใช้อัลกอริธึมที่สมบูรณ์แบบ BQP เช่นการค้นหารากของพหุนามโจนส์ - อัลกอริทึมควอนตัมใด ๆ ที่สามารถใช้เป็นตัวอย่างของอัลกอริทึมที่สมบูรณ์แบบ BQP อย่างไรก็ตามวิธีที่อัลกอริทึมนั้นอาจใช้สำหรับการแคร็กนั้นไม่ชัดเจนและไม่สำคัญเลย ไม่เพียงพอที่จะเห็นว่าคุณไม่สามารถดุร้ายโดยตรงได้ ดังนั้นวิธีการดังกล่าวอาจไม่เป็นประโยชน์

เราต้องการอะไรจากสถานการณ์ crypto หลังควอนตัม พวกเราต้องการ:

  • ฟังก์ชั่น y=f(x) ที่เราสามารถคำนวณได้อย่างง่ายดายเพื่อวัตถุประสงค์ในการเข้ารหัส
  • ซึ่งตรงกันข้าม f1(y) ไม่สามารถคำนวณได้อย่างง่ายดายบนคอมพิวเตอร์ควอนตัมเช่นคลาสของปัญหาอยู่นอก BQP
  • ให้ความลับบางอย่าง zมีฟังก์ชันที่คำนวณได้อย่างมีประสิทธิภาพคลาสสิก g(y,z)=xเช่นกับข้อมูลเสริมฟังก์ชั่น f(x)สามารถคว่ำ นี่คือบุคคลที่ถูกต้อง (ใครมีรหัสส่วนตัวz) สามารถถอดรหัสข้อความ

กระสุนนัดสุดท้ายนี้คือ (โดยพื้นฐาน) คำจำกัดความของความซับซ้อนระดับ NP: ปัญหาที่อาจหาวิธีแก้ปัญหาได้ยาก แต่วิธีการแก้ปัญหานั้นสามารถตรวจสอบได้ง่ายเมื่อได้รับการพิสูจน์ (ตรงกับรหัสส่วนตัวในกรณีของเรา) .

สิ่งที่เราตามมาคือปัญหาใน NP แต่ไม่ใช่ใน BQP เนื่องจากเราไม่รู้ว่า NP = BQP เราไม่ทราบว่ามีสิ่งนั้นอยู่ อย่างไรก็ตามมีเส้นทางที่ดีสำหรับการดูวิธีแก้ไข: เราพิจารณาปัญหาที่เกิดขึ้นแบบสมบูรณ์ นี่คืออินสแตนซ์ที่ยากที่สุดของปัญหาใน NP ดังนั้นถ้า BQPNP (ซึ่งเป็นที่เชื่อกันอย่างกว้างขวางว่าเป็นกรณีนี้) ปัญหา NP-complete ไม่แน่นอนใน BQP (หากปัญหาเสร็จสมบูรณ์สำหรับคลาสที่ซับซ้อนหมายความว่าหากคุณสามารถแก้ปัญหาได้อย่างมีประสิทธิภาพคุณสามารถแก้ปัญหาอินสแตนซ์ทั้งหมดของคลาสได้อย่างมีประสิทธิภาพ) ดังนั้นนี่คือแนวทางที่จะค้นหาอัลกอริธึมหลังควอนตัม .

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

มันอาจช่วยในการเปรียบเทียบกับ RSA, crypto-public key และละเว้นการมีอยู่ของคอมพิวเตอร์ควอนตัม มันขึ้นอยู่กับความยากลำบากในการแยกตัวประกอบจำนวนประกอบที่มีขนาดใหญ่ ปัญหานี้ไม่ได้ (เชื่อว่าเป็น) ใน P ดังนั้นจึงเชื่อว่าเป็นเรื่องยากสำหรับแฮ็กเกอร์ที่มีคอมพิวเตอร์คลาสสิคที่จะได้รับคำตอบ ในขณะเดียวกันมันอยู่ใน NP เพราะโซลูชั่นได้รับการยืนยันอย่างง่ายดาย (หากคุณได้รับปัจจัยหนึ่งคุณสามารถตรวจสอบได้อย่างง่ายดายว่าเป็นปัจจัย) นั่นหมายความว่าสามารถถอดรหัสได้โดยใช้คอมพิวเตอร์คลาสสิคโดยผู้รับที่ถูกต้อง


4

มีคำจำกัดความหรือทฤษฎีบทเกี่ยวกับสิ่งที่คอมพิวเตอร์ควอนตัมสามารถทำได้จากรูปแบบการเข้ารหัสลับควอนตัมที่โพสต์ (เช่นการเข้ารหัสลับตาข่าย แต่ไม่ใช่การเข้ารหัสควอนตัม) สามารถพิสูจน์ความปลอดภัยของพวกเขา?

ไม่เพียงเพราะแผนการเข้ารหัสลับโพสต์ควอนตัมของคุณทำงานในวันนี้ไม่ได้หมายความว่า Peter Shor จะไม่พบอัลกอริธึมเชิงควอนตัมที่จะทำลายมันในวันพรุ่งนี้ "

ฉันรู้ว่าฟังก์ชั่นค้นหาระยะเวลามีความสามารถในการทำลาย RSA และบันทึกที่ไม่ต่อเนื่อง แต่เป็นอัลกอริธึมเดียวที่เกี่ยวข้องกับการทำลายรูปแบบการเข้ารหัสหรือไม่

เลขที่ตัวอย่างของขั้นตอนวิธีการอีกอย่างก็คืออัลกอริทึมของโกรเวอร์ซึ่งมีความเกี่ยวข้องกับ cryptosystems หมดขึ้นอยู่กับลอการิทึมปัญหาล่วงพ้น

ฉันสามารถพูดได้หรือไม่ว่าถ้ารูปแบบไม่ไวต่อฟังก์ชั่นค้นหาระยะเวลามันไม่ไวต่อการคำนวณควอนตัม?

ไม่ Schemes จากปัญหาลอการิทึมล่วงพ้นไม่ไวต่อการค้นหาระยะเวลา แต่มีความไวต่อการเพิ่มความเร็วควอนตัม

ถ้าไม่มีคำสั่งทางเลือกที่คล้ายกันของแบบฟอร์ม "หากรูปแบบการเข้ารหัสไม่สามารถทำลายด้วยอัลกอริธึม X จะไม่สามารถทำลายด้วยการคำนวณควอนตัม"

ไม่เราไม่ทราบว่าอัลกอริธึมควอนตัมทุกตัวในการดำรงอยู่ที่เป็นไปได้ แม้ว่ารูปแบบจะยืดหยุ่นต่อการค้นหาช่วงเวลาและอัลกอริทึมของ Grover แต่อาจเป็นไปได้ที่จะใช้คอมพิวเตอร์ควอนตัมเพื่อทำลายมันได้อย่างมีประสิทธิภาพมากกว่าคอมพิวเตอร์แบบดั้งเดิม เราอาจต้องทำให้ Peter Shor สนใจมากพอที่จะคิดรูปแบบการถอดรหัสควอนตัมที่ปรับปรุงแล้ว

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

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

นี่คือคำถามที่มีคำตอบใช่ :

เราสามารถทำอะไรได้บ้างเพื่อพิสูจน์ว่ารูปแบบการเข้ารหัสนั้นปลอดภัยกับคอมพิวเตอร์ควอนตัม

คำตอบ: พิสูจน์ว่าการถอดรหัสรหัสนั้นเป็นปัญหาที่สมบูรณ์แบบของ QMA หรือ QMA ปัญหาที่ยากของ QMA นั้นเป็นปัญหาที่ยากสำหรับคอมพิวเตอร์ควอนตัมในทางที่ปัญหาของ NP ยากสำหรับคอมพิวเตอร์แบบดั้งเดิม

นี่เป็นแรงบันดาลใจให้ฉันถามคำถามนี้ซึ่งฉันไม่รู้คำตอบ!


รวบรัดมากและตรงประเด็นโดยเฉพาะคำถามของคุณเป็นตัวหนา ฉันได้เรียนรู้จากคำถามที่เกี่ยวข้องที่คุณถาม แต่สำหรับข้อมูลเพิ่มเติมและความกระจ่างของคลาสความซับซ้อนที่เกี่ยวข้องฉันยอมรับคำตอบอื่น
โจเซฟจอห์นสตัน
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.