การคำนวณควอนตัมในที่สุดสามารถนำมาใช้เพื่อให้ทันสมัยวัน hashing เล็กน้อยที่จะทำลาย?


18

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

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


คำถามที่เกี่ยวข้อง แต่ไม่ซ้ำกัน: cs.stackexchange.com/questions/356/… (โปรดทราบว่าขณะนี้เราไม่มีอัลกอริทึมที่มีประสิทธิภาพสำหรับการแก้ปัญหา NP-hard กับคอมพิวเตอร์ควอนตัม)
Ken Li

คุณสามารถชี้ไปที่ผลลัพธ์ที่ทำให้คุณสงสัยได้หรือไม่? ทำไมควอนตัมบิตควรมีผลกระทบใด ๆ ในสถานการณ์นี้?
ราฟาเอล

คำตอบ:


13

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

นี่ไม่จำเป็นว่าเป็นกรณีสำหรับฟังก์ชันแฮช อันดับแรกเราต้องกำหนดความหมายของการแบ่งฟังก์ชันแฮช วิธีการหนึ่งที่จะทำลายมันเรียกว่าการโจมตีก่อนภาพ : คุณให้ฉันค่าแฮชและฉันต้องไปหาข้อความดังกล่าวว่า vการโจมตีอีกประการหนึ่งคือการโจมตีการปะทะกันในที่ที่คุณให้ฉันอะไรและฉันต้องการที่จะเกิดขึ้นกับสองข้อความที่แตกต่างกันที่มีกัญชาเดียวกัน(m_2) นี้จะง่ายกว่าการหา preimage เพราะฉันไม่ได้ผูกไว้กับที่เฉพาะเจาะจงวีvmhash(m)=vm1,m2hash(m1)=hash(m2)v

คอมพิวเตอร์ควอนตัมทำอะไรได้บ้าง ผลลัพธ์หลักคืออัลกอริธึมการค้นหาของ Grover : วิธีการสำหรับคอมพิวเตอร์ควอนตัมเพื่อค้นหาในฐานข้อมูลที่ไม่มีการเรียงขนาดกับเวลา (ในขณะที่คลาสสิกจะใช้เวลาที่คาดหวังของ )ยังไม่มีข้อความO(ยังไม่มีข้อความ)ยังไม่มีข้อความ/2

ด้วยอัลกอริทึมของโกรเวอร์หา preimage ของฟังก์ชันแฮชที่มีการส่งออกเป็น -bits ใช้เวลาเวลามากกว่าk)kO(2k/2)O(2k)

นี่เป็นปัญหาหรือไม่? ไม่จำเป็น. ฟังก์ชันแฮชได้รับการออกแบบในเวลานั้นถือเป็น "ปลอดภัย" (กล่าวอีกนัยหนึ่งผู้ออกแบบแฮชจะเป็นสองเท่าเสมอ ) นี่คือสาเหตุที่ขัดแย้งกับวันเกิดที่พบการปะทะกันเป็นไปได้กับเวลาโดยคอมพิวเตอร์คลาสสิก2k/2kO(2k/2)

สิ่งที่ดีเกี่ยวกับอัลกอริทึมของโกรเวอร์ว่ามันเป็นที่ดีที่สุด - ทุกควอนตัมขั้นตอนวิธีการอื่น ๆ เพื่อหาองค์ประกอบในฐานข้อมูลไม่ได้เรียงลำดับจะทำงานในเวลา{N})Ω(ยังไม่มีข้อความ)

คอมพิวเตอร์ควอนตัมสามารถโจมตีการชนกันได้ดีขึ้นหรือไม่ จริงๆแล้วฉันไม่แน่ใจเกี่ยวกับเรื่องนี้ อัลกอริทึมของโกรเวอร์สามารถขยายเช่นว่าถ้ามีรายการ (นั่นคือ preimages) เวลาที่จะหาคนที่จะลดลงไปT}) แต่สิ่งนี้ไม่ทำให้เกิดการชน - การเรียกใช้อัลกอริทึมอีกครั้งอาจส่งคืน preimage ในทางกลับกันถ้าเราเลือกโดยการสุ่มแล้วใช้อัลกอริทึมของโกรเวอร์อาจเป็นไปได้ว่ามันจะส่งคืนข้อความอื่น ฉันไม่แน่ใจว่าสิ่งนี้จะช่วยให้โจมตีได้ดีขึ้นหรือไม่เสื้อO(ยังไม่มีข้อความ/เสื้อ)ม.1

(วิธีนี้จะตอบคำถามทั่วไปมากขึ้นโดยไม่ จำกัด คอมพิวเตอร์ถึง 20 qubits ซึ่งจะไม่เพียงพอที่จะทำลายแฮช 1024 บิตปัจจุบัน)


nitpick: รันไทม์ของ GNFS นั้นเป็นเลขชี้กำลังย่อย
CodesInChaos

1

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

ดูที่นี่สำหรับคำตอบทางเทคนิคสำหรับคำถามเกี่ยวกับ Stack Overflow


2
AFAIK ดั้งเดิมที่เข้ารหัสลับแบบสมมาตรส่วนใหญ่จะยังคงปลอดภัยแม้ในขณะที่การคำนวณควอนตัมสามารถทำงานได้ มันลดความยาวของบล็อกหรือความยาวของคีย์ที่มีประสิทธิภาพในบางสถานการณ์ แต่ crypto primitives ที่มีระดับความปลอดภัยปัจจุบันที่ 256 บิตหรือมากกว่านั้นจะยังคงปลอดภัยเนื่องจากการทำงานของลำดับที่ 128 บิตนั้นเป็นไปไม่ได้ การใช้งานแบบอสมมาตรส่วนใหญ่ในปัจจุบันจะถูกทำลายอย่างสิ้นเชิง แต่ไม่ได้มีเพียง 20 qubits คุณจะต้องใช้เงินหลายพัน qubits
CodesInChaos
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.