Score:4

คุณสามารถเพิกเฉยต่อจำนวนขั้นตอนการประมวลผลควอนตัมที่จำเป็นสำหรับอัลกอริทึมของ Shor ได้หรือไม่?

ธง gs

คำตอบสำหรับคำถาม ความยาวของคีย์ RSA เทียบกับอัลกอริทึมของ Shor แนะนำว่าเช่น การเข้ารหัส RSA 2048 บิตจะถูกทำลายเล็กน้อยด้วยคอมพิวเตอร์ควอนตัม 4099 qubit โดยใช้อัลกอริทึมของ Shor (การใช้งานอัลกอริทึมที่รู้จักกันดีที่สุดซึ่งต้องใช้ 2n+3 qubits)

นี่เป็นเรื่องจริงเหรอ? หากฉันเข้าใจถูกต้อง จำนวนประตู (การดำเนินการควอนตัมเชิงตรรกะ) ที่จำเป็นจะอยู่ที่ประมาณ log(2^2048)^2Ãlog(log(2^2048))Ãlog(log(log(2^2048)) )) ซึ่งประมาณ 2.9Ã10â· เมื่อพิจารณาว่าแม้แต่คอมพิวเตอร์แบบคลาสสิกก็ไม่สามารถดำเนินการใด ๆ กับ 2.9Ã10â· เกตโดยใช้ข้อมูลอินพุตเพียงชิ้นเดียว มันไม่สมเหตุสมผลเลยที่จะสันนิษฐานว่าคอมพิวเตอร์ควอนตัมสามารถดำเนินการเกตจำนวนมากเช่นนี้ได้ในเรื่องไม่สำคัญ เวลา.

ฉันจะถือว่าสำหรับคอมพิวเตอร์ควอนตัมเพื่อดำเนินการขั้นตอนเดียวในการดำเนินการตามอัลกอริทึมของ Shor จะต้องผ่าน (เชิงตรรกะ) หนึ่งอินพุตผ่านประตูเหล่านั้นทั้งหมดซึ่งจะคล้ายกับคอมพิวเตอร์คลาสสิกที่เรียกใช้รหัสคอมพิวเตอร์มากพอที่จะส่งผ่านอินพุต 2048 บิตหนึ่งผ่าน 2.9Ã10â · ประตูเนื่องจากข้อมูลไม่สามารถเดินทางได้เร็วกว่าความเร็วแสง และประตูมีขนาดไม่เป็นศูนย์ สิ่งนี้ไม่สามารถเกิดขึ้นได้ในเวลาอันเล็กน้อย และถ้าคุณใช้โฟตอนเป็นคิวบิตในคอมพิวเตอร์ควอนตัม ความยาวคลื่นอาจกำหนดขนาดขั้นต่ำสำหรับเกทโดยไม่คำนึงถึงความสามารถในการผลิต

และถ้าคุณต้องการแก้ไขข้อผิดพลาดใดๆ ระหว่างประตู นั่นจะต้องใช้พื้นที่เพิ่มเติมและด้วยเหตุนี้จึงเพิ่มเวลาแฝงด้วย

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

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

us flag
ตามความเข้าใจของฉัน เราสามารถแก้ปัญหาเกี่ยวกับ 50 q-bits ไม่แม้แต่คำถามของรันไทม์ หากคุณค้นหา "ปัญหาการวัด" ในการแลกเปลี่ยนทางฟิสิกส์ คุณอาจสรุปได้ว่าแม้แต่คำจำกัดความของปัญหาก็อยู่ในแมวของชแรดิงเงอร์
jp flag
"แม้แต่คอมพิวเตอร์แบบคลาสสิกก็ไม่สามารถดำเนินการใด ๆ กับประตู 2.9Ã10â· โดยใช้ข้อมูลอินพุตชิ้นเดียว" อะไร ใช่ พวกเขาทำได้! ภายในไม่กี่มิลลิวินาที!
jp flag
บางทีคอมพิวเตอร์ควอนตัมตัวแรกที่ทำได้อาจไม่เร็วมาก ดังนั้นอาจใช้เวลาหนึ่งสัปดาห์หรือหนึ่งเดือนหรือหนึ่งปีแทนที่จะใช้เวลาไม่กี่มิลลิวินาที มันยังเร็วกว่า "ตลอดไป" มาก
gs flag
@ user253751 ฉันยอมรับว่าคอมพิวเตอร์สมัยใหม่สามารถดำเนินการกับ 2.9Ã10â· เกทได้ในเวลาอันสั้นโดยดำเนินการตามคำสั่งที่เพียงพอเป็นชุด สิ่งนี้ตามมาโดยตรงเนื่องจาก CPU สมัยใหม่สามารถทำงานได้ถึง 5Ã10â¹ คำสั่งต่อวินาทีต่อคอร์ ฉันหมายความว่าไม่มีคำสั่ง SIMD ที่สามารถรันด้วยเกทสูง (ทรานซิสเตอร์) ที่นับเป็นการดำเนินการเดียว ซึ่งหมายความว่าการดำเนินการแบบอนุกรมของการดำเนินการแต่ละรายการจะเป็นปัจจัยจำกัดที่สำคัญ
Score:3
ธง my

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

คุณเข้าใจผิดว่ากำลังวัดอะไรโดย 'การทำงานของประตู' คอมพิวเตอร์ควอนตัมจะไม่มี $2.9 \คูณ 10^7$ ประตู (และข้อมูลทั้งหมดถูกตั้งค่าผ่านชุดของประตูนั้นซ้ำ ๆ )

คอมพิวเตอร์ควอนตัมจะต้องดำเนินการทั้งหมดแทน $2.9 \คูณ 10^7$ การทำงานของประตู เห็นได้ชัดว่า ไม่จำเป็นต้องดำเนินการพร้อมกันทั้งหมด (และในความเป็นจริง ด้วย Shor's เราทำไม่ได้ เนื่องจากทฤษฎีบทที่ไม่มีการโคลนนิ่งห้ามไม่ให้สร้างสำเนาของ Qubits เพื่อส่งไปยังเกตอิสระ และด้วยเหตุผลเชิงปฏิบัติมากกว่านั้น อินพุตของการทำงานของเกตบางตัวขึ้นอยู่กับการทำงานของเกตก่อนหน้า)

สำหรับวิธีการเหล่านี้ $2.9 \คูณ 10^7$ การทำงานของเกทถูกแมปกับเกทฮาร์ดแวร์ เป็นไปได้ยากที่เราจะมี $2.9 \คูณ 10^7$ ประตูทางกายภาพ เกตของฮาร์ดแวร์บางตัวมีแนวโน้มที่จะถูกนำมาใช้ซ้ำหลายครั้งในระหว่างการคำนวณ (เช่นเดียวกับเมื่อคอมพิวเตอร์แบบดั้งเดิมดำเนินการกับ RSA เกตเดียวกันจะถูกใช้ซ้ำเพื่อใช้งานการดำเนินการคูณแบบโมดูลาร์ต่างๆ)

และถ้าคุณต้องการแก้ไขข้อผิดพลาดใดๆ ระหว่างประตู นั่นจะต้องใช้พื้นที่เพิ่มเติมและด้วยเหตุนี้จึงเพิ่มเวลาแฝงด้วย

ใช่ เรารู้; เดอะ $2.9 \คูณ 10^7$ รูปด้านบนแสดงถึงตรรกะของคิวบิต ซึ่งจะแปลเป็นจำนวนคิวบิตจริงที่มากขึ้น ขนาดของการเพิ่มขึ้นจะขึ้นอยู่กับโค้ดแก้ไขข้อผิดพลาดควอนตัมที่ใช้ (ซึ่งจะขึ้นอยู่กับอัตราข้อผิดพลาดที่แท้จริงของการดำเนินการคิวบิตจริง)

โดยเฉลี่ยแล้วคุณจะต้องเดาจำนวนเท่าใดสำหรับตัวเลขแฟคตอริ่งที่ใช้ใน RSA 2048 บิต

ด้วยความเป็นไปได้ที่สูงมาก หนึ่ง คอมพิวเตอร์ควอนตัมค้นหาคำสั่งของ $g$ โมดูโล $n$นั่นคือค่า $x$ ที่ไหน $g^x \equiv 1 \bmod n$. เว้นแต่คำสั่งของ $g$ ด้วยความเคารพทั้งคู่ $p$ และ $คิว$ (ปัจจัยสำคัญ) มีขนาดเล็กอย่างผิดปกติ (ซึ่งสามารถแสดงได้ว่าจะเกิดขึ้นด้วยความน่าจะเป็นเพียงเล็กน้อยเท่านั้น ถ้า $g$ ถูกสุ่มเลือก) ซึ่งค่าของ $x$ สามารถใช้เพื่อแยกตัวประกอบได้อย่างรวดเร็ว

gs flag
ข้อมูลเยี่ยม! ทั้งหมดนี้พอจะสรุปได้ดังนี้? เมื่อพิจารณาจากคอมพิวเตอร์ควอนตัมที่มี 4099 qubits คีย์ RSA 2048 บิตสามารถถูกทำลายได้ด้วยการดำเนินการเกต $2.9 \times 10^7$ และนั่นกำหนดเวลาการประมวลผลทั้งหมดที่จำเป็น เวลาผนังจริงที่ต้องการถูกกำหนดโดยความเร็วสัญญาณนาฬิกาคำสั่งเฉลี่ยที่มีประสิทธิภาพของคอมพิวเตอร์เครื่องนี้เพื่อดำเนินการเหล่านั้น
gs flag
ตาม https://quantumcomputing.stackexchange.com/a/2404/18991 ดูเหมือนว่าคอมพิวเตอร์ควอนตัมสามารถทำงานประมาณ 5M ต่อวินาที ดังนั้นเวลาในการประมวลผลทั้งหมดที่ต้องการจะอยู่ที่ประมาณ 6 วินาทีเท่านั้น! ดังนั้นหากจำนวนของ qubits สามารถเพิ่มขึ้นเป็นพันโดยไม่ทำให้การทำงานแต่ละอย่างช้าลง ความเร็วในการดำเนินการควรจะดีพอที่จะไม่เป็นปัจจัยจำกัดในทางปฏิบัติ

โพสต์คำตอบ

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