पायथन के साथ क्रिप्टोग्राफी - XOR प्रक्रिया

इस अध्याय में, आइए हम पायथन में कोडिंग के साथ-साथ XOR प्रक्रिया को समझते हैं।

कलन विधि

एन्क्रिप्शन और डिक्रिप्शन का XOR एल्गोरिथम सादे पाठ को ASCII बाइट्स में कनवर्ट करता है और इसे निर्दिष्ट बाइट में बदलने के लिए XOR प्रक्रिया का उपयोग करता है। यह अपने उपयोगकर्ताओं को निम्नलिखित लाभ प्रदान करता है -

  • तेज संगणना
  • बाएँ और दाएँ पक्ष में कोई अंतर नहीं
  • समझने और विश्लेषण करने में आसान

कोड

XOR प्रक्रिया करने के लिए आप निम्नलिखित कोड का उपयोग कर सकते हैं -

def xor_crypt_string(data, key = 'awesomepassword', encode = False, decode = False):
   from itertools import izip, cycle
   import base64
   
   if decode:
      data = base64.decodestring(data)
   xored = ''.join(chr(ord(x) ^ ord(y)) for (x,y) in izip(data, cycle(key)))
   
   if encode:
      return base64.encodestring(xored).strip()
   return xored
secret_data = "XOR procedure"

print("The cipher text is")
print xor_crypt_string(secret_data, encode = True)
print("The plain text fetched")
print xor_crypt_string(xor_crypt_string(secret_data, encode = True), decode = True)

उत्पादन

XOR प्रक्रिया का कोड आपको निम्नलिखित आउटपुट देता है -

व्याख्या

  • कार्यक्रम xor_crypt_string() इनकॉड और डिकोड के मोड और स्ट्रिंग मान को निर्दिष्ट करने के लिए एक पैरामीटर शामिल है।

  • मूल कार्यों को आधार 64 मॉड्यूल के साथ लिया जाता है जो सादे पाठ / सिफर पाठ को एन्क्रिप्ट या डिक्रिप्ट करने के लिए XOR प्रक्रिया / संचालन का अनुसरण करता है।

Note - XOR एन्क्रिप्शन का उपयोग डेटा को एन्क्रिप्ट करने के लिए किया जाता है और यह ब्रूट-फोर्स विधि द्वारा क्रैक करने के लिए कठिन है, जो कि सही सिफर टेक्स्ट के साथ मिलान करने के लिए यादृच्छिक एन्क्रिप्टिंग कुंजी उत्पन्न करके है।