स्ट्रीम सिफर
स्ट्रीम सिफर एक गुप्त कुंजी से एक छद्म-यादृच्छिक कीस्ट्रीम उत्पन्न करके और इसे प्लेनटेक्स्ट के साथ जोड़कर डेटा को एन्क्रिप्ट करते हैं, आमतौर पर एक समय में एक बिट या बाइट, एक छोटी कुंजी के साथ पूरी तरह से सुरक्षित वन-टाइम पैड का अनुकरण करते हुए।
Definition
एक स्ट्रीम सिफर एक सममित एन्क्रिप्शन योजना है जो एक गुप्त कुंजी (और आमतौर पर एक नॉनस) से एक लंबी छद्म-यादृच्छिक कीस्ट्रीम उत्पन्न करती है और कीस्ट्रीम को प्लेनटेक्स्ट के साथ जोड़कर एन्क्रिप्ट करती है, सबसे आम तौर पर बिटवाइज़ एक्सओआर (XOR) द्वारा।
Scope
यह विषय स्ट्रीम सिफर के डिज़ाइन और विश्लेषण को शामिल करता है: लीनियर फीडबैक शिफ्ट रजिस्टर से निर्मित कीस्ट्रीम जनरेटर, कॉम्बाइनर और फ़िल्टर कंस्ट्रक्शन, और चाच20 (ChaCha20) और ईस्ट्रीम (eSTREAM) पोर्टफोलियो जैसे आधुनिक सॉफ्टवेयर-उन्मुख डिज़ाइन। यह वन-टाइम पैड से संबंध, कीस्ट्रीम का कभी भी पुन: उपयोग न करने की महत्वपूर्ण आवश्यकता, और कीस्ट्रीम के पुन: उपयोग या कमजोर जनरेटर से उत्पन्न होने वाले हमलों को संबोधित करता है। इसमें ब्लॉक सिफर शामिल नहीं हैं, हालांकि काउंटर मोड में एक ब्लॉक सिफर प्रभावी रूप से एक स्ट्रीम सिफर के रूप में कार्य करता है।
Core questions
- एक छोटी कुंजी को एक लंबी, अप्रत्याशित कीस्ट्रीम में कैसे बदला जा सकता है जो वन-टाइम पैड की नकल करती है?
- कीस्ट्रीम का पुन: उपयोग विनाशकारी क्यों है, और नॉनस इसे कैसे रोकते हैं?
- एक कीस्ट्रीम जनरेटर को केवल सांख्यिकीय रूप से यादृच्छिक होने के बजाय क्रिप्टोग्राफिक रूप से मजबूत क्या बनाता है?
- चाच20 (ChaCha20) जैसे आधुनिक स्ट्रीम सिफर समर्पित हार्डवेयर के बिना गति कैसे प्राप्त करते हैं?
- कौन से शास्त्रीय हमले (सहसंबंध, बीजगणितीय) कमजोर एलएफएसआर (LFSR)-आधारित डिज़ाइनों को तोड़ते हैं?
Key concepts
- कीस्ट्रीम
- वन-टाइम पैड
- लीनियर फीडबैक शिफ्ट रजिस्टर
- नॉनस और इनिशियलाइज़ेशन वेक्टर
- कीस्ट्रीम पुन: उपयोग (टू-टाइम पैड)
- चाच20 (ChaCha20) और साल्सा20 (Salsa20)
- सहसंबंध हमले
- सिंक्रोनस बनाम सेल्फ-सिंक्रोनाइज़िंग सिफर
Key theories
- वन-टाइम पैड और पूर्ण गोपनीयता
- संदेश जितनी लंबी एक पूरी तरह से यादृच्छिक कुंजी के साथ एक्सओआर (XOR) द्वारा एन्क्रिप्ट करने से शैनन की पूर्ण गोपनीयता प्राप्त होती है; स्ट्रीम सिफर एक अव्यावहारिक पूरी तरह से यादृच्छिक पैड के लिए एक छद्म-यादृच्छिक कीस्ट्रीम को प्रतिस्थापित करके इसका अनुमान लगाते हैं।
- कीस्ट्रीम जनरेशन और क्रिप्टोग्राफिक छद्म-यादृच्छिकता
- एक सुरक्षित स्ट्रीम सिफर एक छद्म-यादृच्छिक जनरेटर है: इसकी कीस्ट्रीम यादृच्छिक से कम्प्यूटेशनल रूप से अप्रभेद्य होनी चाहिए, ताकि कोई भी कुशल विरोधी कई बिट्स का अवलोकन करने के बाद भी भविष्य के कीस्ट्रीम बिट्स की भविष्यवाणी न कर सके।
Mechanisms
एक सिंक्रोनस स्ट्रीम सिफर कुंजी और नॉनस से एक आंतरिक स्थिति को आरंभ करता है, फिर बार-बार स्थिति को अपडेट करता है और प्लेनटेक्स्ट से स्वतंत्र कीस्ट्रीम आउटपुट उत्सर्जित करता है। कीस्ट्रीम को एन्क्रिप्ट करने के लिए प्लेनटेक्स्ट के साथ और डिक्रिप्ट करने के लिए सिफरटेक्स्ट के साथ एक्सओआर किया जाता है। लीनियर फीडबैक शिफ्ट रजिस्टर पर आधारित डिज़ाइन हार्डवेयर में तेज़ होते हैं लेकिन बीजगणितीय हमलों का विरोध करने के लिए गैर-रेखीय कॉम्बाइनर की आवश्यकता होती है; चाच20 (ChaCha20) जैसे सॉफ्टवेयर सिफर गति और सुरक्षा के लिए एक बड़ी स्थिति पर जोड़-घटाव-एक्सओआर (ARX) संचालन का उपयोग करते हैं।
Clinical relevance
चाच20 (ChaCha20) (पॉली1305 (Poly1305) प्रमाणीकरणकर्ता के साथ) टीएलएस 1.3 (TLS 1.3), ओपनएसएसएच (OpenSSH), वायरगार्ड (WireGuard), और मोबाइल मैसेजिंग में व्यापक रूप से तैनात है, जहां इसे उन उपकरणों पर एईएस (AES) पर पसंद किया जाता है जिनमें हार्डवेयर एईएस त्वरण की कमी होती है। स्ट्रीम सिफर स्ट्रीमिंग मीडिया और कम-विलंबता लिंक के लिए अच्छी तरह से अनुकूल हैं। ऐतिहासिक रूप से, आरसी4 (RC4) स्ट्रीम सिफर ने शुरुआती एसएसएल/टीएलएस (SSL/TLS) और डब्ल्यूईपी (WEP) वाई-फाई को तब तक संरक्षित किया जब तक कि इसके पूर्वाग्रहों के कारण इसे बंद नहीं कर दिया गया।
Evidence & guidelines
चाच20-पॉली1305 (ChaCha20-Poly1305) आरएफसी 8439 (RFC 8439) में मानकीकृत है और टीएलएस (TLS) के लिए अनुमोदित है। आरसी4 (RC4) को कीस्ट्रीम पूर्वाग्रहों के कारण आरएफसी 7465 (RFC 7465) द्वारा टीएलएस (TLS) में निषिद्ध किया गया है। ईस्ट्रीम (eSTREAM) परियोजना (2004-2008) ने स्ट्रीम सिफर का एक सत्यापित पोर्टफोलियो तैयार किया। सभी मानकों में मुख्य नियम यह है कि एक (कुंजी, नॉनस) जोड़ी का कभी भी पुन: उपयोग नहीं किया जाना चाहिए।
History
स्ट्रीम सिफर वर्नाम सिफर (Vernam cipher) (1917) और वन-टाइम पैड से उत्पन्न हुए हैं। शीत युद्ध की सैन्य प्रणालियों ने शिफ्ट रजिस्टर पर आधारित कीस्ट्रीम जनरेटर का उपयोग किया। आरसी4 (RC4), जिसे रॉन रिवेस्ट (Ron Rivest) ने 1987 में डिज़ाइन किया था, व्यापक रूप से फैल गया लेकिन अंततः इसके प्रोटोकॉल उपयोगों में टूट गया। ईस्ट्रीम (eSTREAM) प्रतियोगिता और डैनियल बर्नस्टीन (Daniel Bernstein) के साल्सा20/चाच20 (Salsa20/ChaCha20) परिवार (2008) ने आधुनिक, सॉफ्टवेयर-अनुकूल पीढ़ी को परिभाषित किया जिसे अब इंटरनेट प्रोटोकॉल में पसंद किया जाता है।
Key figures
- Claude Shannon
- Daniel J. Bernstein
- Ronald Rivest
- Adi Shamir
Related topics
Seminal works
- shannon1949
- katz2020
- menezes1996
Frequently asked questions
- यदि एक स्ट्रीम सिफर कीस्ट्रीम का पुन: उपयोग किया जाता है तो क्या होता है?
- एक ही कीस्ट्रीम के साथ एन्क्रिप्ट किए गए दो सिफरटेक्स्ट को एक्सओआर (XOR) करने से कीस्ट्रीम रद्द हो जाती है, जिससे दो प्लेनटेक्स्ट का एक्सओआर (XOR) बचता है — जो अक्सर दोनों संदेशों को प्रकट करता है। यही कारण है कि प्रत्येक एन्क्रिप्शन को एक ताज़ा नॉनस का उपयोग करना चाहिए ताकि कीस्ट्रीम एक निश्चित कुंजी के तहत कभी भी दोहराई न जाए।
- क्या स्ट्रीम सिफर ब्लॉक सिफर से कम सुरक्षित हैं?
- स्वाभाविक रूप से नहीं। चाच20 (ChaCha20) जैसे आधुनिक स्ट्रीम सिफर को एईएस (AES) जितना ही सुरक्षित माना जाता है और सॉफ्टवेयर में कभी-कभी तेज़ होते हैं। असुरक्षा दुरुपयोग (कीस्ट्रीम पुन: उपयोग) या आरसी4 (RC4) जैसे कमजोर विरासत डिज़ाइनों से उत्पन्न होती है, न कि स्ट्रीम-सिफर अवधारणा से।