GOST 28147 89 के अनुसार क्रिप्टोग्राफ़िक रूपांतरण एल्गोरिदम। घरेलू डेटा एन्क्रिप्शन मानक। डेटा सरणी के लिए सिम्युलेटेड इंसर्ट का विकास

💖क्या आपको यह पसंद है?लिंक को अपने दोस्तों के साथ साझा करें

). साथ ही, रूसी मीडिया और रूसी उपयोगकर्ताओं के ब्लॉगों में, इस एल्गोरिदम के बारे में नोट्स की संख्या बढ़ रही है: दोनों विश्वसनीयता की अलग-अलग डिग्री के साथ रूसी मानक पर हमलों के परिणामों को कवर करते हैं, और इसकी परिचालन विशेषताओं के बारे में राय रखते हैं। इन नोट्स के लेखकों (और, परिणामस्वरूप, पाठकों) को अक्सर यह धारणा मिलती है कि घरेलू एन्क्रिप्शन एल्गोरिदम पुराना, धीमा है और इसमें कमजोरियां हैं जो इसे समान कुंजी लंबाई वाले विदेशी एन्क्रिप्शन एल्गोरिदम की तुलना में हमलों के लिए काफी अधिक संवेदनशील बनाती हैं। नोट्स की इस श्रृंखला के साथ हम आपको रूसी मानक के साथ वर्तमान स्थिति के बारे में सुलभ रूप में बताना चाहेंगे। पहला भाग अंतर्राष्ट्रीय क्रिप्टोग्राफ़िक समुदाय को ज्ञात GOST 28147-89 पर सभी हमलों और इसकी ताकत के वर्तमान आकलन को कवर करेगा। भविष्य के प्रकाशनों में, हम प्रभावी कार्यान्वयन की क्षमता के दृष्टिकोण से मानक के गुणों पर भी करीब से नज़र डालेंगे।

निकोलस कोर्टोइस - "महान और भयानक"

आइए निकोलस कोर्टोइस की गतिविधियों के बारे में एक कहानी से शुरू करें, जो रूसी ब्लॉक एन्क्रिप्शन मानक () को समर्पित कार्यों की एक पूरी श्रृंखला के लेखक हैं।

अक्टूबर 2010 में, अंतर्राष्ट्रीय मानक ISO/IEC 18033-3 में GOST 28147-89 एल्गोरिदम को शामिल करने पर विचार करने की प्रक्रिया शुरू हुई। पहले से ही मई 2011 में, प्रसिद्ध क्रिप्टोग्राफर निकोलस कोर्टोइस का एक लेख ePrint इलेक्ट्रॉनिक संग्रह पर दिखाई दिया, जो विश्व क्रिप्टोग्राफ़िक समुदाय से उनके प्रति बहुत अस्पष्ट रवैये से चिह्नित था। कोर्टोइस के प्रकाशन अवधारणाओं के हेरफेर का एक दुखद उदाहरण हैं, जो प्रश्न में वस्तु के किसी भी नए गुणों को प्रकट नहीं करता है, लेकिन सनसनी के दावे के साथ एक अक्षम वातावरण में इसके वास्तविक गुणों के बारे में गलत राय फैलाने के लिए उकसाता है।

बीजगणितीय विधि

कोर्टोइस का तर्क क्रिप्टोएनालिसिस विधियों के दो वर्गों के आसपास बनाया गया है: बीजगणितीय विधियां और विभेदक विधियां। आइए तरीकों की पहली श्रेणी को देखें।

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

कोर्टोइस द्वारा प्रयुक्त बीजगणितीय विधि को संक्षेप में इस प्रकार वर्णित किया जा सकता है। पहले चरण में, GOST 28147-89 के ऐसे गुणों का उपयोग एन्क्रिप्शन परिवर्तन के भाग के लिए एक निश्चित बिंदु के अस्तित्व के साथ-साथ तथाकथित प्रतिबिंब बिंदु के रूप में किया जाता है। इन गुणों के लिए धन्यवाद, पर्याप्त संख्या में प्लेनटेक्स्ट-सिफरटेक्स्ट जोड़ियों में से कई जोड़ियों का चयन किया जाता है, जिससे 32 पर नहीं, बल्कि केवल 8 राउंड में परिवर्तनों पर विचार करना संभव हो जाता है। दूसरा चरण यह है कि, पहले चरण में प्राप्त 8 राउंड परिवर्तनों के परिणामों के आधार पर, गैर-रेखीय समीकरणों की एक प्रणाली का निर्माण किया जाता है, जिसमें कुंजी बिट अज्ञात होते हैं। इसके बाद, इस प्रणाली को हल किया जाता है (यह सरल लगता है, लेकिन वास्तव में यह विधि का सबसे अधिक समय लेने वाला हिस्सा है, क्योंकि प्रणाली में गैर-रेखीय समीकरण होते हैं)।

जैसा कि ऊपर उल्लेख किया गया है, कार्य में कहीं भी कुंजी निर्धारित करने के दूसरे और मुख्य चरण की जटिलता का विस्तृत विवरण और विश्लेषण नहीं है। यह दूसरे चरण की जटिलता है जो संपूर्ण पद्धति की जटिलता को निर्धारित करती है। इसके बजाय, लेखक कुख्यात "तथ्य" प्रदान करता है जिसके आधार पर वह श्रम तीव्रता का अनुमान लगाता है। कहा जाता है कि ये "तथ्य" प्रायोगिक परिणामों पर आधारित हैं। कोर्टोइस के काम से "तथ्यों" का विश्लेषण घरेलू लेखकों के काम में दिया गया है। इस कार्य के लेखकों का कहना है कि बिना किसी सबूत के प्रस्तुत किए गए कोर्टोइस के कई "तथ्य" प्रयोगात्मक परीक्षण के दौरान झूठे पाए गए। लेख के लेखक आगे बढ़े और कोर्टोइस का अनुसरण करते हुए, अच्छी तरह से स्थापित एल्गोरिदम और अनुमानों का उपयोग करके दूसरे चरण की जटिलता का विश्लेषण किया। परिणामी जटिलता अनुमान प्रस्तुत हमले की पूर्ण अनुपयुक्तता को दर्शाता है। घरेलू लेखकों के अलावा, कोर्टोइस को अपने तरीकों के आकलन और औचित्य के साथ जो बड़ी समस्याएं हैं, उन्हें भी उदाहरण के लिए, काम में नोट किया गया था।

विभेदक विधि

आइए दूसरी कोर्टोइस विधि पर विचार करें, जो विभेदक क्रिप्टोएनालिसिस पर आधारित है।

विभेदक क्रिप्टोएनालिसिस की सामान्य विधि क्रिप्टोग्राफ़िक प्राइमेटिव्स में प्रयुक्त नॉनलाइनियर मैपिंग के गुणों के शोषण पर आधारित है, जो इन मैपिंग के इनपुट जोड़े और आउटपुट मानों के जोड़े के बीच अंतर के बीच निर्भरता पर कुंजी मूल्य के प्रभाव से जुड़ी है। . आइए हम ब्लॉक सिफर के क्रिप्टोग्राफ़िक विश्लेषण की विभेदक विधि के मुख्य विचार का वर्णन करें। आमतौर पर, ब्लॉक सिफर कई तथाकथित राउंड ट्रांसफॉर्मेशन का उपयोग करके इनपुट डेटा को चरणों में बदलते हैं, और प्रत्येक राउंड ट्रांसफॉर्मेशन पूरी कुंजी का उपयोग नहीं करता है, बल्कि इसका केवल कुछ हिस्सा उपयोग करता है। आइए थोड़ा "काटे गए" सिफर पर विचार करें, जो मूल सिफर से इस मायने में भिन्न है कि इसमें अंतिम दौर नहीं है। आइए मान लें कि यह स्थापित करना संभव हो गया है कि ऐसे "काटे गए" सिफर का उपयोग करके कुछ निश्चित स्थितियों में भिन्न दो प्लेनटेक्स्ट को एन्क्रिप्ट करने से संभवतः सिफरटेक्स्ट उत्पन्न होंगे जो कुछ निश्चित स्थितियों में भी भिन्न होंगे। यह संपत्ति दर्शाती है कि एक "छोटा" सिफर संभवतः कुछ प्लेनटेक्स्ट और उनके एन्क्रिप्शन के परिणामों के बीच एक निर्भरता छोड़ देता है। इस स्पष्ट दोष का उपयोग करके कुंजी के हिस्से को पुनर्प्राप्त करने के लिए, उस कुंजी पर पूर्व-चयनित प्लेनटेक्स्ट को एन्क्रिप्ट करने में सक्षम होना आवश्यक है जिसे हम पुनर्प्राप्त करना चाहते हैं (तथाकथित "चयनित प्लेनटेक्स्ट हमला")। "कुंजी खोलने" की प्रक्रिया की शुरुआत में, प्लेनटेक्स्ट के कई जोड़े यादृच्छिक रूप से उत्पन्न होते हैं, जो उन्हीं निश्चित स्थितियों में भिन्न होते हैं। सभी पाठ "पूर्ण" सिफर का उपयोग करके एन्क्रिप्ट किए गए हैं। परिणामी सिफरटेक्स्ट जोड़े का उपयोग उन कुंजी बिट्स को पुनर्प्राप्त करने के लिए किया जाता है जिनका उपयोग पिछले दौर के परिवर्तन में निम्नानुसार किया गया था। वांछित कुंजी बिट्स के कुछ यादृच्छिक रूप से चयनित मान का उपयोग करके, अंतिम दौर परिवर्तन के विपरीत एक परिवर्तन सभी सिफरटेक्स्ट पर लागू किया जाता है। वास्तव में, यदि हमने कुंजी बिट्स के वांछित मूल्य का अनुमान लगाया है, तो हमें "काटे गए" सिफर का परिणाम मिलेगा, और यदि हमने अनुमान नहीं लगाया है, तो हम वास्तव में "डेटा को और भी अधिक एन्क्रिप्ट करेंगे", जो केवल कम करेगा ऊपर उल्लिखित ब्लॉकों के बीच निर्भरता (अंतर कुछ निश्चित स्थितियों में है)। दूसरे शब्दों में, यदि सिफरटेक्स्ट के ऐसे "अतिरिक्त प्रसंस्करण" के परिणामों के बीच बहुत सारे जोड़े थे जो हमें ज्ञात निश्चित स्थितियों में भिन्न थे, तो इसका मतलब है कि हमने आवश्यक कुंजी बिट्स का अनुमान लगाया है। अन्यथा, ऐसे जोड़े काफी कम होंगे। चूँकि प्रत्येक राउंड में कुंजी का केवल एक भाग उपयोग किया जाता है, खोजे गए बिट्स (अर्थात, अंतिम राउंड में उपयोग किए गए कुंजी बिट्स) पूरी कुंजी के बिट्स जितने असंख्य नहीं होते हैं और ऊपर दिए गए चरणों को दोहराकर आसानी से पुनरावृत्त किया जा सकता है। . इस मामले में, हम निश्चित रूप से किसी दिन सही अर्थ पर ठोकर खाएंगे।

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

कोर्टोइस विभेदक विधि के थोड़े संशोधित संस्करण का उपयोग करता है। आइए हम तुरंत ध्यान दें कि कोर्टोइस एस-बॉक्स के लिए अपना विश्लेषण करता है जो मौजूदा और आईएसओ में प्रस्तावित से अलग हैं। कार्य कम संख्या में राउंड के लिए विभेदक विशेषताएँ (वे संख्याएँ जिनमें ब्लॉक भिन्न होने चाहिए) प्रदान करता है। विशेषताओं को अधिक राउंड तक विस्तारित करने का औचित्य, हमेशा की तरह, "तथ्यों" पर आधारित है। कोर्टोइस, फिर से, अपने अधिकार के अलावा और कुछ नहीं, एक असमर्थित धारणा व्यक्त करता है कि एस-बॉक्स बदलने से उसके हमले के खिलाफ GOST 28147-89 के प्रतिरोध पर कोई असर नहीं पड़ेगा (जबकि अज्ञात कारणों से, एस-बॉक्स पहले कार्य ड्राफ्ट से मानक आईएसओ/आईईसी 18033-3 को जोड़ने पर विचार नहीं किया गया)। लेख के लेखकों द्वारा किए गए विश्लेषण से पता चलता है कि भले ही हम कोर्टोइस के निराधार "तथ्यों" को विश्वास पर लेते हैं और अन्य एस-ब्लॉक के साथ GOST 28147-89 का विश्लेषण करते हैं, फिर भी हमला पूरी खोज से बेहतर नहीं होता है।

रूसी मानक के प्रतिरोध में कमी के बारे में सभी बयानों की निराधारता की विस्तृत पुष्टि के साथ कोर्टोइस के कार्यों का विस्तृत विश्लेषण कार्यों में किया गया था [,]।

साथ ही, कोर्टोइस स्वयं भी गणनाओं में सटीकता की पूर्ण कमी को स्वीकार करते हैं! निम्नलिखित स्लाइड एफएसई 2012 संक्षिप्त सूचना अनुभाग में कोर्टोइस की प्रस्तुति से ली गई है।

यह ध्यान दिया जाना चाहिए कि कोर्टोइस के काम की विदेशी शोधकर्ताओं द्वारा भी बार-बार आलोचना की गई है। उदाहरण के लिए, एक्सएसएल विधि का उपयोग करके एईएस ब्लॉक एन्क्रिप्शन एल्गोरिदम पर हमलों के निर्माण पर उनके काम में रूसी मानक के विश्लेषण पर काम के समान मूलभूत खामियां थीं: अधिकांश श्रम तीव्रता अनुमान पाठ में पूरी तरह से निराधार और अप्रमाणित दिखाई देते हैं - विस्तृत उदाहरण के लिए, आलोचना काम में पाई जा सकती है। इसके अलावा, कोर्टोइस ने स्वयं स्वीकार किया कि प्रमुख क्रिप्टोग्राफी सम्मेलनों और स्थापित सहकर्मी-समीक्षित पत्रिकाओं में उनके काम को प्रकाशित करने से व्यापक इनकार किया गया, जिससे अक्सर उन्हें केवल संक्षिप्त घोषणा अनुभाग में बोलने का अवसर मिलता था। उदाहरण के लिए, आप इसके बारे में कार्य के अनुभाग 3 में पढ़ सकते हैं। यहां उनके काम से संबंधित कोर्टोइस के कुछ उद्धरण दिए गए हैं:

  • "मुझे लगता है कि एशियाक्रिप्ट के दर्शकों को यह दिलचस्प नहीं लगेगा।" एशियाक्रिप्ट 2011 समीक्षक।
  • "... एक बड़ी, बड़ी, बड़ी समस्या है: यह हमला, जो कि पेपर का मुख्य योगदान है, पहले ही FSE'11 में प्रकाशित हो चुका है (यह सबसे अच्छा पेपर भी था), ..."। क्रिप्टो 2011 के लिए समीक्षक।

इस प्रकार, अंतरराष्ट्रीय क्रिप्टोग्राफ़िक समुदाय का पेशेवर हिस्सा कोर्टोइस के काम की गुणवत्ता को 2,100 के लिए एईएस को क्रैक करने की उनकी क्षमता के बारे में कुछ रूसी विशेषज्ञों के बयानों से कम संदेह के साथ मानता है, जो किसी भी सुसंगत गणना द्वारा पुष्टि नहीं की जाती है, या जटिलता वर्ग पी और एनपी की असमानता पर दो पेज की परिकल्पना का नवीनतम "सबूत"।

इसोबे और दीनूर-डैंकेलमैन-शमीर द्वारा हमले

इसोबे () और दीनूर-डैंकेलमैन-शमीर हमलों (इसके बाद: डीडीएस हमला) () का सामान्य विचार प्लेनटेक्स्ट के एक निश्चित (कुंजी-निर्भर) संकीर्ण सेट के लिए इस सेट पर एक समतुल्य परिवर्तन का निर्माण करना है, जिसमें ए एन्क्रिप्शन परिवर्तन की तुलना में संरचना सरल है। इसोबे विधि के मामले में, यह 64-बिट ब्लॉक x का सेट है जैसे कि F 8 -1 (स्वैप(F 8 (z))) = z, जहां z = F 16 (x), F 8 के माध्यम से ( x) और F 16 ( x) क्रमशः GOST 28147-89 एन्क्रिप्शन के पहले 8 और पहले 16 राउंड को स्वैप के माध्यम से इंगित करते हैं - 64-बाइट शब्द के आधे हिस्से को स्वैप करने का संचालन। यदि इस सेट में प्लेनटेक्स्ट को शामिल किया जाता है, तो GOST 28147-89 के पूर्ण 32-राउंड परिवर्तन का परिणाम 16-राउंड वाले परिवर्तन के परिणाम के साथ मेल खाता है, जिसका उपयोग हमले के लेखक ने किया है। डीडीएस विधि के मामले में, यह x का सेट है जैसे कि F 8 (x) = x (परिवर्तन का निश्चित बिंदु F 8)। इस सेट से किसी भी सादे पाठ के लिए, GOST 28147-89 परिवर्तन बिल्कुल इसके पिछले 8 राउंड के समान ही काम करता है, जो विश्लेषण को सरल बनाता है।

इसोबे हमले की जटिलता 2,224 एन्क्रिप्शन ऑपरेशन है, डीडीएस हमले की जटिलता 2,192 है। हालाँकि, इस बारे में सभी प्रश्न कि क्या इसोबे और डीडीएस हमले हमारे एल्गोरिदम का उपयोग करने की शर्तों पर नए प्रतिबंध लगाते हैं, प्रत्येक हमले को अंजाम देने के लिए आवश्यक सामग्री की मात्रा की आवश्यकताओं का आकलन करके हटा दिए जाते हैं: इसोबे विधि के लिए 2 32 जोड़े प्लेनटेक्स्ट की आवश्यकता होती है और सिफरटेक्स्ट, और डीडीएस विधि के लिए - 2 64। कुंजी को बदले बिना सामग्री की ऐसी मात्रा को संसाधित करना 64 की ब्लॉक लंबाई वाले किसी भी ब्लॉक सिफर के लिए एक प्राथमिकता अस्वीकार्य है: मात्रा 2 32 की सामग्री पर, जन्मदिन की समस्या को ध्यान में रखते हुए (उदाहरण के लिए देखें), घटना की संभावना दोहराए गए ब्लॉकों की संख्या 1/2 के करीब है, जो हमलावर को कुंजी का निर्धारण किए बिना सिफरटेक्स्ट से प्लेनटेक्स्ट के बारे में कुछ निष्कर्ष निकालने में सक्षम बनाएगी। एक कुंजी पर प्राप्त सादे और एन्क्रिप्टेड पाठों के 2 64 जोड़े की उपस्थिति वास्तव में दुश्मन को इस कुंजी को जाने बिना एन्क्रिप्शन और डिक्रिप्शन संचालन करने की अनुमति देती है। यह पूरी तरह से मिश्रित संपत्ति के कारण है: इस मामले में दुश्मन के पास संपूर्ण एन्क्रिप्शन रूपांतरण तालिका है। यह स्थिति किसी भी उचित परिचालन स्थिति के तहत बिल्कुल अस्वीकार्य है। उदाहरण के लिए, क्रिप्टोप्रो सीएसपी में एन्क्रिप्टेड सामग्री (कुंजी रूपांतरण के बिना) की मात्रा पर 4 एमबी की तकनीकी सीमा है (देखें)। इस प्रकार, ऐसी मात्रा की सामग्री पर एक कुंजी का उपयोग करने पर सख्त प्रतिबंध 64 बिट्स की ब्लॉक लंबाई वाले किसी भी ब्लॉक सिफर में निहित है, और इसलिए, आइसोब और डीडीएस हमले किसी भी तरह से GOST 28147-89 एल्गोरिथ्म के उपयोग के दायरे को सीमित नहीं करते हैं। 2,256 की अधिकतम संभव ताकत बनाए रखते हुए।

बेशक, यह ध्यान दिया जाना चाहिए कि शोधकर्ताओं (इसोबे और डिनूर-डैंकेलमैन-शमीर) ने दिखाया है कि GOST 28147-89 एल्गोरिदम के कुछ गुण उन विश्लेषण पथों को ढूंढना संभव बनाते हैं जिन्हें एल्गोरिदम के रचनाकारों द्वारा ध्यान में नहीं रखा गया था। कुंजी शेड्यूल का सरल रूप, जो प्रभावी कार्यान्वयन के निर्माण के कार्य को महत्वपूर्ण रूप से सरल बनाता है, एल्गोरिथ्म द्वारा उत्पादित परिवर्तनों के सरल विवरण बनाने के लिए कुंजी और प्लेनटेक्स्ट के कुछ दुर्लभ मामलों की भी अनुमति देता है।

कार्य दर्शाता है कि एल्गोरिदम की इस नकारात्मक संपत्ति को परिचालन विशेषताओं के पूर्ण संरक्षण के साथ आसानी से समाप्त किया जा सकता है, लेकिन, दुर्भाग्य से, यह आमतौर पर उपयोग किए जाने वाले रूप में एल्गोरिदम का एक अभिन्न अंग है।

ध्यान दें कि औसत श्रम तीव्रता के अनुमान में कुछ लापरवाही दिनूर, डंकलमैन और शमीर के काम में भी मौजूद है। इस प्रकार, किसी हमले का निर्माण करते समय, निम्नलिखित बिंदु पर उचित ध्यान नहीं दिया जाता है: कुंजियों के एक महत्वपूर्ण अनुपात के लिए, प्लेनटेक्स्ट x का सेट, जैसे कि F 8 (x) = x, खाली है: बस कोई निश्चित बिंदु नहीं हो सकता है परिवर्तन के 8 दौर के लिए. निश्चित बिंदुओं का अस्तित्व प्रतिस्थापन नोड्स की पसंद पर भी निर्भर करता है। इस प्रकार, हमला केवल कुछ प्रतिस्थापन नोड्स और कुंजियों के लिए लागू होता है।

यह GOST 28147-89 पर हमले के साथ एक और काम का उल्लेख करने योग्य भी है। फरवरी 2012 में, लेख का एक अद्यतन संस्करण (नवंबर 2011 दिनांकित) अंतर्राष्ट्रीय क्रिप्टोग्राफ़िक एसोसिएशन के ईप्रिंट इलेक्ट्रॉनिक संग्रह पर दिखाई दिया, जिसमें GOST 28147-89 पर एक नया हमला शामिल था। प्रस्तुत हमले की विशेषताएं इस प्रकार हैं: सामग्री की मात्रा 2 32 (इसोबे की तरह) है, और श्रम तीव्रता 2 192 (डीडीएस की तरह) है। इस प्रकार, इस हमले ने सामग्री की मात्रा के संदर्भ में समय-रिकॉर्ड डीडीएस हमले को 2 64 से 2 32 तक सुधार दिया। हम अलग से ध्यान दें कि लेखकों ने सामग्री की जटिलता और मात्रा के औचित्य के साथ सभी गणनाओं को ईमानदारी से प्रस्तुत किया। 9 महीनों के बाद, उपरोक्त गणनाओं में एक मूलभूत त्रुटि पाई गई, और नवंबर 2012 के बाद से, इलेक्ट्रॉनिक संग्रह में लेख के अद्यतन संस्करण में अब घरेलू एल्गोरिदम के संबंध में कोई परिणाम नहीं है।

यह मानकर हमला किया जाता है कि हमलावर चाबियों के बारे में "कुछ" जानता है

अंत में, हम ध्यान दें कि साहित्य में तथाकथित लिंक किए गए कुंजी मॉडल में GOST 28147-89 पर हमलों के लिए समर्पित कई कार्य भी हैं (उदाहरण के लिए देखें, और)। इस मॉडल में मूल रूप से यह धारणा शामिल है कि एक हमलावर न केवल वांछित कुंजी का उपयोग करके खुले और एन्क्रिप्ट किए गए पाठों के जोड़े तक विश्लेषण के लिए पहुंच प्राप्त कर सकता है, बल्कि वांछित कुंजी से भिन्न (अज्ञात भी) कुंजी का उपयोग करके प्राप्त खुले और एन्क्रिप्टेड पाठों के जोड़े तक भी पहुंच प्राप्त कर सकता है। ज्ञात नियमित तरीके से (उदाहरण के लिए, निश्चित बिट स्थिति में)। इस मॉडल में, GOST 28147-89 के बारे में दिलचस्प परिणाम प्राप्त करना वास्तव में संभव है, लेकिन इस मॉडल में, उदाहरण के लिए, एईएस मानक के बारे में कोई कम मजबूत परिणाम प्राप्त करना संभव नहीं है, जो आधुनिक सार्वजनिक नेटवर्क में सबसे व्यापक रूप से उपयोग किया जाता है ( उदाहरण के लिए देखें,)। ध्यान दें कि एक निश्चित प्रोटोकॉल में सिफर का उपयोग करते समय इस प्रकार के हमले को अंजाम देने की स्थितियाँ उत्पन्न होती हैं। यह ध्यान दिया जाना चाहिए कि इस प्रकार के परिणाम, हालांकि वे क्रिप्टोग्राफ़िक परिवर्तनों के गुणों के अध्ययन के दृष्टिकोण से निस्संदेह अकादमिक रुचि के हैं, वास्तव में अभ्यास के लिए प्रासंगिक नहीं हैं। उदाहरण के लिए, रूस के एफएसबी द्वारा प्रमाणित सभी क्रिप्टोग्राफ़िक सूचना सुरक्षा उपकरण एन्क्रिप्शन कुंजी पीढ़ी योजनाओं के लिए सख्त आवश्यकताओं को पूरा करते हैं (उदाहरण के लिए देखें)। जैसा कि विश्लेषण के परिणामों में संकेत दिया गया है, यदि 18 संबद्ध कुंजियाँ और 2 10 जोड़े प्लेनटेक्स्ट और सिफरटेक्स्ट ब्लॉक हैं, तो 1-10 -4 की सफलता की संभावना के साथ, निजी कुंजी को पूरी तरह से खोलने की जटिलता वास्तव में 2 26 है . हालाँकि, यदि मुख्य सामग्री के विकास के लिए उपर्युक्त आवश्यकताओं को पूरा किया जाता है, तो ऐसी कुंजियाँ खोजने की संभावना 2 -4352 है, अर्थात, यदि आप पहली कोशिश में गुप्त कुंजी का अनुमान लगाने की कोशिश करते हैं तो 24096 गुना कम है।

लिंक की गई कुंजियों वाले मॉडल से संबंधित कार्यों में वह कार्य भी शामिल है, जिसने 2010 में रूसी इलेक्ट्रॉनिक प्रकाशनों में बहुत शोर मचाया था, जो संवेदनाओं की दौड़ में सामग्री की सावधानीपूर्वक जांच करने की आदत से ग्रस्त नहीं हैं। इसमें प्रस्तुत परिणाम किसी भी कठोर औचित्य द्वारा समर्थित नहीं थे, लेकिन सेकंड के एक मामले में एक कमजोर लैपटॉप पर रूसी संघ के राज्य मानक को हैक करने की क्षमता के बारे में जोरदार बयान शामिल थे - सामान्य तौर पर, लेख सर्वोत्तम परंपराओं में लिखा गया था निकोलस कोर्टोइस का. लेकिन, वैज्ञानिक प्रकाशनों के बुनियादी सिद्धांतों से कमोबेश परिचित पाठक के लिए लेख की बिल्कुल स्पष्ट निराधारता के बावजूद, काम के बाद रूसी जनता को आश्वस्त करने के लिए रुडस्की ने एक विस्तृत और गहन पाठ लिखा जिसमें एक व्यापक विश्लेषण शामिल था। इस कमी का. स्व-व्याख्यात्मक शीर्षक वाला लेख "कार्य के शून्य व्यावहारिक महत्व पर" शून्य समय और मेमोरी के साथ पूर्ण GOST ब्लॉक सिफर पर कुंजी पुनर्प्राप्ति हमला "" यह औचित्य प्रदान करता है कि दी गई विधि की औसत जटिलता जटिलता से कम नहीं है पूरी खोज का.

सूखा अवशेष: व्यवहार में स्थायित्व क्या है?

अंत में, हम अंतरराष्ट्रीय क्रिप्टोग्राफ़िक समुदाय को ज्ञात GOST 28147-89 पर कड़ाई से वर्णित और उचित हमलों के सभी परिणामों पर डेटा युक्त एक तालिका प्रस्तुत करते हैं। ध्यान दें कि जटिलता GOST 28147-89 एल्गोरिदम के एन्क्रिप्शन संचालन में दी गई है, और मेमोरी और सामग्री एल्गोरिदम ब्लॉक (64 बिट्स = 8 बाइट्स) में इंगित की गई है।

आक्रमण करना श्रम तीव्रता याद आवश्यक सामग्री
इसोबे 2 224 2 64 2 32
दीनूर-डैंकेलमैन-शमीर, एफपी, 2डीएमआईटीएम 2 192 2 36 2 64
दीनूर-डैंकेलमैन-शमीर, एफपी, कम-याददाश्त 2 204 2 19 2 64
2 224 2 36 2 32
दीनूर-डैंकेलमैन-शमीर, प्रतिबिंब, 2DMitM 2 236 2 19 2 32
पूरी खोज 2 256 1 4
ब्रह्मांड के निर्माण के बाद से नैनोसेकंड की संख्या 2 89

GOST 28147-89 एल्गोरिदम के प्रतिरोध के क्षेत्र में अनुसंधान के काफी बड़े पैमाने पर चक्र के बावजूद, फिलहाल एक भी हमला ज्ञात नहीं है, जिसके कार्यान्वयन की शर्तें संबंधित परिचालन आवश्यकताओं के साथ प्राप्त की जा सकेंगी। 64 बिट्स की ब्लॉक लंबाई। सिफर मापदंडों (कुंजी बिट लंबाई, ब्लॉक बिट लंबाई) के परिणामस्वरूप एक कुंजी पर संसाधित की जा सकने वाली सामग्री की मात्रा पर प्रतिबंध किसी भी वर्तमान में ज्ञात हमले को अंजाम देने के लिए आवश्यक न्यूनतम मात्रा की तुलना में काफी सख्त हैं। नतीजतन, मौजूदा परिचालन आवश्यकताओं को पूरा करते समय, GOST 28147-89 में प्रस्तावित कोई भी क्रिप्टोएनालिसिस विधि संपूर्ण खोज से कम श्रम तीव्रता वाली कुंजी निर्धारित करने की अनुमति नहीं देती है।

हमारे देश में, कंप्यूटर नेटवर्क, व्यक्तिगत कंप्यूटिंग सिस्टम और कंप्यूटर में सूचना प्रसंस्करण प्रणालियों के लिए डेटा के क्रिप्टोग्राफ़िक प्रतिनिधित्व के लिए एक एकीकृत एल्गोरिदम स्थापित किया गया है, जो निर्धारित किया जाता है गोस्ट 28147-89.

यह क्रिप्टोग्राफ़िक डेटा रूपांतरण एल्गोरिदम 256-बिट कुंजी के साथ 64-बिट ब्लॉक एल्गोरिदम है, जो हार्डवेयर और सॉफ़्टवेयर कार्यान्वयन के लिए डिज़ाइन किया गया है, क्रिप्टोग्राफ़िक आवश्यकताओं को पूरा करता है और संरक्षित जानकारी की गोपनीयता की डिग्री पर प्रतिबंध नहीं लगाता है।

एल्गोरिदम का वर्णन करते समय, निम्नलिखित नोटेशन का उपयोग किया जाता है:

एल और आर - बिट अनुक्रम;
LR अनुक्रम L और R का संयोजन है, जिसमें अनुक्रम R के बिट अनुक्रम L के बिट्स का अनुसरण करते हैं;
(+) - बिटवाइज़ एडिशन मोडुलो 2 ("एक्सक्लूसिव OR" ऑपरेशन);
[+] - 32-बिट संख्याओं का जोड़ मॉड्यूलो 2 32;
(+) - 32-बिट संख्या मॉड्यूलो 2 32 -1 का जोड़।

संख्याओं का योग निम्नलिखित नियम के अनुसार किया जाता है:

ए [+] बी = ए + बी यदि ए + बी< 2 32 ,
ए [+] बी = ए + बी - 2 32 यदि ए + बी >= 2 32। ए (+) बी = ए + बी यदि ए + बी< 2^32 - 1, A {+} B = A + B - (2^32 - 1), если A + B >= 2^32 - 1.

एल्गोरिदम चार ऑपरेटिंग मोड प्रदान करता है:

किसी भी स्थिति में, डेटा को एन्क्रिप्ट करने के लिए 256-बिट कुंजी K का उपयोग किया जाता है, जिसे आठ 32-बिट उपकुंजियों K i के रूप में दर्शाया जाता है:

के = के 7 के 6 के 5 के 4 के 3 के 2 के 1 के 0।

डिक्रिप्शन एन्क्रिप्शन के समान कुंजी का उपयोग करके किया जाता है, लेकिन यह प्रक्रिया डेटा एन्क्रिप्शन प्रक्रिया के विपरीत है।

आसान प्रतिस्थापन मोड

सबसे पहला और आसान तरीका है प्रतिस्थापन. एन्क्रिप्ट किए जाने वाले डेटा को 64-बिट ब्लॉक में विभाजित किया गया है। खुले डेटा T 0 के एक ब्लॉक के लिए एन्क्रिप्शन प्रक्रिया में 32 चक्र (j=1...32) शामिल हैं।

ब्लॉक टी 0 को 32 बिट्स के दो अनुक्रमों में विभाजित किया गया है: बी(0)ए(0), जहां बी(0) बाएं या उच्च-क्रम वाले बिट हैं, ए(0) दाएं या निम्न-क्रम वाले बिट्स हैं।

ये क्रम पहले एन्क्रिप्शन चक्र की शुरुआत से पहले ड्राइव एन 1 और एन 2 में दर्ज किए जाते हैं।

64-बिट डेटा ब्लॉक के लिए एन्क्रिप्शन प्रक्रिया का पहला चक्र (j=1) निम्नलिखित सूत्रों द्वारा वर्णित है:

यहां i पुनरावृत्ति संख्या (i = 1, 2,..., 32) को दर्शाता है।

फ़ंक्शन f को एन्क्रिप्शन फ़ंक्शन कहा जाता है। इसका तर्क पिछले पुनरावृत्ति चरण में प्राप्त 32 संख्याओं ए(आई) और कुंजी संख्या एक्स(जे) का योग, मोडुलो 2 है (इनमें से प्रत्येक संख्या का आयाम 32 अंक है)।

एन्क्रिप्शन फ़ंक्शन में परिणामी 32-बिट योग पर दो ऑपरेशन शामिल होते हैं। पहले ऑपरेशन को K प्रतिस्थापन कहा जाता है। K प्रतिस्थापन ब्लॉक में 64 बिट्स की मेमोरी के साथ 8 प्रतिस्थापन नोड्स K(1) ... K(8) होते हैं। प्रतिस्थापन ब्लॉक पर पहुंचने वाले 32-बिट वेक्टर को 8 अनुक्रमिक 4-बिट वैक्टर में विभाजित किया गया है, जिनमें से प्रत्येक को संबंधित प्रतिस्थापन नोड द्वारा 4-बिट वेक्टर में परिवर्तित किया जाता है, जो कि रेंज 0 में 16 पूर्णांकों की एक तालिका है। .15.

इनपुट वेक्टर तालिका में एक पंक्ति का पता निर्दिष्ट करता है, एक संख्या जिसमें से आउटपुट वेक्टर होता है। 4-बिट आउटपुट वैक्टर को क्रमिक रूप से 32-बिट वेक्टर में संयोजित किया जाता है। प्रतिस्थापन ब्लॉक तालिका K में प्रमुख तत्व शामिल हैं जो कंप्यूटर नेटवर्क के लिए सामान्य हैं और शायद ही कभी बदले जाते हैं।

दूसरा ऑपरेशन K के प्रतिस्थापन के परिणामस्वरूप प्राप्त 32-बिट वेक्टर के बाईं ओर एक चक्रीय बदलाव है। एन्क्रिप्टेड डेटा T sh के 64-बिट ब्लॉक को T sh = A (32) B (32) के रूप में दर्शाया गया है।

सरल प्रतिस्थापन मोड में खुले डेटा के शेष ब्लॉक उसी तरह एन्क्रिप्ट किए गए हैं।

कृपया ध्यान दें कि सरल प्रतिस्थापन मोड का उपयोग केवल सीमित मामलों में डेटा एन्क्रिप्ट करने के लिए किया जा सकता है। इन मामलों में एक कुंजी उत्पन्न करना और संचार चैनलों पर प्रसारण या कंप्यूटर मेमोरी में भंडारण के लिए नकली सुरक्षा (झूठे डेटा लगाने के खिलाफ सुरक्षा) के प्रावधान के साथ इसे एन्क्रिप्ट करना शामिल है।

गामा मोड

खुला डेटा, 64-बिट ब्लॉक T(i) (i=1, 2,..., m, जहां m एन्क्रिप्टेड डेटा की मात्रा से निर्धारित होता है) में विभाजित है, गामा मोड में बिटवाइज़ जोड़ मॉड्यूलो 2 द्वारा एन्क्रिप्ट किया गया है गामा सिफर Гш, जो 64 बिट्स के ब्लॉक में निर्मित होता है, अर्थात, Гш = (Г(1),Г(2),...,Г(i),...,Г(m))।

गामा मोड में डेटा एन्क्रिप्शन समीकरण निम्नानुसार प्रस्तुत किया जा सकता है:

Ш(i) = A (Y(i-1) [+] C2, Z(i-1) (+) C1) (+) T(i) = Г(i) (+) T(i) .
यहाँ Ш(i) सिफरटेक्स्ट का 64-बिट ब्लॉक है,
ए - सरल प्रतिस्थापन मोड में एन्क्रिप्शन फ़ंक्शन (इस फ़ंक्शन के तर्क दो 32-बिट संख्याएं हैं),
C1 और C2 GOST 28147-89 में निर्दिष्ट स्थिरांक हैं,
Y(i) और Z(i) वे मात्राएँ हैं जो गामा के निम्न प्रकार बनते ही पुनरावृत्त रूप से निर्धारित होती हैं:
(Y(0), Z(0)) = A(S), जहां S एक 64-बिट बाइनरी अनुक्रम (सिंक संदेश) है;
(Y(i), Z(i)) = (Y(i-1) [+] C2, Z(i-1) (+) C1) i = 1, 2,...,m के लिए।

डेटा डिक्रिप्शन केवल एक सिंक्रोनाइज़ेशन संदेश की उपस्थिति में संभव है, जो सिफर का एक गुप्त तत्व नहीं है और इसे कंप्यूटर मेमोरी में संग्रहीत किया जा सकता है या एन्क्रिप्टेड डेटा के साथ संचार चैनलों पर प्रसारित किया जा सकता है।

फीडबैक के साथ गामा मोड

तरीका जुआफीडबैक के साथ गामा मोड के समान है। गामा मोड की तरह, खुला डेटा, 64-बिट ब्लॉक T(i) (i=1, 2,..., m, जहां m एन्क्रिप्टेड डेटा की मात्रा से निर्धारित होता है) में विभाजित है, बिटवाइज़ एडिशन मॉड्यूलो द्वारा एन्क्रिप्ट किया गया है 2 गामा सिफर जी श के साथ, जो 64 बिट्स के ब्लॉक में निर्मित होता है:

जी डब्ल्यू = (जी(1),जी(2),...,जी(आई),...,जी(एम)).

टी(एम) ब्लॉक में बाइनरी अंकों की संख्या 64 से कम हो सकती है, जबकि जी(एम) ब्लॉक से एन्क्रिप्शन के लिए उपयोग नहीं किए जाने वाले सिफर सरगम ​​के हिस्से को हटा दिया जाता है।

बंद-लूप गामा मोड में डेटा एन्क्रिप्शन समीकरण निम्नानुसार प्रस्तुत किया जा सकता है:


यहाँ Ш(i) सिफरटेक्स्ट का 64-बिट ब्लॉक है,
ए - सरल प्रतिस्थापन मोड में एन्क्रिप्शन फ़ंक्शन। पुनरावृत्त एल्गोरिदम के पहले चरण में फ़ंक्शन तर्क एक 64-बिट सिंक्रनाइज़ेशन संदेश है, और बाद के सभी चरणों में यह एन्क्रिप्टेड डेटा Ш(i-1) का पिछला ब्लॉक है।

नकली आवेषण का विकास

उत्पादन प्रक्रिया imitovstakiकिसी भी डेटा एन्क्रिप्शन मोड के लिए एक समान है।

नकली सम्मिलन पी बिट्स (नकली सम्मिलन आईआर) का एक ब्लॉक है, जो या तो पूरे संदेश को एन्क्रिप्ट करने से पहले या ब्लॉक-दर-ब्लॉक एन्क्रिप्शन के समानांतर उत्पन्न होता है। खुले डेटा के पहले ब्लॉक जो अनुकरणीय सम्मिलन की पीढ़ी में भाग लेते हैं, उनमें सेवा की जानकारी हो सकती है (उदाहरण के लिए, पता भाग, समय, सिंक्रनाइज़ेशन संदेश) और एन्क्रिप्टेड नहीं हैं। पैरामीटर p का मान (सिमुलेशन इंसर्ट में बाइनरी बिट्स की संख्या) क्रिप्टोग्राफ़िक आवश्यकताओं द्वारा निर्धारित किया जाता है, इस तथ्य को ध्यान में रखते हुए कि गलत हस्तक्षेप लगाने की संभावना 1/2^p के बराबर है।

सिम्युलेटेड इंसर्शन प्राप्त करने के लिए, खुले डेटा को 64-बिट ब्लॉक T(i) (i = 1, 2,..., m, जहां m एन्क्रिप्टेड डेटा की मात्रा द्वारा निर्धारित किया जाता है) के रूप में प्रस्तुत किया जाता है। सादे डेटा T(1) का पहला ब्लॉक सरल प्रतिस्थापन मोड में एन्क्रिप्शन एल्गोरिदम के पहले 16 चक्रों के अनुरूप परिवर्तन से गुजरता है। इसके अलावा, डेटा को एन्क्रिप्ट करने के लिए उपयोग की जाने वाली कुंजी का उपयोग अनुकरणीय प्रविष्टि उत्पन्न करने के लिए कुंजी के रूप में किया जाता है।

ऑपरेशन के 16 चक्रों के बाद प्राप्त 64-बिट संख्या को खुले डेटा टी (2) के दूसरे ब्लॉक के साथ मॉड्यूलो 2 में जोड़ा जाता है। सारांश का परिणाम फिर से सरल प्रतिस्थापन मोड में एन्क्रिप्शन एल्गोरिदम के पहले 16 चक्रों के अनुरूप परिवर्तन के अधीन है। परिणामी 64-बिट संख्या को खुले डेटा टी (3), आदि के तीसरे ब्लॉक के साथ मॉड्यूलो 2 में संक्षेपित किया गया है। अंतिम ब्लॉक टी(एम), यदि आवश्यक हो, शून्य के साथ पूर्ण 64-बिट ब्लॉक में जोड़ा गया है, तो चरण एम-1 पर कार्य के परिणाम के साथ मॉड्यूलो 2 को सारांशित किया जाता है, जिसके बाद इसे पहले की तुलना में सरल प्रतिस्थापन मोड में एन्क्रिप्ट किया जाता है। एल्गोरिथम के 16 चक्र। परिणामी 64-बिट संख्या से, लंबाई पी बिट्स का एक खंड आईपी चुना जाता है।

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

डीईएस, घरेलू एन्क्रिप्शन मानक, सॉफ्टवेयर कार्यान्वयन के लिए अधिक सुविधाजनक है।

अमेरिकी डीईएस के विपरीत, घरेलू मानक एक लंबी कुंजी - 256 बिट्स का उपयोग करता है। इसके अलावा, रूसी मानक एन्क्रिप्शन के 32 राउंड का उपयोग करने का सुझाव देता है, जबकि डीईएस को केवल 16 की आवश्यकता होती है।

इस प्रकार, GOST 28147-89 क्रिप्टोग्राफ़िक डेटा ट्रांसफ़ॉर्मेशन एल्गोरिदम के मुख्य पैरामीटर इस प्रकार हैं: ब्लॉक आकार 64 बिट्स है, कुंजी आकार 256 बिट्स है, राउंड की संख्या 32 है।

एल्गोरिथम एक शास्त्रीय फ़ीशटेल नेटवर्क है। एन्क्रिप्टेड डेटा ब्लॉक को दो समान भागों में विभाजित किया गया है, दायां आर और बायां एल। दायां हिस्सा राउंड उपकुंजी में जोड़ा जाता है और, कुछ एल्गोरिदम का उपयोग करके, बाएं हिस्से को एन्क्रिप्ट करता है। अगले दौर से पहले, बाएँ और दाएँ भागों की अदला-बदली की जाती है। यह संरचना किसी ब्लॉक के एन्क्रिप्शन और डिक्रिप्शन दोनों के लिए समान एल्गोरिदम का उपयोग करने की अनुमति देती है।

एन्क्रिप्शन एल्गोरिथ्म निम्नलिखित परिचालनों का उपयोग करता है:

  • शब्दों का जोड़ मॉड्यूलो 2 32;
  • बिट्स की निर्दिष्ट संख्या द्वारा शब्द को चक्रीय रूप से बाईं ओर स्थानांतरित करें;
  • बिटवाइज़ जोड़ मॉड्यूलो 2;
  • तालिका के अनुसार प्रतिस्थापन.

GOST एल्गोरिदम के विभिन्न चरणों में, वे जिस डेटा पर काम करते हैं उसकी व्याख्या और उपयोग अलग-अलग तरीकों से किया जाता है। कुछ मामलों में, डेटा तत्वों को स्वतंत्र बिट्स के सरणियों के रूप में माना जाता है, अन्य मामलों में एक अहस्ताक्षरित पूर्णांक के रूप में, अन्य में कई सरल तत्वों से युक्त एक संरचित जटिल तत्व के रूप में।

गोल संरचना GOST 28147-89

GOST 28147-89 के एक दौर की संरचना चित्र में दिखाई गई है। 5.1.

एन्क्रिप्टेड डेटा ब्लॉक को दो भागों में विभाजित किया गया है, जिन्हें फिर अलग-अलग 32-बिट अहस्ताक्षरित पूर्णांक के रूप में संसाधित किया जाता है। सबसे पहले, ब्लॉक के दाहिने आधे हिस्से और राउंड की उपकुंजी को मॉड्यूलो 2 32 जोड़ा जाता है। फिर ब्लॉक-दर-ब्लॉक प्रतिस्थापन किया जाता है। पिछले चरण में प्राप्त 32-बिट मान (चलिए इसे एस कहते हैं) को आठ 4-बिट कोड ब्लॉक की एक सरणी के रूप में समझा जाता है: एस=(एस 0, एस 1, एस 2, एस 3, एस 4, एस 5, एस 6, एस 7). इसके बाद, आठ ब्लॉकों में से प्रत्येक का मान एक नए से बदल दिया जाता है, जिसे प्रतिस्थापन तालिका से निम्नानुसार चुना जाता है: ब्लॉक एस आई का मान क्रम में एस आई -वें तत्व द्वारा प्रतिस्थापित किया जाता है (शून्य से क्रमांकन) आई-वें प्रतिस्थापन नोड (यानी, आई-वें पंक्ति प्रतिस्थापन टेबल, स्क्रैच से नंबरिंग भी)। दूसरे शब्दों में, प्रतिस्थापित किए जा रहे ब्लॉक की संख्या के बराबर पंक्ति संख्या वाला एक तत्व और 4-बिट गैर-नकारात्मक पूर्णांक के रूप में प्रतिस्थापित किए जा रहे ब्लॉक के मान के बराबर कॉलम संख्या वाले तत्व को मान के प्रतिस्थापन के रूप में चुना जाता है। द ब्लॉक। प्रतिस्थापन तालिका की प्रत्येक पंक्ति में पुनरावृत्ति के बिना यादृच्छिक क्रम में 0 से 15 तक संख्याएँ होती हैं। प्रतिस्थापन तालिका तत्वों का मान 0 से 15 तक लिया जाता है, क्योंकि प्रतिस्थापित किए गए चार बिट्स में 0 से 15 की सीमा में एक अहस्ताक्षरित पूर्णांक हो सकता है। उदाहरण के लिए, एस-बॉक्स की पहली पंक्ति में निम्नलिखित मान हो सकते हैं: 5, 8, 1, 13, 10, 3, 4, 2, 14, 15, 12, 7, 6, 0, 9, 11 . इस स्थिति में, ब्लॉक S 0 का मान (32-बिट संख्या S के चार सबसे कम महत्वपूर्ण बिट्स) को उस स्थान पर संख्या से प्रतिस्थापित किया जाएगा जिसकी संख्या प्रतिस्थापित किए जा रहे ब्लॉक के मान के बराबर है। यदि S 0 = 0, तो इसे 5 से प्रतिस्थापित किया जाएगा, यदि S 0 = 1, तो इसे 8 से प्रतिस्थापित किया जाएगा, आदि।


चावल। 5.1.

प्रतिस्थापन किए जाने के बाद, सभी 4-बिट ब्लॉक को फिर से एक 32-बिट शब्द में संयोजित किया जाता है, जिसे फिर बाईं ओर 11 बिट घुमाया जाता है। अंत में, बिटवाइज़ ऑपरेशन का उपयोग करना "योग मोडुलो 2"परिणाम को बाएँ आधे भाग के साथ जोड़ दिया जाता है, जिसके परिणामस्वरूप R i का एक नया दायाँ आधा भाग बनता है। नया बाईं ओर L i को परिवर्तित ब्लॉक के निचले भाग के बराबर लिया जाता है: L i = R i-1।

परिवर्तित ब्लॉक के परिणामी मूल्य को एन्क्रिप्शन एल्गोरिदम के एक दौर का परिणाम माना जाता है।

एन्क्रिप्शन और डिक्रिप्शन प्रक्रियाएँ

इसलिए, GOST 28147-89 एक ब्लॉक सिफर है डेटा रूपांतरणतथाकथित में ब्लॉकों में किया गया बुनियादी चक्र. बेसिक लूप में मुख्य राउंड का बार-बार निष्पादन शामिल होता है, जिस पर हमने डेटा ब्लॉक के लिए पहले चर्चा की थी, जिसमें विभिन्न प्रमुख तत्वों का उपयोग किया जाता है और मुख्य तत्वों का उपयोग करने के क्रम में एक दूसरे से भिन्न होते हैं। प्रत्येक राउंड आठ संभावित 32-बिट उपकुंजियों में से एक का उपयोग करता है।

आइए गोल उपकुंजियाँ बनाने की प्रक्रिया पर नजर डालें। GOST में यह प्रक्रिया बहुत सरल है, विशेषकर DES की तुलना में। 256-बिट कुंजी K को आठ 32-बिट उपकुंजियों में विभाजित किया गया है, जिन्हें K0, K1, K2,K3, K4, K5, K6, K7 दर्शाया गया है। एल्गोरिदम में 32 राउंड शामिल हैं, इसलिए एन्क्रिप्शन के दौरान प्रत्येक उपकुंजी का उपयोग तालिका 5.1 में प्रस्तुत अनुक्रम में चार राउंड में किया जाता है।

तालिका 5.1. एन्क्रिप्शन के दौरान उपकुंजियों का उपयोग करने का क्रम
गोल 1 2 3 4 5 6 7 8
पूर्ण निर्माण के 0 क 1 K2 क 3 क 4 K5 के 6 के 7
गोल 9 10 11 12 13 14 15 16
पूर्ण निर्माण के 0 क 1 K2 क 3 क 4 K5 के 6 के 7
गोल 17 18 19 20 21 22 23 24
पूर्ण निर्माण के 0 क 1 K2 क 3 क 4 K5 के 6 के 7
गोल 25 26 27 28 29 30 31 32
पूर्ण निर्माण के 7 के 6 K5 क 4 क 3 K2 क 1 के 0

डिक्रिप्शन प्रक्रिया एन्क्रिप्शन के समान एल्गोरिदम का उपयोग करके की जाती है। एकमात्र अंतर K i उपकुंजियों के उपयोग के क्रम में है। डिक्रिप्ट करते समय, उपकुंजियों का उपयोग उल्टे क्रम में किया जाना चाहिए, जैसा कि इसमें दर्शाया गया है

सिफर का संक्षिप्त विवरण

GOST 28147-89 1990 में शुरू किया गया एक सोवियत और रूसी सममित एन्क्रिप्शन मानक है, जो एक CIS मानक भी है। पूरा नाम - “GOST 28147-89 सूचना प्रसंस्करण प्रणाली। क्रिप्टोग्राफ़िक सुरक्षा. क्रिप्टोग्राफ़िक रूपांतरण एल्गोरिदम।" ब्लॉक सिफर एल्गोरिदम. गामा एन्क्रिप्शन विधि का उपयोग करते समय, यह स्ट्रीम सिफर एल्गोरिदम के कार्य कर सकता है।

GOST 28147-89 256-बिट कुंजी और 32 रूपांतरण चक्रों वाला एक ब्लॉक सिफर है, जो 64-बिट ब्लॉक पर काम करता है। सिफर एल्गोरिथम का आधार फिस्टेल नेटवर्क है। GOST 28147-89 के अनुसार मूल एन्क्रिप्शन मोड सरल प्रतिस्थापन मोड है (अधिक जटिल गामा, फीडबैक के साथ गामा और सिम्युलेटेड इंसर्शन मोड भी परिभाषित हैं)।

एल्गोरिदम कैसे काम करता है

एल्गोरिथ्म मूलतः DES से भिन्न नहीं है। इसमें फिस्टेल योजना (चित्र 2.9.) के अनुसार एन्क्रिप्शन चक्र (उनमें से 32) भी शामिल हैं।

चावल। 2.9. GOST 28147-89 एल्गोरिथम के एन्क्रिप्शन राउंड।

उपकुंजियाँ उत्पन्न करने के लिए, मूल 256-बिट कुंजी को आठ 32-बिट ब्लॉकों में विभाजित किया गया है: k 1 ...k 8। कुंजियाँ k 9 ...k 24 कुंजियाँ k 1 ...k 8 की चक्रीय पुनरावृत्ति हैं (कम से कम महत्वपूर्ण से उच्चतम बिट्स तक क्रमांकित)। कुंजियाँ k 25 …k 32 कुंजियाँ k 1 …k 8 विपरीत क्रम में हैं।

एल्गोरिदम के सभी 32 राउंड को पूरा करने के बाद, ब्लॉक ए 33 और बी 33 को एक साथ चिपका दिया जाता है (ध्यान दें कि सबसे महत्वपूर्ण बिट ए 33 बन जाता है, और सबसे कम महत्वपूर्ण बिट - बी 33) - परिणाम एल्गोरिदम का परिणाम है।

समारोह एफ( मैं , मैं) की गणना निम्नानुसार की जाती है: ए आई और के आई को मॉड्यूलो 2 32 जोड़ा जाता है, फिर परिणाम को आठ 4-बिट अनुवर्ती में विभाजित किया जाता है, जिनमें से प्रत्येक का अपना इनपुट होता है प्रतिस्थापन तालिका नोड(बिट प्राथमिकता के आरोही क्रम में), नीचे कहा गया है एस ब्लॉक. GOST S-ब्लॉक की कुल संख्या आठ है, यानी अनुवर्ती संख्या के समान। प्रत्येक एस ब्लॉक 0 से 15 तक की संख्याओं का क्रमपरिवर्तन है। पहला 4-बिट अनुवर्ती पहले एस-बॉक्स के इनपुट पर जाता है, दूसरा - दूसरे के इनपुट पर, आदि। सभी आठ एस-बॉक्स के आउटपुट को संयुक्त किया जाता है एक 32-बिट शब्द, फिर पूरा शब्द 11 बिट्स द्वारा चक्रीय रूप से बाईं ओर (सबसे महत्वपूर्ण बिट्स की ओर) स्थानांतरित हो जाता है। सभी आठ एस-बॉक्स अलग-अलग हो सकते हैं। वास्तव में, वे अतिरिक्त मुख्य सामग्री हो सकते हैं, लेकिन अधिकतर वे उपयोगकर्ताओं के एक विशिष्ट समूह के लिए सामान्य स्कीमा पैरामीटर होते हैं। मानक का पाठ इंगित करता है कि प्रतिस्थापन इकाइयों (एस-ब्लॉक) को भरने की आपूर्ति निर्धारित तरीके से की जाती है, अर्थात। एल्गोरिदम डेवलपर. रूसी सीआईपीएफ डेवलपर्स का समुदाय इंटरनेट पर उपयोग किए जाने वाले प्रतिस्थापन नोड्स पर सहमत हो गया है।

डिक्रिप्शन एन्क्रिप्शन की तरह ही किया जाता है, लेकिन उपकुंजियों का क्रम k i उलटा होता है।

GOST 28147-89 एल्गोरिथम के ऑपरेटिंग मोड

GOST 28147-89 एल्गोरिदम में चार ऑपरेटिंग मोड हैं।

1. तरीकाआसान प्रतिस्थापनइनपुट डेटा के रूप में स्वीकार करता है जिसका आकार 64 बिट्स का गुणक है। एन्क्रिप्शन का परिणाम इनपुट टेक्स्ट है, जो "32-जेड" चक्र के साथ एन्क्रिप्शन के मामले में 64 बिट्स के ब्लॉक में परिवर्तित होता है, और "32-आर" चक्र के साथ डिक्रिप्शन के मामले में।

2. तरीकाजुआकिसी भी आकार के डेटा को इनपुट के रूप में स्वीकार करता है, साथ ही अतिरिक्त 64-बिट पैरामीटर भी स्वीकार करता है - सिंक संदेश. ऑपरेशन के दौरान, सिंक संदेश को "32-Z" चक्र में परिवर्तित किया जाता है, परिणाम को दो भागों में विभाजित किया जाता है। पहला भाग 1010101 16 के स्थिर मान के साथ मॉड्यूलो 2 32 जोड़ा गया है। यदि दूसरा भाग 2 32 -1 के बराबर है, तो इसका मान नहीं बदलता है, अन्यथा इसमें 1010104 16 के स्थिर मान के साथ मॉड्यूलो 2 32 -1 जोड़ा जाता है। दोनों परिवर्तित भागों को मिलाकर प्राप्त मूल्य, जिसे सिफर गामा कहा जाता है, "32-3" चक्र में प्रवेश करता है, इसका परिणाम इनपुट डेटा के 64-बिट ब्लॉक के साथ बिट मोडुलो 2 द्वारा जोड़ा जाता है। यदि बाद वाला 64 बिट से कम है, तो परिणामी मूल्य के अतिरिक्त बिट हटा दिए जाते हैं। परिणामी मान आउटपुट पर भेजा जाता है। यदि अभी भी आने वाला डेटा है, तो कार्रवाई दोहराई जाती है: 32-बिट भागों से बने ब्लॉक को भागों में परिवर्तित किया जाता है, और इसी तरह।

3. तरीकाफीडबैक के साथ जुआकिसी भी आकार के डेटा और सिंक्रोनाइज़ेशन संदेश को भी इनपुट के रूप में स्वीकार करता है। सिंक्रनाइज़ेशन संदेश के "32-3" चक्र में परिवर्तन के परिणाम के साथ इनपुट डेटा के ब्लॉक को बिट मोडुलो 2 द्वारा जोड़ा जाता है। परिणामी मान आउटपुट पर भेजा जाता है। सिंक संदेश का मान एन्क्रिप्शन के मामले में आउटपुट ब्लॉक द्वारा प्रतिस्थापित किया जाता है, और डिक्रिप्शन के मामले में - इनपुट ब्लॉक द्वारा, यानी एन्क्रिप्टेड द्वारा। यदि आने वाले डेटा का अंतिम ब्लॉक 64 बिट्स से कम है, तो गामा के अतिरिक्त बिट्स ("32-3" चक्र का आउटपुट) हटा दिए जाते हैं। यदि अभी भी आने वाला डेटा है, तो कार्रवाई दोहराई जाती है: प्रतिस्थापित मूल्य को एन्क्रिप्ट करने के परिणाम से, एक सिफर गामा बनता है, आदि।

4. उत्पादन मोडनकल सम्मिलित करता हैइनपुट डेटा के रूप में लेता है जो आकार में कम से कम दो पूर्ण 64-बिट ब्लॉक होता है और डेटा का 64-बिट ब्लॉक लौटाता है जिसे सिम्युलेटेड इंसर्ट कहा जाता है। अस्थायी 64-बिट मान 0 पर सेट है, फिर, जब तक इनपुट डेटा है, इसे "16-3" चक्र के परिणाम के साथ बिट मोडुलो 2 द्वारा जोड़ा जाता है, जिसका इनपुट इनपुट का एक ब्लॉक होता है डेटा। इनपुट डेटा समाप्त होने के बाद, अस्थायी मान परिणाम के रूप में लौटाया जाता है।

सिफर क्रिप्टोएनालिसिस

GOST 28147-89 सिफर 256-बिट कुंजी का उपयोग करता है और कुंजी स्थान का आयतन 2,256 है। वर्तमान में मौजूद किसी भी सामान्य प्रयोजन कंप्यूटर पर कई सैकड़ों वर्षों से कम समय में कुंजी नहीं मिल सकती है। रूसी मानक GOST 28147-89 को एक बड़े मार्जिन के साथ डिजाइन किया गया था और यह अमेरिकी डीईएस मानक की तुलना में कई गुना अधिक मजबूत है, इसका वास्तविक कुंजी आकार 56 बिट्स और कुंजी स्थान की मात्रा केवल 2 56 है।

बिना किसी संशोधन के फुल-राउंड GOST 28147-89 पर भी हमले होते हैं। एल्गोरिदम का विश्लेषण करने वाले पहले सार्वजनिक कार्यों में से एक कई प्रसिद्ध एन्क्रिप्शन एल्गोरिदम की प्रमुख विस्तार प्रक्रिया में कमजोरियों का फायदा उठाता है। विशेष रूप से, पूर्ण-राउंड GOST 28147-89 एल्गोरिदम को संबंधित कुंजियों पर अंतर क्रिप्टोएनालिसिस का उपयोग करके तोड़ा जा सकता है, लेकिन केवल तभी जब कमजोर प्रतिस्थापन तालिकाओं का उपयोग किया जाता है। एल्गोरिदम का 24-राउंड संस्करण (जिसमें पहले 8 राउंड गायब हैं) किसी भी प्रतिस्थापन तालिका के साथ इसी तरह से खोला जाता है, हालांकि, मजबूत प्रतिस्थापन तालिकाएं ऐसे हमले को पूरी तरह से अव्यवहारिक बनाती हैं।

घरेलू वैज्ञानिक ए.जी. रोस्तोवत्सेव और ई.बी. मखोवेंको ने 2001 में एक ज्ञात प्लेनटेक्स्ट, संबंधित सिफरटेक्स्ट और वांछित कुंजी मूल्य से एक उद्देश्य फ़ंक्शन बनाकर और कुंजी के वास्तविक मूल्य के अनुरूप इसके चरम को ढूंढकर क्रिप्टोएनालिसिस की एक मौलिक नई विधि का प्रस्ताव रखा। उन्हें GOST 28147-89 एल्गोरिदम की कमजोर कुंजियों का एक बड़ा वर्ग भी मिला, जो केवल 4 चयनित प्लेनटेक्स्ट और काफी कम जटिलता वाले संबंधित सिफरटेक्स्ट का उपयोग करके एल्गोरिदम को खोलना संभव बनाता है।

2004 में, कोरिया के विशेषज्ञों के एक समूह ने एक ऐसे हमले का प्रस्ताव रखा, जो संबंधित कुंजियों पर विभेदक क्रिप्टोएनालिसिस का उपयोग करके 91.7% की संभावना के साथ 12-बिट गुप्त कुंजी प्राप्त कर सकता है। हमले के लिए 2 35 चयनित प्लेनटेक्स्ट और 2 36 एन्क्रिप्शन ऑपरेशन की आवश्यकता होती है। जैसा कि आप देख सकते हैं, वास्तव में एल्गोरिदम को तोड़ने के लिए यह हमला व्यावहारिक रूप से बेकार है।

प्रतिस्थापन तालिका एक दीर्घकालिक कुंजी तत्व है, अर्थात यह एकल कुंजी की तुलना में बहुत लंबी अवधि के लिए वैध है। यह माना जाता है कि यह समान क्रिप्टोग्राफ़िक सुरक्षा प्रणाली के भीतर सभी एन्क्रिप्शन नोड्स के लिए सामान्य है। सिफर की गुणवत्ता इस तालिका की गुणवत्ता पर निर्भर करती है। एक "मजबूत" प्रतिस्थापन तालिका के साथ, सिफर की ताकत एक निश्चित स्वीकार्य सीमा से नीचे नहीं गिरती है, भले ही इससे समझौता किया गया हो। इसके विपरीत, "कमजोर" तालिका का उपयोग करने से सिफर की ताकत अस्वीकार्य रूप से कम सीमा तक कम हो सकती है। प्रतिस्थापन तालिका की गुणवत्ता के बारे में कोई जानकारी रूस के खुले प्रेस में प्रकाशित नहीं की गई है, लेकिन "कमजोर" तालिकाओं का अस्तित्व संदेह से परे है - एक उदाहरण एक "तुच्छ" प्रतिस्थापन तालिका है, जिसमें प्रत्येक मान को स्वयं द्वारा प्रतिस्थापित किया जाता है। कई कार्य गलती से यह निष्कर्ष निकालते हैं कि GOST 28147-89 एल्गोरिदम की गुप्त प्रतिस्थापन तालिकाएँ कुंजी का हिस्सा हो सकती हैं और इसकी प्रभावी लंबाई बढ़ा सकती हैं (जो महत्वपूर्ण नहीं है, क्योंकि एल्गोरिदम में बहुत बड़ी 256-बिट कुंजी है)।

GOST 28147-89 द्वारा परिभाषित एल्गोरिदम की एन्क्रिप्शन कुंजी लंबाई 256 बिट्स है। यह 64 बिट्स के ब्लॉक में जानकारी को एन्क्रिप्ट करता है (ऐसे एल्गोरिदम को ब्लॉक एल्गोरिदम कहा जाता है), जिन्हें बाद में 32 बिट्स (एन 1 और एन 2) के दो सबब्लॉक में विभाजित किया जाता है (चित्रा 1)। सबब्लॉक एन1 को एक निश्चित तरीके से संसाधित किया जाता है, जिसके बाद इसका मूल्य सबब्लॉक एन2 के मूल्य के साथ जोड़ा जाता है (जोड़ मॉड्यूलो 2 द्वारा किया जाता है, यानी, तार्किक एक्सओआर ऑपरेशन लागू किया जाता है - "अनन्य या"), और फिर सबब्लॉक की अदला-बदली की जाती है . यह परिवर्तन एल्गोरिथम के ऑपरेटिंग मोड के आधार पर एक निश्चित संख्या में ("राउंड"): 16 या 32 बार किया जाता है। प्रत्येक राउंड में दो ऑपरेशन किये जाते हैं।

चित्र 1. GOST 28147-89 एल्गोरिथम की योजना।

पहला है कुंजीयन. सबब्लॉक N1 की सामग्री को कुंजी Kx के 32-बिट भाग के साथ मॉड्यूलो 2 में जोड़ा जाता है। पूर्ण एन्क्रिप्शन कुंजी को 32-बिट उपकुंजियों के संयोजन के रूप में दर्शाया गया है: K0, K1, K2, K3, K4, K5, K6, K7। एन्क्रिप्शन प्रक्रिया के दौरान, राउंड संख्या और एल्गोरिदम के ऑपरेटिंग मोड के आधार पर, इन उपकुंजियों में से एक का उपयोग किया जाता है।

दूसरा ऑपरेशन टेबल रिप्लेसमेंट है। कुंजीयन के बाद, सबब्लॉक N1 को 4 बिट्स के 8 भागों में विभाजित किया जाता है, जिनमें से प्रत्येक का मान सबब्लॉक के इस भाग के लिए प्रतिस्थापन तालिका के अनुसार बदल दिया जाता है। फिर सबब्लॉक को 11 बिट्स द्वारा बाईं ओर बिट-घुमाया जाता है।

टेबल प्रतिस्थापन (प्रतिस्थापन बॉक्स - एस-बॉक्स) का उपयोग अक्सर आधुनिक एन्क्रिप्शन एल्गोरिदम में किया जाता है, इसलिए यह समझाने लायक है कि ऐसा ऑपरेशन कैसे व्यवस्थित किया जाता है। ब्लॉक के आउटपुट मान तालिका में दर्ज किए गए हैं। एक निश्चित आयाम (हमारे मामले में, 4-बिट) के डेटा ब्लॉक का अपना संख्यात्मक प्रतिनिधित्व होता है, जो आउटपुट मान की संख्या निर्धारित करता है। उदाहरण के लिए, यदि एस-बॉक्स 4, 11, 2, 14, 15, 0, 8, 13, 3, 12, 9, 7, 5, 10, 6, 1 और 4-बिट ब्लॉक "0100" जैसा दिखता है। इनपुट (मान 4) पर आया, तो, तालिका के अनुसार, आउटपुट मान 15 होगा, यानी "1111" (0 ए 4, 1 ए 11, 2 ए 2 ...)।

GOST 28147-89 द्वारा परिभाषित एल्गोरिदम, ऑपरेशन के चार तरीके प्रदान करता है: सरल प्रतिस्थापन, गामा, फीडबैक के साथ गामा और नकली अनुलग्नकों की पीढ़ी। वे ऊपर वर्णित समान एन्क्रिप्शन परिवर्तन का उपयोग करते हैं, लेकिन चूंकि मोड का उद्देश्य अलग-अलग है, इसलिए उनमें से प्रत्येक में यह परिवर्तन अलग-अलग तरीके से किया जाता है।

सरल प्रतिस्थापन मोड में, सूचना के प्रत्येक 64-बिट ब्लॉक को एन्क्रिप्ट करने के लिए ऊपर वर्णित 32 राउंड निष्पादित किए जाते हैं। इस मामले में, 32-बिट उपकुंजियों का उपयोग निम्नलिखित क्रम में किया जाता है:

K0, K1, K2, K3, K4, K5, K6, K7, K0, K1, आदि - 1 से 24 राउंड में;

K7, K6, K5, K4, K3, K2, K1, K0 - 25 से 32 राउंड में।

इस मोड में डिक्रिप्शन बिल्कुल उसी तरह से किया जाता है, लेकिन उपकुंजियों का उपयोग करने के थोड़े अलग क्रम के साथ:

K0, K1, K2, K3, K4, K5, K6, K7 - 1 से 8 राउंड में;

K7, K6, K5, K4, K3, K2, K1, K0, K7, K6, आदि - 9 से 32 राउंड में।

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

गामा मोड में, प्रत्येक प्लेनटेक्स्ट ब्लॉक को 64-बिट सिफर गामा ब्लॉक में बिट मोडुलो 2 द्वारा जोड़ा जाता है। सिफर गामा एक विशेष अनुक्रम है जो रजिस्टर एन1 और एन2 के साथ कुछ परिचालनों के परिणामस्वरूप प्राप्त होता है।

  • 1. उनकी आरंभिक फिलिंग रजिस्टर N1 और N2 को लिखी जाती है - एक 64-बिट मान जिसे सिंक्रोनाइज़ेशन संदेश कहा जाता है।
  • 2. रजिस्टर एन1 और एन2 (इस मामले में, सिंक संदेश) की सामग्री को सरल प्रतिस्थापन मोड में एन्क्रिप्ट किया गया है।
  • 3. रजिस्टर N1 की सामग्री को स्थिर C1 = 224 + 216 + 28 + 24 के साथ मॉड्यूलो (232 - 1) जोड़ा जाता है, और जोड़ का परिणाम रजिस्टर N1 में लिखा जाता है।
  • 4. रजिस्टर N2 की सामग्री को स्थिरांक C2 = 224 + 216 + 28 + 1 के साथ मॉड्यूलो 232 जोड़ा जाता है, और जोड़ का परिणाम रजिस्टर N2 में लिखा जाता है।
  • 5. रजिस्टर एन1 और एन2 की सामग्री सिफर के 64-बिट गामा ब्लॉक के रूप में आउटपुट होती है (इस मामले में, एन1 और एन2 पहला गामा ब्लॉक बनाते हैं)।

यदि अगले गामा ब्लॉक की आवश्यकता है (यानी, एन्क्रिप्शन या डिक्रिप्शन जारी रखने की आवश्यकता है), तो यह चरण 2 पर वापस आ जाता है।

डिक्रिप्शन के लिए, गामा समान तरीके से उत्पन्न होता है, और फिर सिफरटेक्स्ट और गामा बिट्स को फिर से XORed किया जाता है। चूँकि यह ऑपरेशन प्रतिवर्ती है, सही ढंग से विकसित पैमाने के मामले में, मूल पाठ प्राप्त होता है (तालिका 1)।

तालिका नंबर एक।गामा मोड में एन्क्रिप्शन और डिक्रिप्शन

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

GOST 28147-89 एल्गोरिदम के अधिकांश कार्यान्वयन में, सिंक्रनाइज़ेशन संदेश गुप्त नहीं है, हालांकि, ऐसे सिस्टम हैं जहां सिंक्रनाइज़ेशन संदेश एन्क्रिप्शन कुंजी के समान गुप्त तत्व है। ऐसी प्रणालियों के लिए, एल्गोरिदम की प्रभावी कुंजी लंबाई (256 बिट्स) को गुप्त सिंक्रनाइज़ेशन संदेश के अन्य 64 बिट्स द्वारा बढ़ाया जाता है, जिसे एक प्रमुख तत्व भी माना जा सकता है।

बंद-लूप गामा मोड में, रजिस्टर N1 और N2 को भरने के लिए, दूसरे ब्लॉक से शुरू करके, यह पिछले गामा ब्लॉक का उपयोग नहीं किया जाता है, बल्कि पिछले प्लेनटेक्स्ट ब्लॉक को एन्क्रिप्ट करने का परिणाम है (चित्रा 2)। इस मोड में पहला ब्लॉक पिछले वाले के समान ही उत्पन्न होता है।

चित्र 2. बंद-लूप गामा मोड में सिफर गामा उत्पन्न करना।

अनुकरण उपसर्गों की पीढ़ी के तरीके पर विचार करते समय, पीढ़ी के विषय की अवधारणा को परिभाषित करना आवश्यक है। उपसर्ग एक क्रिप्टोग्राफ़िक चेकसम है जिसकी गणना एन्क्रिप्शन कुंजी का उपयोग करके की जाती है और संदेशों की अखंडता को सत्यापित करने के लिए डिज़ाइन किया गया है। एक नकली उपसर्ग उत्पन्न करते समय, निम्नलिखित ऑपरेशन किए जाते हैं: सूचना सरणी का पहला 64-बिट ब्लॉक, जिसके लिए नकली उपसर्ग की गणना की जाती है, रजिस्टर एन 1 और एन 2 को लिखा जाता है और कम सरल प्रतिस्थापन मोड में एन्क्रिप्ट किया जाता है ( 32 में से पहले 16 राउंड पूरे हो चुके हैं)। परिणामी परिणाम को सूचना के अगले ब्लॉक के साथ मॉड्यूलो 2 में जोड़ा जाता है और परिणाम एन1 और एन2 में संग्रहीत किया जाता है।

सूचना के अंतिम ब्लॉक तक चक्र दोहराता है। इन परिवर्तनों के परिणामस्वरूप N1 और N2 रजिस्टरों या उनके भाग की परिणामी 64-बिट सामग्री को अनुकरण उपसर्ग कहा जाता है। अनुकरण उपसर्ग का आकार संदेशों की आवश्यक विश्वसनीयता के आधार पर चुना जाता है: अनुकरण उपसर्ग आर बिट्स की लंबाई के साथ, संदेश में परिवर्तन पर किसी का ध्यान नहीं जाने की संभावना 2-आर के बराबर होती है 32-बिट अनुकरण उपसर्ग का उपयोग किया जाता है, अर्थात, रजिस्टरों की आधी सामग्री। यह पर्याप्त है, क्योंकि, किसी भी चेकसम की तरह, नकली अनुलग्नक का उद्देश्य मुख्य रूप से जानकारी के आकस्मिक विरूपण से रक्षा करना है। डेटा के जानबूझकर संशोधन से बचाने के लिए, अन्य क्रिप्टोग्राफ़िक तरीकों का उपयोग किया जाता है - मुख्य रूप से एक इलेक्ट्रॉनिक डिजिटल हस्ताक्षर।

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

GOST 28147-89 एल्गोरिथ्म को एक बहुत ही मजबूत एल्गोरिदम माना जाता है - वर्तमान में इसके प्रकटीकरण के लिए ऊपर उल्लिखित "क्रूर बल" विधि की तुलना में कोई अधिक प्रभावी तरीका प्रस्तावित नहीं किया गया है। इसकी उच्च सुरक्षा मुख्य रूप से बड़ी कुंजी लंबाई - 256 बिट्स के कारण हासिल की जाती है। गुप्त सिंक संदेश का उपयोग करते समय, प्रभावी कुंजी लंबाई 320 बिट्स तक बढ़ जाती है, और प्रतिस्थापन तालिका को एन्क्रिप्ट करने से अतिरिक्त बिट्स जुड़ जाते हैं। इसके अलावा, क्रिप्टोग्राफ़िक ताकत परिवर्तन राउंड की संख्या पर निर्भर करती है, जो GOST 28147-89 के अनुसार 32 होनी चाहिए (इनपुट डेटा फैलाव का पूर्ण प्रभाव 8 राउंड के बाद प्राप्त होता है)।

GOST 28147-89 के फायदे गलत डेटा (नकल पैदा करना) के खिलाफ सुरक्षा की उपस्थिति और सभी चार GOST एल्गोरिदम में समान एन्क्रिप्शन चक्र हैं।



मित्रों को बताओ