ROT13

From alpha
Jump to navigation Jump to search

frameकम

ROT13 (13 स्थानों से घुमाएँ, कभी-कभी ROT-13 को हाइफ़न किया जाता है) एक साधारण अक्षर प्रतिस्थापन सिफर है जो किसी अक्षर को वर्णमाला में उसके बाद 13वें अक्षर से बदल देता है। ROT13 सीज़र सिफर का एक विशेष मामला है जिसे प्राचीन रोम में विकसित किया गया था।

क्योंकि आईएसओ मूल लैटिन वर्णमाला में 26 अक्षर (2×13) हैं, ROT13 इसका अपना उलटा कार्य है; अर्थात्, ROT13 को पूर्ववत करने के लिए, समान कलन विधि लागू किया जाता है, इसलिए एन्कोडिंग और डिकोडिंग के लिए समान क्रिया का उपयोग किया जा सकता है। एल्गोरिथ्म वस्तुतः कोई क्रिप्टोग्राफी सुरक्षा प्रदान नहीं करता है, और इसे अक्सर कमजोर एन्क्रिप्शन के एक प्रामाणिक उदाहरण के रूप में उद्धृत किया जाता है।[1] ROT13 का उपयोग ऑनलाइन मंच में स्पॉइलर (मीडिया), पंच लाइन, पहेली समाधान और अपवित्रता को आकस्मिक नज़र से छिपाने के साधन के रूप में किया जाता है। ROT13 ने विभिन्न प्रकार के पत्र और शब्द खेलों को ऑनलाइन प्रेरित किया है, और अक्सर समाचार समूह वार्तालापों में इसका उल्लेख किया जाता है।

विवरण

पाठ के एक टुकड़े पर ROT13 को लागू करने के लिए केवल इसके वर्णानुक्रमिक वर्णों की जांच करने और वर्णमाला में आगे 13 स्थानों पर प्रत्येक को प्रतिस्थापित करने की आवश्यकता होती है, यदि आवश्यक हो तो शुरुआत में वापस लपेटा जाता है।[2] A N बन जाता है, B O बन जाता है, और इसी तरह M तक, जो Z हो जाता है, तो यह क्रम वर्णमाला के आरंभ में जारी रहता है: N बन जाता है A, O बन जाता है < kbd>B, और इसी तरह Z, जो M बन जाता है। केवल वही अक्षर प्रभावित होते हैं जो अंग्रेजी वर्णमाला में आते हैं; संख्याएं, चिह्न, विराम चिह्न, रिक्त स्थान और अन्य सभी वर्ण अपरिवर्तित छोड़ दिए गए हैं। क्योंकि अंग्रेजी वर्णमाला में 26 अक्षर हैं और 26 = 2 × 13, ROT13 फ़ंक्शन इसका अपना व्युत्क्रम कार्य है:[2]

किसी भी बुनियादी लैटिन-वर्णमाला पाठ के लिए x.

दूसरे शब्दों में, ROT13 के दो क्रमिक अनुप्रयोग मूल पाठ को पुनर्स्थापित करते हैं (गणित में, इसे कभी-कभी एक अंतर्वलन (गणित) कहा जाता है; क्रिप्टोग्राफी में, एक पारस्परिक सिफर)।

लुकअप तालिका का उपयोग करके परिवर्तन किया जा सकता है, जैसे कि निम्न:

Input ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
Output NOPQRSTUVWXYZABCDEFGHIJKLMnopqrstuvwxyzabcdefghijklm

उदाहरण के लिए, निम्नलिखित मजाक में, पंचलाइन को ROT13 द्वारा अस्पष्ट कर दिया गया है:

चिकन ने सड़क को पार क्यों किया?
जीबी टीआरजी जीबी गुर बगुर एफवीक्यूआर!

पूरे पाठ को ROT13 फॉर्म के माध्यम से बदलने पर, चुटकुला का जवाब सामने आता है:

जुलाई qvq गुरु puvpxra pebff गुर ebnq?
दूसरी तरफ जाने के लिए!

ROT13 का दूसरा अनुप्रयोग मूल को पुनर्स्थापित करेगा।

उपयोग

ROT13 एन्क्रिप्शन एल्गोरिथम का एक विशेष मामला है जिसे सीज़र सिफर के रूप में जाना जाता है, जिसका उपयोग पहली शताब्दी ईसा पूर्व में जूलियस सीजर द्वारा किया गया था।[3] जोहान अर्नस्ट एलियास बेसलर, एक 18वीं सदी के घड़ीसाज़ और सतत गति मशीनों के निर्माता, ने बताया कि ROT13 ने उनके उपनाम को ऑर्फ़ेयर के रूप में कूटबद्ध किया। उन्होंने अपने छद्म नाम के रूप में नामों के लैटिनकरण, ऑर्फीरियस का इस्तेमाल किया।[4] 1980 के दशक की शुरुआत में ROT13 net.jokes समाचार समूह में उपयोग में था।[lower-alpha 1] इसका उपयोग संभावित आपत्तिजनक चुटकुलों को छिपाने के लिए, या किसी पहेली या अन्य स्पॉइलर (मीडिया) के उत्तर को अस्पष्ट करने के लिए किया जाता है।[2][7][unreliable source?] तेरह की एक शिफ्ट को अन्य मानों पर चुना गया था, जैसे कि मूल सीज़र सिफर में तीन, क्योंकि तेरह वह मान है जिसके लिए एन्कोडिंग और डिकोडिंग समतुल्य हैं, जिससे दोनों के लिए एक कमांड की सुविधा की अनुमति मिलती है।[7]ROT13 को आमतौर पर न्यूज़रीडिंग सॉफ़्टवेयर की अंतर्निहित सुविधा के रूप में समर्थित किया जाता है।[7]कम परिष्कृत स्पैम बॉट्स से उन्हें छिपाने के लिए ईमेल पते भी कभी-कभी ROT13 के साथ एन्कोड किए जाते हैं।[8][dubious ] इसका उपयोग ईमेल स्क्रीनिंग और स्पैम फ़िल्टरिंग को रोकने के लिए भी किया जाता है। एक ईमेल की सामग्री को अस्पष्ट करके, स्क्रीनिंग एल्गोरिथ्म ईमेल की पहचान करने में असमर्थ है, उदाहरण के लिए, एक सुरक्षा जोखिम, और इसे प्राप्तकर्ता के इन-बॉक्स में अनुमति देता है।

किसी भी महत्वपूर्ण आकार के एन्क्रिप्टेड, सामान्य, अंग्रेजी-भाषा पाठ में, ROT13 कुछ अक्षर/शब्द पैटर्न से पहचानने योग्य है। शब्द n , V (केवल पूंजीकृत), और gur ( a , I , और ) के लिए ROT13 , और yl ( ly ) में समाप्त होने वाले शब्द इसके उदाहरण हैं।

ROT13 का उपयोग करने का इरादा नहीं है जहां गोपनीयता किसी भी चिंता का विषय है - एक निरंतर बदलाव के उपयोग का मतलब है कि एन्क्रिप्शन प्रभावी रूप से कोई कुंजी (क्रिप्टोग्राफी) नहीं है, और डिक्रिप्शन के लिए इस तथ्य से अधिक ज्ञान की आवश्यकता नहीं है कि ROT13 उपयोग में है। इस ज्ञान के बिना भी, आवृत्ति विश्लेषण (क्रिप्टैनालिसिस) के माध्यम से एल्गोरिथम आसानी से टूट जाता है।[2]वास्तविक गोपनीयता के लिए इसकी अत्यधिक अनुपयुक्तता के कारण, ROT13 किसी भी स्पष्ट रूप से कमजोर कूटलेखन योजना को संदर्भित करने के लिए एक जुमला बन गया है; एक आलोचक यह दावा कर सकता है कि 56-बिट डेटा एन्क्रिप्शन मानक इन दिनों ROT13 से थोड़ा बेहतर है। साथ ही, डबल डेस जैसे वास्तविक शब्दों पर एक नाटक में, डबल ROT13, ROT26, या 2ROT13 शब्द विनोदी इरादे से सामने आते हैं (इस तथ्य के कारण कि, ROT13 को पहले से ही ROT13-एन्क्रिप्टेड पाठ पर लागू करने से मूल सादा पाठ पुनर्स्थापित हो जाता है, ROT26 है किसी भी एन्क्रिप्शन के बराबर नहीं), जिसमें 2ROT13 एन्क्रिप्शन एल्गोरिथम नामक स्पूफ अकादमिक पेपर शामिल है।[9] विस्तार से, ट्रिपल-ROT13 (3DES के साथ मज़ाक सादृश्य में प्रयुक्त) नियमित ROT13 के बराबर है।

दिसंबर 1999 में, यह पाया गया कि नेटस्केप कम्युनिकेटर ईमेल पासवर्ड स्टोर करने के लिए एक असुरक्षित योजना के हिस्से के रूप में ROT13 का उपयोग करता है।[10] 2001 में, रूसी प्रोग्रामर दिमित्री स्किलारोव ने प्रदर्शित किया कि एक ईबुक विक्रेता, न्यू पैराडाइम रिसर्च ग्रुप (एनपीआरजी) ने अपने दस्तावेज़ों को एन्क्रिप्ट करने के लिए ROT13 का उपयोग किया; यह अनुमान लगाया गया है कि एनपीआरजी ने एक गंभीर एन्क्रिप्शन योजना के लिए-एडोब सिस्टम्स ईबुक सॉफ़्टवेयर विकास किट के साथ प्रदान किए गए ROT13 खिलौना उदाहरण को गलत किया हो सकता है।[11] Windows XP अपनी कुछ रजिस्ट्री कुंजियों पर ROT13 का उपयोग करता है।[12] ROT13 का उपयोग भाग्य (यूनिक्स) में संभावित आपत्तिजनक तानाशाही को छुपाने के लिए भी किया जाता है।

पत्र खेल और शुद्ध संस्कृति

abcdefghijklmnopqrstuvwxyz
NOPQRSTUVWXYZABCDEFGHIJKLM
ahanun antnag
balkonyx barone
barfones beor
binova ebbsroof
envyrail erre
errsreef flapsync
furshe geltry
gnattang irkvex
clerkpyrex purelycheryl
PNGcat SHAfun
furbysheol terragreen
whatJung URLhey
purpuraChechen shoneFUBAR
AresNerf abjurernowhere

ROT13 अक्षरों के खेल के लिए एक अवसर प्रदान करता है। कुछ शब्द, जब ROT13 के साथ रूपांतरित होते हैं, तो दूसरा शब्द उत्पन्न करते हैं। अंग्रेजी भाषा में 7-अक्षरों के जोड़े के उदाहरण विक्षनरी हैं: एब्जुरर और कहीं नहीं, और चेचन लोग और विक्षनरी: पुरपुरा। इस तरह के शब्दों के अन्य उदाहरण तालिका में दिखाए गए हैं।[13] जोड़ी gnat और tang शब्दों का एक उदाहरण है जो ROT13 पारस्परिक और उत्क्रमण दोनों हैं।

1989 की अंतर्राष्ट्रीय अस्पष्ट सी कोड प्रतियोगिता (IOCCC) में ब्रायन वेस्टली द्वारा एक प्रविष्टि शामिल थी। वेस्टली के कंप्यूटर प्रोग्राम को ROT13 में एन्कोड किया जा सकता है या सही ढंग से रिवर्स और स्टिल संकलक बनाया जा सकता है। इसका संचालन, जब निष्पादित किया जाता है, या तो ROT13 एन्कोडिंग को निष्पादित करने के लिए या इसके इनपुट को उलटने के लिए होता है।[14] न्यूज़ग्रुप alt.folklore.urban ने एक शब्द गढ़ा-फर्रफू-जो अक्सर एन्कोडेड उच्चारण का ROT13 एन्कोडिंग था:wikt:sheesh। Furrfu 1992 के मध्य में alt.folklore.urban पर शहरी मिथकों को दोहराने वाली पोस्टिंग की प्रतिक्रिया के रूप में विकसित हुआ, जब कुछ पोस्टरों ने शिकायत की कि शीश! newbies की प्रतिक्रिया के रूप में अति प्रयोग किया जा रहा था।[15]


वेरिएंट

ROT5, ROT13 के समान एक अभ्यास है जो संख्यात्मक अंकों (0 से 9) पर लागू होता है। ROT13 और ROT5 का एक ही संदेश में एक साथ उपयोग किया जा सकता है, जिसे कभी-कभी ROT18 (18 = 13 + 5) या ROT13.5 कहा जाता है।

ROT47, ROT13 का एक व्युत्पन्न है, जो मूल अक्षरों को पांव मारने के अलावा, संख्याओं और सामान्य प्रतीकों का व्यवहार करता है। अनुक्रम A-Z को वर्णमाला के रूप में उपयोग करने के बजाय, ROT47 ASCII नामक सामान्य अक्षरों को सांकेतिक अक्षरों में बदलना से वर्णों के एक बड़े सेट का उपयोग करता है। विशेष रूप से, 7-बिट प्रिंट करने योग्य वर्ण, स्पेस को छोड़कर, दशमलव 33 '!' से लेकर 126 '~' तक, कुल 94, संख्यात्मक मानों के क्रम में लिए गए उनके ASCII कोड, मामले के विशेष विचार के बिना, 47 पदों से घुमाए जाते हैं। उदाहरण के लिए, कैरेक्टर A को p में मैप किया जाता है, जबकि a को 2 में मैप किया जाता है। एक बड़े अक्षर का उपयोग ROT13 की तुलना में अधिक गहन अस्पष्टता पैदा करता है; उदाहरण के लिए, एक टेलीफोन नंबर जैसे +1-415-839-6885 तले हुए परिणाम Z'\c`d\gbh\eggd से पहली नजर में स्पष्ट नहीं है . दूसरी ओर, क्योंकि ROT47 बिना किसी भेदभाव के मिश्रण में संख्याओं और प्रतीकों का परिचय देता है, यह तुरंत स्पष्ट हो जाता है कि पाठ को एन्कोड किया गया है।

उदाहरण:

आलसी कुत्ते पर फुर्तीली भूरी लोमड़ी कूदती है।

को कूटबद्ध करता है

%96 F:4< qC@H? u@I yF>AD ~G6C %96 {2KJ s@8]

GNU C लाइब्रेरी, कंप्यूटर प्रोग्रामिंग में उपयोग के लिए उपलब्ध मानक रूटीन का एक सेट है, जिसमें एक फ़ंक्शन (प्रोग्रामिंग) शामिल है—memfrob()[16]- जिसका ROT13 के समान उद्देश्य है, हालांकि यह मनमाना बाइनरी डेटा के उपयोग के लिए अभिप्रेत है। फ़ंक्शन प्रत्येक बाइट को बाइनरी संख्या पैटर्न 00101010 (42 (संख्या)) के साथ अनन्य या (XOR) ऑपरेशन का उपयोग करके संचालित करता है। यह एक साधारण XOR सिफर को प्रभावित करता है। ROT13 की तरह, XOR (और इसलिए memfrob()) स्व-पारस्परिक है, और एक समान, वस्तुतः अनुपस्थित, सुरक्षा का स्तर प्रदान करता है।

कार्यान्वयन

टीआर

यूनिक्स टर्मिनल एप्लिकेशन Tr (Unix) का उपयोग करके ROT13 और ROT47 को लागू करना काफी आसान है; स्ट्रिंग को एन्क्रिप्ट करने के लिए ROT13 में द क्विक ब्राउन फॉक्स जंप्स ओवर द लेज़ी डॉग:

$ # Map upper case A-Z to N-ZA-M and lower case a-z to n-za-m
$ tr 'A-Za-z' 'N-ZA-Mn-za-m' <<< "The Quick Brown Fox Jumps Over The Lazy Dog"
Gur Dhvpx Oebja Sbk Whzcf Bire Gur Ynml Qbt

और ROT47 के लिए समान स्ट्रिंग:

$ echo "The Quick Brown Fox Jumps Over The Lazy Dog" | tr '\!-~' 'P-~\!-O'
%96 "F:4< qC@H? u@I yF>AD ~G6C %96 {2KJ s@8


Emacs और विम

Emacs में, कोई भी ROT13 बफर या निम्न आदेशों के साथ चयन कर सकता है:[17]

M-x toggle-rot13-mode
M-x rot13-other-window
M-x rot13-region

और विम (पाठ संपादक) में, कमांड के साथ एक बफर ROT13 कर सकते हैं:[18] जीजीजी? जी

पायथन

मॉड्यूल codecs प्रदान करता है 'rot13' पाठ रूपांतरण।[19]

>>> import codecs
>>> print(codecs.encode('The Quick Brown Fox Jumps Over The Lazy Dog', 'rot13'))
Gur Dhvpx Oebja Sbk Whzcf Bire Gur Ynml Qbt


यह भी देखें

संदर्भ

  1. Early uses of ROT13 found in the Google USENET archive date back to 8 October 1982, posted to the net.jokes newsgroup.[5][6]
  1. Christopher Swenson (17 March 2008). Modern Cryptanalysis: Techniques for Advanced Code Breaking. John Wiley & Sons. p. 5. ISBN 9780470135938. Archived from the original on 24 June 2016. Retrieved 5 October 2015.
  2. 2.0 2.1 2.2 2.3 Schneier, Bruce (1996). एप्लाइड क्रिप्टोग्राफी (Second ed.). John Wiley & Sons. pp. 11. ISBN 0-471-11709-9.
  3. Kahn, David. The Codebreakers: The Story of Secret Writing. New York: Macmillan. ISBN 0-684-83130-9.
  4. Simanek, Donald E. (2012). "Perpetual Futility: A short history of the search for perpetual motion". The Museum of Unworkable Devices. Archived from the original on 10 October 2020. Retrieved 28 October 2020.
  5. desoto!gog (8 October 1982). "very mildly obscence joke, shift=13". Newsgroupnet.jokes.
  6. utcsrgv!dave (8 October 1982). "encrypted jokes". Newsgroupnet.jokes.
  7. 7.0 7.1 7.2 Raymond, Eric S. (ed.) (29 December 2003). "ROT13". The Jargon File, 4.4.7. Archived from the original on 13 January 2012. Retrieved 19 September 2007. {{cite web}}: |first= has generic name (help)
  8. Ferner, Matt (9 December 2010). "स्पैम बॉट्स से ईमेल एड्रेस कैसे छिपाएं". PracticalEcommerce. Archived from the original on 8 May 2016. Retrieved 12 June 2014.
  9. "On the 2ROT13 Encryption Algorithm" (PDF). Prüfziffernberechnung in der Praxis. 25 September 2004. Archived (PDF) from the original on 15 April 2012. Retrieved 20 September 2007.
  10. Hollebeek, Tim; Viega, John. "Bad Cryptography in the Netscape Browser: A Case Study". Reliable Software Technologies. CiteSeerX 10.1.1.15.9271. {{cite journal}}: Cite journal requires |journal= (help)
  11. Perens, Bruce (1 September 2001). "Dimitry Sklyarov: Enemy or friend?". ZDNet News. Archived from the original on 17 October 2014. Retrieved 3 February 2011.
  12. "ROT13 is used in Windows". 24 July 2006. Archived from the original on 20 December 2016. Retrieved 15 December 2016.
  13. De Mulder, Tom. "ROT13 Words". Furrfu!. Archived from the original on 2 April 2012. Retrieved 19 September 2007.
  14. Westley, Brian (1989). "वेस्टले.सी". IOCCC. Archived from the original on 9 June 2012. Retrieved 13 August 2007.
  15. "पोस्तीन का". Foldoc. 25 October 1995. Archived from the original on 14 July 2014. Retrieved 3 October 2016.
  16. "5.13 Obfuscating Data". The GNU C Library Reference Manual. Free Software Foundation. 3 December 2006. Archived from the original on 2 August 2019. Retrieved 2 August 2019.
  17. "Rmail Rot13 – GNU Emacs Manual" Archived 24 March 2016 at the Wayback Machine. www.gnu.org.
  18. "वीआईएम टिप्स के सर्वश्रेष्ठ, जीवीआईएम की मुख्य विशेषताएं जैपर". rayninfo.co.uk. 3 March 2016. Archived from the original on 3 March 2016.
  19. "codecs – Codec registry and base classes – Python 3.9.6 documentation". docs.python.org. Archived from the original on 6 October 2020. Retrieved 7 October 2020.


बाहरी संबंध