सरल प्रतिस्थापन सिफर का डिक्रिप्शन
इस अध्याय में, आप प्रतिस्थापन प्रतिस्थापन सिफर के सरल कार्यान्वयन के बारे में जान सकते हैं जो सरल प्रतिस्थापन प्रतिस्थापन सिफर तकनीक में प्रयुक्त तर्क के अनुसार एन्क्रिप्ट और डिक्रिप्ट किए गए संदेश को प्रदर्शित करता है। इसे कोडिंग के वैकल्पिक दृष्टिकोण के रूप में माना जा सकता है।
कोड
आप साधारण प्रतिस्थापन सिफर का उपयोग कर डिक्रिप्शन करने के लिए निम्न कोड का उपयोग कर सकते हैं -
import random
chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' + \
'abcdefghijklmnopqrstuvwxyz' + \
'0123456789' + \
':.;,?!@#$%&()+=-*/_<> []{}`~^"\'\\'
def generate_key():
"""Generate an key for our cipher"""
shuffled = sorted(chars, key=lambda k: random.random())
return dict(zip(chars, shuffled))
def encrypt(key, plaintext):
"""Encrypt the string and return the ciphertext"""
return ''.join(key[l] for l in plaintext)
def decrypt(key, ciphertext):
"""Decrypt the string and return the plaintext"""
flipped = {v: k for k, v in key.items()}
return ''.join(flipped[l] for l in ciphertext)
def show_result(plaintext):
"""Generate a resulting cipher with elements shown"""
key = generate_key()
encrypted = encrypt(key, plaintext)
decrypted = decrypt(key, encrypted)
print 'Key: %s' % key
print 'Plaintext: %s' % plaintext
print 'Encrypted: %s' % encrypted
print 'Decrypted: %s' % decrypted
show_result('Hello World. This is demo of substitution cipher')
उत्पादन
उपरोक्त कोड आपको यहाँ दिखाए अनुसार आउटपुट देता है -