Google DeepMind के मुताबिक, उसके दो AI एजेंटों ने मानव निगरानी और तय संसाधन सीमाओं के भीतर 1,024-बिट RSA से जुड़ी एक गणना 3 दिन और 22 घंटे में पूरी की। एजेंटों ने कोड लिखने और जांचने से लेकर वितरित कंप्यूटिंग कार्यों को चलाने तथा तकनीकी दिक्कतें सुलझाने तक का काम किया। इस दौरान शोधकर्ताओं ने करीब 20 संदेश भेजे, जिनमें से अधिकतर मंजूरी से जुड़े थे। प्रयोग दिखाता है कि एजेंट इंसानों की तय सीमाओं में जटिल कंप्यूटिंग कार्य कर सकते हैं; यह किसी नए सैद्धांतिक एल्गोरिदम को साबित नहीं करता और न ही व्यापक रूप से इस्तेमाल हो रहे RSA सिस्टम पर तत्काल खतरे का संकेत देता है।
पहले से हल की गई RSA हस्ताक्षर गणना
परीक्षण RSA डिजिटल हस्ताक्षरों पर केंद्रित था। एक सिम्युलेटेड हस्ताक्षर सेवा ने लक्ष्य चुने जाने से पहले करीब 4 अरब अग्रिम क्वेरी स्वीकार कीं। लक्ष्य तय होने के बाद सेवा ने क्वेरी लेना बंद कर दिया। इसके बाद एजेंटों ने बिना कोई और क्वेरी किए, नया हस्ताक्षर बनाने के लिए जरूरी गणितीय मूल की गणना की। इस प्रक्रिया में निजी कुंजी हासिल नहीं की गई।
DeepMind के शोधकर्ता पुषमीत ने 6 नवंबर को इस काम का विवरण दिया। शोधपत्र इसे एक बेंचमार्क उदाहरण की नियंत्रित वातावरण में की गई पुनरावृत्ति बताता है, जिसे पहले ही हल किया जा चुका था। इसमें यह भी कहा गया है कि नतीजा 2,048 बिट या उससे लंबी RSA कुंजियों का इस्तेमाल करने वाली तैनात क्रिप्टोग्राफिक प्रणालियों के लिए खतरा नहीं है।
CPU इस्तेमाल घटा, लेकिन तुलना पूरी तरह समान नहीं
शोधपत्र के अनुसार, इस गणना में 391 CPU कोर-वर्ष लगे। उसी उदाहरण और एल्गोरिदम पर पहले काम कर चुकी एक टीम ने करीब 1,380 कोर-वर्ष इस्तेमाल किए थे। प्रकाशित आंकड़ों के आधार पर यह लगभग 3.5 गुना कमी है। हालांकि, दोनों प्रयोगों में अलग-अलग हार्डवेयर इस्तेमाल हुआ था, इसलिए सीधी तुलना पूरी तरह समान आधार पर नहीं है। कोर-वर्ष का यह आंकड़ा कुल वित्तीय लागत भी नहीं बताता।
391 कोर-वर्ष के आंकड़े में GPU का काम और शुरुआती जांच व अभ्यास में लगे करीब 7.5 कोर-वर्ष शामिल नहीं हैं। प्रयोग के लिए करीब 330 घंटे का GPU समय भी रखा गया था, जिसमें से लगभग 100 घंटे सक्रिय रूप से इस्तेमाल हुए। DeepMind के मुताबिक, पहली पूर्ण-स्तरीय सिविंग प्रक्रिया शुरू होने से नतीजे के सत्यापन तक करीब 3.2 दिन लगे। सबसे अधिक इस्तेमाल के समय इस काम में लगभग 3,00,000 CPU कोर और 16 GPU लगे। शोधकर्ताओं ने पहले के उस प्रयोग की तुलना में, जिसमें कैलेंडर के हिसाब से करीब पांच महीने लगे थे, इस तेजी का मुख्य कारण समानांतर कंप्यूटिंग क्षमता को बताया।
एजेंटों ने काम बांटा, शोधकर्ताओं ने सीमाएं तय कीं
शोधकर्ताओं ने समस्या और उसके खास उदाहरण का चयन किया, हस्ताक्षर सेवा के लिए सीमाएं तय कीं और ऐसे कदमों से पहले शर्तों को मंजूरी दी जिन्हें वापस नहीं लिया जा सकता था। शोधपत्र के अनुसार, उन्होंने कोड नहीं लिखा, कंप्यूटिंग जॉब शुरू नहीं किए और न ही तकनीकी विफलताओं का निदान किया।
एक एजेंट ने प्रोग्राम लिखे और जांचे, वितरित जॉब चलाए तथा संचालन से जुड़ी दिक्कतें ठीक कीं। दूसरे, पर्यवेक्षण एजेंट ने डिजाइन, संसाधन बजट और जांचों पर नजर रखी। उसने रैखिक बीजगणित के चरण को तेज करने के लिए एक विशेष उप-एजेंट का भी इस्तेमाल किया। दोनों एजेंटों ने मिलकर करीब 33,500 लाइन कोड जोड़ीं, 336 वितरित प्रयोग चलाए और 218 संदेशों का आदान-प्रदान किया।
पहली बार निकाला गया गणितीय मूल गलत था, क्योंकि 32-बिट ऑफसेट में ओवरफ्लो हुआ था। शुद्धता जांच में गलती पकड़ में आ गई और एजेंटों ने अग्रिम हस्ताक्षर क्वेरी दोहराए बिना उसे पहचानकर ठीक किया। डिजाइन से सत्यापन तक पूरी प्रक्रिया में 3 दिन और 22 घंटे लगे। शोधकर्ताओं के करीब 20 संदेश और मंजूरी के चरण यह भी दिखाते हैं कि प्रयोग पूरी तरह बिना मानवीय निगरानी के नहीं हुआ।
नतीजा किसी नए एल्गोरिदम का प्रमाण नहीं
CPU इस्तेमाल में आई कमी मौजूदा एल्गोरिदम को लागू करने और चलाने के तरीके में सुधार से मिली। प्रयोग ने हस्ताक्षर तक अधिक सीमित पहुंच वाली परिस्थितियों के लिए कोई नया एल्गोरिदम प्रदर्शित नहीं किया।
“Fan Factories” पर एक अलग शोधपत्र का अनुमान है कि साझा शुरुआती गणना की लागत—जो एक सामान्य नंबर फील्ड सिव फैक्टराइजेशन के लगभग बराबर है—चुकाने के बाद, हर अतिरिक्त 1,024-बिट लक्ष्य की लागत मल्टीपल नंबर फील्ड सिव की तुलना में करीब 30 गुना कम हो सकती है। यह अभी केवल बड़े पैमाने के व्यवहार पर आधारित अनुमान है; अब तक कोई Fan Factory लागू नहीं की गई है।
वर्किंग पेपर में मुख्य मॉडलों के विशिष्ट नाम नहीं दिए गए हैं; उन्हें केवल A और B कहा गया है। इसमें सार्वजनिक कार्यान्वयन रिपॉजिटरी का लिंक भी नहीं है। इससे बाहरी शोधकर्ताओं के लिए मॉडलों की स्वतंत्र तुलना करना सीमित होता है। नतीजे का आकलन करते समय प्रकाशित CPU आंकड़े, GPU संसाधन और मानवीय मंजूरी की जरूरत—तीनों को ध्यान में रखना होगा।