Keystream
क्रिप्टोग्राफी में, एक कीस्ट्रीम यादृच्छिक या छद्म वर्णों की एक धारा है जो एक एन्क्रिप्टेड संदेश (सिफरटेक्स्ट) का उत्पादन करने के लिए एक सादे पाठ संदेश के साथ संयुक्त होती है। कीस्ट्रीम में "वर्ण" उपयोग के मामले के आधार पर बिट, बाइट्स, संख्याएँ या ए-जेड जैसे वास्तविक वर्ण हो सकते हैं। आम तौर पर कीस्ट्रीम में प्रत्येक वर्ण को या तो जोड़ा जाता है, घटाया जाता है या मॉड्यूलर अंकगणित का उपयोग करके सिफरटेक्स्ट का उत्पादन करने के लिए प्लेनटेक्स्ट में एक वर्ण के साथ XOR किया जाता है। कीस्ट्रीम का उपयोग एक बार के पैड साइफर और अधिकांश स्ट्रीम साइफर में किया जाता है। ब्लॉक साइफर का उपयोग कीस्ट्रीम बनाने के लिए भी किया जा सकता है। उदाहरण के लिए, सीटीआर मोड एक ब्लॉक मोड है जो एक ब्लॉक सिफर को एक कीस्ट्रीम का उत्पादन करता है और इस प्रकार ब्लॉक सिफर को एक स्ट्रीम सिफर में बदल देता है। उदाहरण इस सरल उदाहरण में हम a-z से 26 वर्णों की अंग्रेजी वर्णमाला का उपयोग करते हैं। इस प्रकार हम संख्या, अल्पविराम, रिक्त स्थान और अन्य प्रतीकों को कूटबद्ध नहीं कर सकते हैं। कीस्ट्रीम में यादृच्छिक संख्याएँ कम से कम 0 और 25 के बीच होनी चाहिए। एन्क्रिप्ट करने के लिए हम प्लेनटेक्स्ट में कीस्ट्रीम नंबर जोड़ते हैं। और डिक्रिप्ट करने के लिए हम प्लेनटेक्स्ट प्राप्त करने के लिए सिफरटेक्स्ट से समान कीस्ट्रीम संख्याओं को घटाते हैं। यदि एक सिफरटेक्स्ट संख्या 25 से बड़ी हो जाती है तो हम इसे 0-25 के बीच के मान में लपेटते हैं। इस प्रकार 26 0 हो जाता है और 27 1 हो जाता है और इसी तरह आगे भी। (इस तरह की रैपिंग को मॉड्यूलर अंकगणित कहा जाता है।) यहाँ प्लेनटेक्स्ट संदेश "भोर में हमला" को कीस्ट्रीम "kjcngmhylyu" के साथ जोड़कर जोड़ा जाता है और सिफरटेक्स्ट "kcvniwlabluh" का उत्पादन करता है। मेनेजेस, वैन ऑर्सचॉट और वैनस्टोन द्वारा अनुप्रयुक्त क्रिप्टोग्राफी की संदर्भ पुस्तिका (2001), अध्याय 1,6 और 7। स्ट्रीम साइफर