क्वांटम कंप्यूटर कुछ मामलों के लिए शास्त्रीय कंप्यूटर पर कुछ लाभ हो सकता है। सबसे उल्लेखनीय उदाहरण शोर का एल्गोरिथ्म है जो बहुपद समय में बड़ी संख्या में कारक हो सकता है (जबकि शास्त्रीय रूप से, सबसे अच्छा ज्ञात एल्गोरिथ्म घातीय समय लगता है)। यह फैक्टराइजेशन की कठोरता के आधार पर आरएसए जैसी योजनाओं को पूरी तरह से तोड़ देता है।
जरूरी नहीं कि यह हैश फंक्शन के लिए हो। सबसे पहले, हमें यह परिभाषित करने की आवश्यकता है कि हैश फ़ंक्शन को तोड़ने का क्या मतलब है। एक तरह से यह तोड़ने के लिए कहा जाता है पूर्व छवि हमले : क्या आप मुझे हैश मान दे , और मैं एक संदेश को खोजने की जरूरत मीटर ऐसी है कि हैश ( मीटर ) = वी । एक और हमला टक्कर का हमला है , जिसमें आप मुझे कुछ नहीं देते हैं, और मुझे दो अलग-अलग संदेश m 1 , m 2 के साथ आने की जरूरत है , जिसमें एक ही हैश हैश ( m 1 ) = हैश ( m 2 )vmhash(m)=vm1,m2hash(m1)=hash(m2)। यह प्रीइमेज खोजने से ज्यादा आसान है, क्योंकि मैं किसी विशिष्ट से बाउंड नहीं हूं ।v
क्वांटम कंप्यूटर क्या कर सकते हैं? मुख्य परिणाम है ग्रोवर के खोज एल्गोरिदम : एक क्वांटम कंप्यूटर आकार की एक अवर्गीकृत डेटाबेस में खोज करने के लिए के लिए एक विधि समय के साथ हे ( √N(जबकि शास्त्रीय रूप से यहएन/2का अपेक्षित समय लगेगा)।O(N−−√)N/2
ग्रोवर के एल्गोरिथ्म के साथ, एक हैश फ़ंक्शन का एक प्राइमेज ढूंढ रहा है जिसका आउटपुट kbits है, O ( 2 k / 2 ) समय लेता है , बजाय O ( 2 k ) ।kO(2k/2)O(2k)
क्या यह एक समस्या है ? जरुरी नहीं। हैश फ़ंक्शन ऐसे डिज़ाइन किए जाते हैं कि को "सुरक्षित" माना जाता है (दूसरे शब्दों में, हैश डिज़ाइनर हमेशा डबल k )। यह जन्मदिन के विरोधाभास के कारण है जिसके साथ शास्त्रीय कंप्यूटर द्वारा समय O ( 2 k / 2 ) के साथ टकराव संभव है।2k/2kO(2k/2)
ग्रोवर एल्गोरिथ्म के बारे में अच्छी बात यह है कि यह इष्टतम है - हर दूसरे क्वांटम एल्गोरिथ्म समय में चलेंगे एक अवर्गीकृत डेटाबेस में एक तत्व खोजने के लिए ।Ω(N−−√)
क्या क्वांटम-कंप्यूटर बेहतर टक्कर के हमले कर सकते हैं ? वास्तव में मैं इसके बारे में निश्चित नहीं हूं। ग्रोवर के एल्गोरिथ्म को बढ़ाया जा सकता है, जैसे कि अगर कोई आइटम (जो कि पहले से हो), तो ओ को खोजने का समय कम हो जाता है ( be)t। लेकिन इससे कोई टकराव नहीं होता है - एल्गोरिथ्म को फिर से चलाने से वही प्रीइमेज वापस आ सकता है। दूसरी ओर, यदि हमयादृच्छिक परm1चुनते हैं, और फिर Grover के एल्गोरिथम का उपयोग करते हैं, तो यह संभव है कि यह एक अलग संदेश लौटाएगा। मुझे यकीन नहीं है कि यह बेहतर हमले देता है।O(N/t−−−−√)m1
(यह कंप्यूटर को 20 क्विट तक सीमित किए बिना अधिक सामान्य प्रश्न का उत्तर देता है, जो वर्तमान 1024-बिट राख को तोड़ने के लिए पर्याप्त नहीं होगा)।