लीनियर क्रिप्टएनालिसिस (Linear Cryptanalysis) एक नोन-प्लेनटेक्स्ट अटैक (Known Plaintext Attack) है, जिसमें हमलावर प्लेनटेक्स्ट, सिफरटेक्स्ट और छिपी हुई कुंजी के पैरिटी बिट्स के बीच संभाव्य रैखिक संबंधों का अध्ययन करता है, जिन्हें लीनियर एप्रॉक्सिमेशन (Linear Approximations) कहा जाता है।
कार्यप्रणाली
- इस दृष्टिकोण में, हमलावर ज्ञात प्लेनटेक्स्ट और सिफरटेक्स्ट के पैरिटी बिट्स की गणना करके छिपी हुई कुंजी के पैरिटी बिट के लिए उच्च संभावना अनुमान प्राप्त करता है।
- सहायक तकनीक (Auxiliary Technique) सहित कई दृष्टिकोणों के उपयोग से, हमलावर हमले को गुप्त कुंजी के अतिरिक्त बिट्स खोजने के लिए विस्तारित कर सकता है।
- लीनियर क्रिप्टएनालिसिस डिफरेंशियल क्रिप्टएनालिसिस के साथ मिलकर ब्लॉक सिफर पर सबसे अधिक उपयोग किए जाने वाले हमले हैं।
- लीनियर क्रिप्टएनालिसिस तकनीक पहली बार मित्सुरू मत्सुई द्वारा आविष्कृत की गई थी जिन्होंने इसे पहली बार FEAL सिफर पर लागू किया था।
लीनियर क्रिप्टएनालिसिस के दो भाग
- पहला भाग: प्लेनटेक्स्ट, सिफरटेक्स्ट और कुंजी बिट्स से संबंधित रैखिक समीकरण बनाना जिनमें बड़ा बायस (Bias) हो; यानी जिनके धारण करने की संभावनाएं यथासंभव 0 या 1 के करीब हों।
- दूसरा भाग: इन रैखिक समीकरणों को ज्ञात प्लेनटेक्स्ट-सिफरटेक्स्ट जोड़े के साथ संयोजन में उपयोग करके कुंजी बिट्स प्राप्त करना।
तकनीकी विवरण
- लीनियर क्रिप्टएनालिसिस एन्क्रिप्शन प्रक्रिया में नॉन-लीनियर प्रक्रिया को मॉडल करने के लिए रैखिक अनुमान का उपयोग करता है।
- बड़ी मात्रा में ज्ञात प्लेनटेक्स्ट के लिए अनुमान का उपयोग करके अंततः एक कुंजी बिट मिलेगा जो एक विशिष्ट संभावना के साथ सही है। सिफर-विशिष्ट परिशोधन कई कुंजी-बिट्स ढूंढ सकते हैं।
- लीनियर क्रिप्टएनालिसिस हमला डेटा एन्क्रिप्शन स्टैंडर्ड में लागू ट्रांसफॉर्मेशन को परिभाषित करने के लिए रैखिक अनुमानों को खोजने पर आधारित है। यह दृष्टिकोण 2⁴³ ज्ञात प्लेनटेक्स्ट दिए गए DES कुंजी को ढूंढ सकता है, जबकि डिफरेंशियल क्रिप्टएनालिसिस के लिए 2⁴⁷ चॉजेन प्लेनटेक्स्ट की आवश्यकता होती है।
- यह एक मामूली प्रगति है, क्योंकि ज्ञात प्लेनटेक्स्ट प्राप्त करना चॉजेन प्लेनटेक्स्ट की तुलना में आसान हो सकता है, लेकिन यह DES पर हमले के रूप में लीनियर क्रिप्टएनालिसिस को अव्यावहारिक नहीं छोड़ता।
उद्देश्य
लीनियर क्रिप्टएनालिसिस का उद्देश्य निम्न रूप का एक प्रभावी रैखिक समीकरण खोजना है:
P[α₁, α₂...αₐ] ⊕ C[β₁, β₂...βᵦ] = K[γ₁, γ₂...γ𝒸]
(जहां x = 0 या 1; 1 ≤ a, b ≤ n, 1 ≤ c ≤ m, और जहां α, β और γ पद निश्चित, विशिष्ट बिट स्थानों का प्रतिनिधित्व करते हैं) जो संभावना p ≠ 0.5 के साथ लागू होता है।
p जितना 0.5 से दूर होगा, समीकरण उतना ही प्रभावी होगा। क्योंकि एक संभावित संघ निर्धारित होता है, प्रक्रिया बड़ी संख्या में प्लेनटेक्स्ट-सिफरटेक्स्ट जोड़े के लिए पूर्ववर्ती समीकरण के बाएं हाथ की ओर के परिणामों का मूल्यांकन करना है। यदि परिणाम आधे से अधिक समय 0 है, तो मान लें K[γ₁, γ₂...γ𝒸] = 0। यदि यह ज्यादातर समय 1 है, तो मान लें K[γ₁, γ₂...γ𝒸] = 1। यह हमें कुंजी बिट्स पर एक रैखिक समीकरण देता है। अधिक ऐसे संबंध प्राप्त करने का प्रयास करें ताकि कुंजी बिट्स के लिए हल किया जा सके। चूंकि इस पेपर में रैखिक समीकरणों से निपट रहे हैं, समस्या को एक समय में सिफर के एक राउंड से संपर्क किया जा सकता है, परिणामों को जोड़कर।