पायथन के साथ क्रिप्टोग्राफी - ROT13 एल्गोरिथम
अब तक, आपने रिवर्स सिफर और सीज़र सिफर एल्गोरिदम के बारे में सीखा है। अब, ROT13 एल्गोरिथ्म और इसके कार्यान्वयन पर चर्चा करते हैं।
ROT13 एल्गोरिथम की व्याख्या
ROT13 सिफर संक्षिप्त रूप को संदर्भित करता है Rotate by 13 places। यह सीज़र सिफर का एक विशेष मामला है जिसमें शिफ्ट हमेशा १३ होता है। हर अक्षर को संदेश को एन्क्रिप्ट या डिक्रिप्ट करने के लिए १३ स्थानों पर स्थानांतरित किया जाता है।
उदाहरण
निम्नलिखित चित्र ROT13 एल्गोरिथम प्रक्रिया को सचित्र रूप से समझाता है -
प्रोग्राम कोड
ROT13 एल्गोरिदम का कार्यक्रम कार्यान्वयन निम्नानुसार है -
from string import maketrans
rot13trans = maketrans('ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz',
'NOPQRSTUVWXYZABCDEFGHIJKLMnopqrstuvwxyzabcdefghijklm')
# Function to translate plain text
def rot13(text):
return text.translate(rot13trans)
def main():
txt = "ROT13 Algorithm"
print rot13(txt)
if __name__ == "__main__":
main()
आप निम्न चित्र में दिखाए गए अनुसार ROT13 आउटपुट देख सकते हैं -
कमी
ROT13 एल्गोरिथ्म 13 पारियों का उपयोग करता है। इसलिए, सिफर टेक्स्ट को डिक्रिप्ट करने के लिए पात्रों को रिवर्स तरीके से शिफ्ट करना बहुत आसान है।
ROT13 एल्गोरिथम का विश्लेषण
ROT13 सिफर एल्गोरिथ्म को सीज़र सिफर का विशेष मामला माना जाता है। यह एक बहुत ही सुरक्षित एल्गोरिथ्म नहीं है और आवृत्ति विश्लेषण के साथ या संभव 25 कुंजियों को आज़माकर आसानी से तोड़ा जा सकता है जबकि ROT13 को 13 स्थानों पर शिफ्ट करके तोड़ा जा सकता है। इसलिए, इसमें कोई व्यावहारिक उपयोग शामिल नहीं है।