T

Text Machine

शक्तिशाली टेक्स्ट टूल्स, आपके ब्राउज़र में

रनिंग की साइफ़र

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

रनिंग की

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

सादा पाठ
साइफर पाठ

रनिंग-की परिणाम यहाँ देखने के लिए ऊपर पाठ दर्ज करें।

रनिंग की साइफ़र का उपयोग कैसे करें

  1. 1

    एन्कोड या डिकोड चुनें

    सादा पाठ को रनिंग-की साइफर पाठ में बदलने के लिए एन्कोड चुनें, या साइफर पाठ से सादा पाठ पुनर्प्राप्त करने के लिए डिकोड चुनें। दोनों दिशाओं के लिए वही रनिंग की उपयोग होती है।

  2. 2

    अपनी रनिंग की पेस्ट करें

    कुंजी के रूप में उपयोग करने के लिए पाठ का एक लंबा अंश पेस्ट करें, परंपरागत रूप से किसी किताब का कोई सहमत पृष्ठ। एक सच्ची रनिंग की के लिए यह कम से कम आपके संदेश जितनी लंबी होनी चाहिए। केवल इसके अक्षरों का उपयोग होता है, और केस, स्थान तथा विरामचिह्न अनदेखा कर दिए जाते हैं।

  3. 3

    अपना पाठ टाइप करें या पेस्ट करें

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

  4. 4

    पढ़ें, कॉपी करें और साझा करें

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

रनिंग-की साइफर को समझना

रनिंग-की साइफर क्या है?

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

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

रनिंग-की साइफर कैसे काम करता है

वर्णमाला को A के लिए 0 से Z के लिए 25 तक क्रमांकित कीजिए। कुंजी पाठ को संदेश के नीचे ऐसे लिखिए कि सादा-पाठ के हर अक्षर के नीचे एक कुंजी अक्षर बैठ जाए। एन्क्रिप्ट करने के लिए, हर कुंजी अक्षर को उसके ऊपर के अक्षर में जोड़िए और 26 से शेषफल लेकर वर्णमाला के चारों ओर लपेट दीजिए, जो साइफर-पाठ अक्षर C = (P + K) mod 26 देता है। यह अंकगणित ठीक वही विजेनेर तालिका है; केवल कुंजी का स्रोत बदला है।

डिक्रिप्ट करने के लिए, प्राप्तकर्ता वही कुंजी पाठ साइफर-पाठ के नीचे लिखता है और घटाता है, हर सादा-पाठ अक्षर को P = (C − K) mod 26 से पुनर्प्राप्त करते हुए। हर विजेनेर रूप की तरह, केवल 26 अक्षर ही रूपांतरित होते हैं: स्थान, विरामचिह्न, और अंक सीधे गुज़र जाते हैं और किसी कुंजी अक्षर का उपभोग नहीं करते, इसलिए कुंजी संदेश के अक्षरों के साथ संरेखित रहती है। अक्षरों का केस संरक्षित रहता है, इसलिए निर्गत मूल पाठ का आकार बनाए रखता है।

हल किया हुआ उदाहरण

संदेश HELLO को रनिंग की KEYBOARD के साथ एन्क्रिप्ट कीजिए। पहले पाँच कुंजी अक्षर K, E, Y, B, O को संदेश के नीचे पंक्तिबद्ध कीजिए और जोड़िए: H जमा K है R, E जमा E है I, L जमा Y है J, L जमा B है M, और O जमा O है C। साइफर पाठ RIJMC है। ध्यान दें कि, ऑटोकी साइफर के विपरीत, कुंजी अक्षर पूरी तरह सहमत कुंजी पाठ से आते हैं और सादा-पाठ से उनका कोई संबंध नहीं होता।

RIJMC को डिक्रिप्ट करने के लिए आप उसके नीचे वही कुंजी KEYBOARD लिखते हैं और घटाते हैं: R घटा K है H, I घटा E है E, J घटा Y है L, M घटा B है L, और C घटा O है O, जो HELLO पुनर्प्राप्त करता है। पूरा संदेश एक ही बार में पढ़ा जा सकता है क्योंकि कुंजी शुरू से ही पूरी तरह ज्ञात है, किसी अक्षर-दर-अक्षर प्रतिपुष्टि की प्रतीक्षा किए बिना।

रनिंग-की बनाम दोहराती-कुंजी विजेनेर

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

खतरा एक बहुत छोटी कुंजी का उपयोग करना है। यदि रनिंग की संदेश से छोटी है तो उसे अपनी शुरुआत में वापस लपेटना पड़ता है, और उसी क्षण वह एक साधारण दोहराती-कुंजी विजेनेर बन जाती है, उस साइफर की सारी कमज़ोरियों के साथ। उदाहरण के लिए, HELLO को तीन-अक्षर की कुंजी KEY के साथ एन्क्रिप्ट करने पर वह लपेटकर RIJVS देती है — ठीक वही दोहराते-विजेनेर का परिणाम। यह टूल किसी भी पुनः उपयोग हुए कुंजी अक्षर को चिह्नित करता है ताकि आप साइफर को कमज़ोर होते देख सकें, और एक सही रनिंग की हमेशा कम से कम पाठ जितनी लंबी होनी चाहिए।

रनिंग-की बनाम ऑटोकी साइफर

रनिंग-की और ऑटोकी साइफर निकट के रिश्तेदार हैं: दोनों संदेश जितनी लंबी कुंजी का उपयोग करते हैं ताकि कुछ भी दोहराया न जाए, और दोनों उसी मॉड्यूलर जोड़ तक सिमट जाते हैं। अंतर यह है कि लंबी कुंजी कहाँ से आती है। एक रनिंग-की साइफर अपनी कुंजी एक साझा बाहरी पाठ से लेता है, जैसे किसी किताब के एक सहमत पृष्ठ से, जबकि ऑटोकी साइफर अपनी लंबी कुंजी एक छोटे प्राइमर कुंजी-शब्द के बाद स्वयं सादा-पाठ से बनाता है।

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

रनिंग-की साइफर को कैसे तोड़ें

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

व्यावहारिक तरीका, जिसका श्रेय अक्सर William Friedman को दिया जाता है, यह है कि किसी संभावित शब्द का अनुमान लगाया जाए, उसे साइफर-पाठ के एक हिस्से से ऐसे घटाया जाए मानो वह कुंजी हो, और देखा जाए कि दूसरी धारा भाषा जैसी दिखती है या नहीं। कुंजी में एक सही अनुमान सादा-पाठ का एक टुकड़ा उजागर करता है, और सादा-पाठ में एक सही अनुमान कुंजी का एक टुकड़ा उजागर करता है; हर टुकड़े को फिर बाहर की ओर बढ़ाया जा सकता है और दोनों धाराओं को एक-दूसरे के विरुद्ध खोला जा सकता है। एक से अधिक संदेश के लिए वही कुंजी पाठ पुनः उपयोग करना घातक है, क्योंकि दो साइफर-पाठों को घटाना साझा कुंजी को निरस्त कर देता है और दोनों सादा-पाठों को संयुक्त छोड़ देता है।

रनिंग की से वन-टाइम पैड तक

रनिंग-की साइफर वन-टाइम पैड (one-time pad) का प्रत्यक्ष वैचारिक पूर्वज है, वह एकमात्र साइफर जो अटूट सिद्ध हो चुका है। विधि लगभग वही है: एक कुंजी लीजिए जो संदेश जितनी लंबी हो और उसे अक्षर-दर-अक्षर जोड़िए। वन-टाइम पैड तीन कठोर शर्तें जोड़ता है — कुंजी सचमुच यादृच्छिक होनी चाहिए, कम से कम संदेश जितनी लंबी, और कभी पुनः उपयोग न की गई। तीनों को पूरा कीजिए और हर संभव सादा-पाठ साइफर-पाठ के साथ समान रूप से संगत होता है, इसलिए कोई भी विश्लेषण असली का पक्ष नहीं ले सकता।

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

अक्सर पूछे जाने वाले प्रश्न

रनिंग-की साइफर क्या है?
रनिंग-की साइफर एक विजेनेर साइफर है जिसकी कुंजी पाठ का एक लंबा अंश होती है, जैसे किसी सहमत किताब का कोई पृष्ठ, न कि एक छोटा दोहराता कुंजी-शब्द। चूँकि कुंजी संदेश जितनी लंबी होती है और कभी दोहराई नहीं जाती, यह उस चक्रीय पैटर्न से बच जाती है जो एक साधारण विजेनेर साइफर को तोड़ना आसान बना देता है। जब कुंजी किसी किताब से ली जाती है तो इसे कभी-कभी बुक साइफर भी कहा जाता है।
रनिंग-की साइफर कैसे काम करता है?
वर्णमाला को A के लिए 0 से Z के लिए 25 तक क्रमांकित कीजिए और कुंजी पाठ को संदेश के नीचे लिखिए, हर संदेश अक्षर के लिए एक कुंजी अक्षर। एन्क्रिप्ट करने के लिए, हर कुंजी अक्षर को संदेश अक्षर में 26 के मॉड्यूलो में जोड़िए: C = (P + K) mod 26। डिक्रिप्ट करने के लिए, वही कुंजी के साथ घटाइए: P = (C − K) mod 26। केवल अक्षर ही बदले जाते हैं; स्थान, अंक और विरामचिह्न बिना छुए गुज़र जाते हैं।
रनिंग-की साइफर विजेनेर साइफर से कैसे अलग है?
वे वही जोड़ने का नियम उपयोग करते हैं, पर एक विजेनेर साइफर एक छोटे कुंजी-शब्द को संदेश भर में दोहराता है जबकि एक रनिंग-की साइफर संदेश जितनी लंबी एक कुंजी का उपयोग करता है जो कभी नहीं दोहराती। यह उस आवर्तकाल को हटा देता है जिसे एक Kasiski परीक्षण या संपात सूचकांक ढूँढ लेता। यदि एक रनिंग की बहुत छोटी हो और उसे दोहराना पड़े, तो वह वापस एक साधारण दोहराती-कुंजी विजेनेर में बिगड़ जाती है।
क्या आप एक रनिंग-की साइफर उदाहरण दिखा सकते हैं?
HELLO को रनिंग की KEYBOARD के साथ एन्क्रिप्ट करने पर RIJMC मिलता है। कुंजी अक्षर K, E, Y, B, O को संदेश के नीचे पंक्तिबद्ध करते हुए: H जमा K है R, E जमा E है I, L जमा Y है J, L जमा B है M, और O जमा O है C। RIJMC को वही कुंजी KEYBOARD के साथ डिक्रिप्ट करने पर HELLO एक ही बार में पुनर्प्राप्त होता है।
मुझे रनिंग की के रूप में क्या उपयोग करना चाहिए?
पाठ का कोई भी लंबा अंश उपयोग कीजिए जो आपके और आपके प्राप्तकर्ता दोनों के पास हो, शास्त्रीय रूप से किसी विशेष किताब का कोई सहमत पृष्ठ। कुंजी कम से कम आपके संदेश जितनी लंबी होनी चाहिए ताकि उसे कभी दोहराना न पड़े। केवल अक्षरों का उपयोग होता है, और बड़े तथा छोटे अक्षर एक समान माने जाते हैं, इसलिए कुंजी में विरामचिह्न और स्थान कोई मायने नहीं रखते।
अगर मेरी कुंजी संदेश से छोटी हो तो क्या होता है?
कुंजी अपनी शुरुआत में वापस लपेट जाती है और दोहराने लगती है, जो रनिंग-की साइफर को एक साधारण दोहराती-कुंजी विजेनेर में बदल देता है और उसे सामान्य आक्रमणों के आगे खोल देता है। यह टूल पुनः उपयोग हुए कुंजी अक्षरों को उजागर करता है ताकि आप ठीक वहाँ देख सकें जहाँ ऐसा होता है। एक सच्ची रनिंग की के लिए, हमेशा कम से कम उस संदेश जितना लंबा पाठ उपयोग कीजिए जिसे आप एन्क्रिप्ट कर रहे हैं।
रनिंग-की और ऑटोकी साइफरों के बीच क्या अंतर है?
दोनों संदेश जितनी लंबी एक न-दोहराने वाली कुंजी का उपयोग करते हैं, पर वे इसमें भिन्न हैं कि कुंजी कहाँ से आती है। एक रनिंग-की साइफर अपनी कुंजी एक साझा बाहरी पाठ जैसे किसी किताब से लेता है, जबकि ऑटोकी साइफर अपनी कुंजी एक छोटे प्राइमर कुंजी-शब्द के बाद स्वयं सादा-पाठ से बनाता है। ऑटोकी को केवल एक छोटे साझा रहस्य की ज़रूरत होती है; रनिंग की को दोनों पक्षों के पास वही कुंजी पाठ होना चाहिए।
क्या रनिंग-की साइफर एक बुक साइफर के समान है?
यह एक प्रकार का बुक साइफर है। जब लंबा कुंजी पाठ किसी सहमत किताब से लिया जाता है, तो रनिंग-की साइफर को अक्सर बुक साइफर कहा जाता है। बुक साइफर नाम एक भिन्न योजना के लिए भी उपयोग होता है जो शब्दों को पृष्ठ, पंक्ति और शब्द संख्याओं से प्रतिस्थापित करती है, इसलिए यह शब्द दोनों में से कोई भी अर्थ रख सकता है, पर यहाँ यह किताब के पाठ को विजेनेर रनिंग की के रूप में उपयोग करने को संदर्भित करता है।
क्या साइफर स्थान, अंक और विरामचिह्न बदलता है?
नहीं। केवल 26 अक्षर ही रूपांतरित होते हैं। संदेश में स्थान, विरामचिह्न और कोई भी अंक अपरिवर्तित गुज़र जाते हैं और किसी कुंजी अक्षर का उपभोग नहीं करते, इसलिए कुंजी अक्षरों के साथ संरेखित रहती है। अक्षरों का केस संरक्षित रहता है, इसलिए निर्गत आपके मूल पाठ का आकार बनाए रखता है।
आप रनिंग-की साइफर को कैसे तोड़ते हैं?
चूँकि कुंजी कभी नहीं दोहराती, दोहराती-कुंजी के औज़ार लागू नहीं होते। इसके बजाय, विश्लेषक इस तथ्य का लाभ उठाते हैं कि संदेश और कुंजी दोनों ही साधारण भाषा हैं: हर साइफर-पाठ अक्षर दो झुके हुए अक्षरों का योग है, इसलिए किसी भी धारा में संभावित शब्दों का अनुमान लगाकर उन्हें पाठ भर में सरकाना मेल खाते टुकड़े उजागर करता है जिन्हें बढ़ाया जा सकता है। कई संदेशों के लिए एक ही कुंजी पाठ पुनः उपयोग करना इसे सीधे तोड़ देता है।
क्या रनिंग-की साइफर वन-टाइम पैड से संबंधित है?
हाँ, गहराई से। एक वन-टाइम पैड संदेश जितनी लंबी एक कुंजी का उपयोग करता है और उसे उसी तरह जोड़ता है, पर इसके लिए कुंजी का सचमुच यादृच्छिक और कभी पुनः उपयोग न किया गया होना आवश्यक है, जो इसे अटूट बना देता है। एक रनिंग की यादृच्छिक अक्षरों के बजाय संरचित किताब पाठ का उपयोग करती है, और वही सांख्यिकीय संरचना ठीक वह बात है जो इस पर आक्रमण होने देती है, इसलिए यह वन-टाइम पैड की संपूर्ण गोपनीयता से पीछे रह जाता है।
क्या रनिंग-की साइफर सुरक्षित है, और क्या मेरा टेक्स्ट अपलोड होता है?
यह एक दोहराती-कुंजी विजेनेर की तुलना में अधिक मज़बूत है पर फिर भी सुरक्षित नहीं: प्राकृतिक-भाषा कुंजी पर सांख्यिकीय रूप से आक्रमण किया जा सकता है, इसलिए वास्तविक रहस्यों के लिए AES जैसे आधुनिक एल्गोरिदम का उपयोग कीजिए। आपका डेटा यहाँ बहरहाल निजी बना रहता है — सारी एन्कोडिंग और डिकोडिंग आपके ब्राउज़र में होती है, और एक साझा लिंक भी आपके टेक्स्ट को URL के हैश के बाद वाले हिस्से में रखता है, जिसे ब्राउज़र कभी सर्वर पर नहीं भेजते।

संबंधित टूल्स

इन उपयोगी टूल्स के साथ आगे बढ़ें

विजेनेर साइफर

ब्यूफोर्ट साइफर

ग्रोन्सफेल्ड साइफर

ऑटोकी साइफ़र

पोर्टा साइफ़र

ट्रिथेमियस साइफ़र