RSA सिफर सेटिंग्स और संभावित परिणाम चुनना

कटौती के तहत, "खराब" आरएसए सिफर मापदंडों के चयन के उदाहरण वर्णित हैं।



हम पाठ्यपुस्तक के लेखकों को उद्धृत करते हैं "क्रिप्टोग्राफी के बुनियादी ढांचे" ए.पी. अल्फेरोव, ए। यू। जुबोव, ए.एस. कुज़मिन, ए.वी. चेरमुश्किन, मॉस्को। हेलिओस एआरवी, 2001, पृष्ठ 316 पर:



“यह नेटवर्क संवाददाताओं में से प्रत्येक के लिए RSA मॉड्यूल (संख्या n ) चुनने में सावधानी की आवश्यकता पर जोर दिया जाना चाहिए। इस संबंध में, निम्नलिखित कहा जा सकता है। पाठक स्वतंत्र रूप से यह सत्यापित कर सकता है कि तीन मान p , q या n (n) में से एक को जानकर, कोई भी RSA कुंजी को आसानी से खोज सकता है ... "



इस पाठ को पूरक करें। यदि आरएसए सिफर मॉड्यूल असफल रूप से चयनित है, जैसा कि नीचे दिए गए मैनुअल के उदाहरण में किया गया था, तो आप गुप्त कुंजी के बिना भी पाठ को डिक्रिप्ट कर सकते हैं, अर्थात। तीनों में से किसी का भी नाम नहीं है।



ऐसा करने के लिए, यह सिफर मॉड्यूल n , सिफर सार्वजनिक कुंजी द्वारा निर्दिष्ट सिफरटेक्स्ट के लिए पर्याप्त है और "बिना पढ़े" हमले के केवल तीन चरण करें। चौथे हमलावर कदम के बाद, यह स्थापित किया जाता है कि पिछले चरण में स्रोत कोड प्राप्त हुआ था, इसे पढ़ा जा सकता है। हम दिखाते हैं कि यह कितना आसान है।



सबसे पहले, हम खुद को उपरोक्त मैनुअल से 313-315 पृष्ठों के साथ उदाहरण देते हैं।



उदाहरण



लघु स्रोत पाठ संदेश एन्क्रिप्शन : आरएसए

प्राप्तकर्ता कोड को n = pq = 527 के साथ सेट करता है, जहां p = 17 , q = 31 और φ (n) = (p –1) (q - 1) = 480 होता है । एक सार्वजनिक कुंजी ई के रूप में, एक संख्या को चुना जाता है जो ) (n) , e = 7 से सहानुभूति है । इस संख्या के लिए, विस्तारित यूक्लिडियन एल्गोरिथ्म का उपयोग करते हुए, पूर्णांक u और v पाए जाते हैं जो कि संबंध e ∙ u + ∙ (n) = v = 1 को संतुष्ट करते हैं :



480 = 7 = 68 + 4,

7 = 4 = 1 + 3,

4 = 3 = 1 + 1,

1 = 4–3 = 1 = 4– (7–4 ∙ 1) 4 1 = 4 – 2–7 – 1 = (480–7) 68) – 2–7 ∙ 1 = 480 ∙ 2–7 ∙ 137,

v = 2, u = -137



चूंकि -137 then343 (mod480) , फिर d = 343



जाँच करें: 7 ∙ 343 = 2401≡1 (mod480)



एक पाठ संदेश अंतराल में निहित संख्याओं के अनुक्रम के रूप में प्रस्तुत किया जाता है [0, 526] । इसके लिए, R , S, और A अक्षर पांच अंकों के बाइनरी नंबर के साथ एन्कोडेड हैं। अंग्रेजी वर्णमाला में इन अक्षरों की क्रम संख्या उनके द्विआधारी प्रतिनिधित्व में उपयोग की जाती है:



आर = 18 10 = (10010) 2 , एस = 19 10 = (10011) 2 ,

A = 1 10 = (00001) 2



फिर RSA = (100101001100001) 2 । सीमित लंबाई के ब्लॉकों में पाठ को विभाजित करने से दो ब्लॉकों का दृश्य मिलता है: आरएसए = (100101001), (100001) = (एम 1 = 297, एम 2 = 33)



स्रोत पाठ M 1 = 297 , M 2 = 33 के खंड क्रमिक रूप से एन्क्रिप्ट किए गए हैं:

y 1 = e k ( 1 ) = 1 e 7297 7 (mod527) = 474



यहां उन्होंने इस तथ्य का लाभ उठाया कि:



297 7 = ((297 2 ) 3 ) 297 mod (mod527) = (200 3 (mod527) 297) (mod527) = 474

y 2 = e k ( 2 ) = M 2 e (33 7 (mod527) = 407



मूल के समान, सिफरटेक्स्ट दो ब्लॉकों के रूप में प्राप्त किया जाता है: 1 = 474 ; y = ४० 2



डिक्रिप्शन को क्रियाओं के अनुक्रम द्वारा दर्शाया जाता है D k (y i ) = (y i ) d = (y i ) 343 (mod 527) , i = 1,2



डी की शक्ति तक बढ़ाने की गणना बाहर ले जाने के लिए अधिक सुविधाजनक है, पहले संख्या 2 की शक्तियों के योग द्वारा प्रतिपादक का प्रतिनिधित्व करते हैं, अर्थात्: 343 = 256 + 64 + 16 + 4 + 2 + 1



घातांक d = 343 के इस प्रतिनिधित्व का उपयोग करते हुए, हम प्राप्त करते हैं:



474 2 4174 (mod527),

474 4 4237 (mod527),

474 8 4307 (mod527),

474 16 4443 (mod527),

474 32 4205 (mod527),

474 64 4392 (mod527),

474 128 4307 (mod527),

474,256 25443 (mod527),

और अंत में 474 343 (mod527) = (443 ∙ 392 ∙ 443 7 237 ∙ 174 ∙ 474) (mod527) = 297



मान 407 343 (mod527) = 33 की गणना उसी तरह की जाती है।



डिक्रिप्टेड संदेश के अल्फ़ाबेटिक प्रतिनिधित्व के लिए संक्रमण देता है: आरएसए



उदाहरण की जांच करने के बाद, मैनुअल आरएसए प्रणाली की स्थिरता पर चर्चा करता है। नेटवर्क संवाददाताओं में से प्रत्येक के लिए आरएसए सिफर मॉड्यूल (संख्या एन ) चुनने में सावधानी की आवश्यकता पर जोर दिया गया है। एन्क्रिप्शन प्रणाली की चयनित विशेषताओं के लिए आवश्यकताओं की अनदेखी की अक्षमता को इंगित करता है। ऐसी आवश्यकताओं के बीच, दुर्भाग्यवश, उल्लंघन का संकेत नहीं दिया जाता है, जिसमें दिए गए उदाहरण से पता चलता है।



RSA सिफर पर हमला



RSA साइफर पर हमले के एक उदाहरण पर विचार करें। हम प्रशिक्षण मैनुअल "फंडामेंटल ऑफ क्रिप्टोग्राफी" ए.पी. में पृष्ठ 313-315 पर दिए गए उदाहरण के डेटा का उपयोग करेंगे। अल्फेरोव, ए। यू। जुबोव, ए.एस. कुज़मिन, ए.वी. चेरमुश्किन, मॉस्को। हेलिओस एआरवी, 2001।



इस उदाहरण में चयनित सिस्टम मापदंडों की विफलता (अयोग्यता) आसानी से गणना द्वारा दिखाई जाती है जो स्रोत पाठ के बिना चाबी के पढ़ने के हमले को लागू करती है। इस तरह के हमले का सार इस प्रकार है। RSA सिफर सार्वजनिक कुंजी ( e = 7 , n = 527 ) और एन्क्रिप्टेड पाठ निर्दिष्ट हैं। उदाहरण में, सिफरटेक्स्ट को दो ब्लॉकों द्वारा दर्शाया गया है

y = (y 1 = 474, y 2 = 407)



प्रत्येक एन्क्रिप्टेड ब्लॉक पर व्यक्तिगत रूप से हमला किया जाता है, पहले हम 1 = 474 पर हमला करते हैं, डिक्रिप्शन के बाद, हम 2 = 407 पर दूसरे ब्लॉक पर हमला करते हैं।



फिर यह हमले के एल्गोरिथ्म के लगातार दो चरणों के परिणामों को बचाने और एक सार्वजनिक कुंजी का उपयोग करके, मौजूदा एन्क्रिप्ट किए गए पाठ के लिए i , 1 = y के लिए संख्यात्मक मानों के अनुक्रम का उपयोग करके दोहराया एन्क्रिप्शन द्वारा बनाया जाता है।



सिफरटेक्स्ट पर हमला करने के लिए एल्गोरिथ्म में, ऐसा चरण संख्या j निर्धारित किया जाता है जिसके लिए y i e j (mod n) = (y i e j - 1 (mod n)) e (mod n) = y i , i> 1 । पिछले संबंध से हम देखते हैं कि जब e की शक्ति को बढ़ाते हैं तो (y i e j - 1 (mod n)) , प्रारंभिक ciphertext y i = y 1 प्राप्त किया जाता है।



लेकिन इसका मतलब यह भी है कि इस कदम पर सादे पाठ को एन्क्रिप्ट किया गया था। प्रत्यक्ष गणना द्वारा (उनमें से बहुत कम हैं) ऑन-स्क्रीन कैलकुलेटर का उपयोग करके, हम उस मान का पता लगाते हैं जिस पर एन्क्रिप्शन चक्र मूल्य y 1 के साथ समाप्त होता है, जिसमें से चक्र शुरू किया गया था।



1 = 474 सिफरटेक्स्ट पर पहले ब्लॉक पर हमला।

चरण 1 : 474 7 (mod527) = 382 ;

चरण 2 : 382 7 (mod527) = 423 ;

चरण 3 : 423 7 (mod527) = 297 ;

चरण 4 : इस चरण पर, पहले से ही पाया गया स्रोत पाठ एन्क्रिप्ट किया गया है, लेकिन इसे पूरा किया जाना चाहिए क्योंकि हमलावर स्रोत पाठ को नहीं जानता है। हमले के पूरा होने का एक संकेत प्रारंभिक सिफरटेक्स्ट मूल्य ( 474 ) और 4 वें एन्क्रिप्शन कदम का परिणाम है। यह एक ऐसा संयोग है जो घटित होता है।



297 7 (mod527) = 474 को प्रारंभिक (पहला) सिफरटेक्स्ट ब्लॉक प्राप्त हुआ। पहले ब्लॉक पर हमला 1 = 474 पर सफलतापूर्वक पूरा हुआ। चरण 3 का पिछला परिणाम खुले पाठ M 1 = 297 के बराबर है।



आवश्यक रूप से, अवशेषों के रिंग मोडुलो एन = 527 में , अवशेषों आर = 297 मोडुलो एन = 527 के एक छोटे प्रसंस्करण चक्र का एहसास हुआ। इसे y i = y 1 = 297 लिखा जाता है। हम बिजली की कटौती करते हैं

((297 7 (mod527)) 7 (mod527)) 7 (mod527) 7 = 297



2 = 407 सिफरटेक्स्ट पर दूसरे ब्लॉक पर हमला।

चरण 1 : 407 7 (mod527) = 16 ;

चरण 2 : 16 7 (mod527) = 101 ;

चरण 3 : 101 7 (mod527) = 33 ;

चरण 4 : 33 7 (mod527) = 407



फिर से, तीसरे चरण में, स्रोत टेक्स्ट ब्लॉक प्राप्त हुआ ( एम 2 = 33 ), लेकिन यह हमलावर को ज्ञात नहीं है, और वह अगला (चौथा चरण) करता है, जिसके परिणाम ( 407 ) प्रारंभिक सिफरटेक्स्ट 2 = 407 से मेल खाते हैं।



आवश्यक रूप से, अवशेषों के रिंग मोडुलो एन = 527 में , अवशेषों आर = 33 मोडुलो एन = 527 के एक छोटे प्रसंस्करण चक्र का एहसास हुआ। इसे y i = y 2 = 33 लिखा जाता है।

हम पावर अवशेष ((33 7 (mod527)) 7 (mod527)) 7 (mod527) = 33 बनाते हैं



हमले का परिणाम (स्रोत पाठ एम 1 = 297 , एम 2 = 33 ) दिए गए सिफरटेक्स्ट के ट्रिपल एन्क्रिप्शन द्वारा प्राप्त किया गया था। एक हमलावर सिफरटेक्स्ट के लिए बड़ी सफलता की कल्पना करना मुश्किल है।



मॉड्यूल और सिफर के अन्य मापदंडों की पसंद की चर्चा जारी रखते हुए, हम यह जोड़ सकते हैं कि सिफर मॉड्यूल ( एन = 527 ) कुछ स्रोत ग्रंथों के एन्क्रिप्शन की अनुमति नहीं देता है। इसके अलावा, सार्वजनिक कुंजी के मूल्य का चुनाव बड़ी भूमिका नहीं निभाता है। स्रोत ग्रंथों के मूल्य हैं जो आमतौर पर मॉड्यूल n = 527 के साथ चयनित सिफर के साथ एन्क्रिप्ट करना असंभव है।



दिए गए ई में से कोई भी संख्याओं द्वारा प्रतिनिधित्व स्रोत कोड को एन्क्रिप्ट नहीं कर सकता है

187 , 341 , 154 और 373



उदाहरण (कुछ स्रोत ग्रंथों के मूल्यों को एन्क्रिप्ट करने की असंभवता)



स्रोत ग्रंथों को चार ब्लॉकों y = (y 1 = 154, y 2 = 187, y 3 = 341, y 4 = 373) द्वारा दर्शाया जाए। सिफर सार्वजनिक कुंजी का घातांक ईयूलर फंक्शन n (n) =) (527) = 480 के साथ कोई भी कॉपी नंबर हो सकता है। हालांकि, विचाराधीन मामले के लिए, सार्वजनिक कुंजी को मनमाने ढंग से सेट किया जा सकता है। वास्तव में, ई = 2, 4, 7, 9, 17, 111 तब:



154 2 (mod527) = 1 ;

154 4 (mod527) = 1 ;

154 7 (mod527) = 154 ;

154 9 (mod527) = 154 ;

154 17 (mod527) = 154 ;

154 111 (mod527) = 154 ;

187 2 (mod527) = 187 ;

187 4 (mod527) = 187 ;

187 7 (mod527) = 187 ;

187 9 (mod527) = 187 ;

187 17 (mod527) = 187 ;

187 111 (mod527) = 187 ;

341 2 (mod527) = 341 ;

341 4 (mod527) = 1 ;

341 7 (mod527) = 341 ;

341 9 (mod527) = 341 ;

341 17 (mod527) = 341 ;

341 111 (mod527) = 341 ;

373 2 (mod527) = 1 ;

373 4 (mod527) = 373 ;

373 7 (mod527) = 373 ;

373 9 (mod527) = 373 ;

373 17 (mod527) = 373 ;

373 111 (mod527) = 373



एक सरल निष्कर्ष माना जाता है उदाहरण से। दरअसल, एन्क्रिप्शन प्रक्रिया के लिए मापदंडों का चुनाव बहुत सावधानी से किया जाना चाहिए और इस तरह के मापदंडों का गहन प्रारंभिक विश्लेषण किया जाना चाहिए। यह कैसे किया जाए यह एक अलग मुद्दा है, और इसे इस काम के ढांचे में नहीं माना जाता है।



All Articles