Vignere Cipher को लागू करना

इस अध्याय में, आइए समझते हैं कि विग्नियर सिफर को कैसे लागू किया जाए। पाठ पर विचार करेंThis is basic implementation of Vignere Cipher एन्कोड किया जाना है और उपयोग की जाने वाली कुंजी है PIZZA.

कोड

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

import pyperclip

LETTERS = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
def main():
   myMessage = "This is basic implementation of Vignere Cipher"
   myKey = 'PIZZA'
   myMode = 'encrypt'
   
   if myMode == 'encrypt':
      translated = encryptMessage(myKey, myMessage)
   elif myMode == 'decrypt':
      translated = decryptMessage(myKey, myMessage)
   
   print('%sed message:' % (myMode.title()))
   print(translated)
   print()
def encryptMessage(key, message):
   return translateMessage(key, message, 'encrypt')
def decryptMessage(key, message):
   return translateMessage(key, message, 'decrypt')
def translateMessage(key, message, mode):
   translated = [] # stores the encrypted/decrypted message string
   keyIndex = 0
   key = key.upper()
   
   for symbol in message:
      num = LETTERS.find(symbol.upper())
      if num != -1:
         if mode == 'encrypt':
            num += LETTERS.find(key[keyIndex])
				elif mode == 'decrypt':
               num -= LETTERS.find(key[keyIndex])
            num %= len(LETTERS)
            
            if symbol.isupper():
               translated.append(LETTERS[num])
            elif symbol.islower():
               translated.append(LETTERS[num].lower())
            keyIndex += 1
            
            if keyIndex == len(key):
               keyIndex = 0
         else:
            translated.append(symbol)
      return ''.join(translated)
if __name__ == '__main__':
   main()

उत्पादन

जब आप ऊपर दिए गए कोड को लागू करते हैं तो आप निम्न आउटपुट देख सकते हैं -

विग्नियर सिफर को हैक करने के संभावित संयोजन असंभव के बगल में हैं। इसलिए, इसे एक सुरक्षित एन्क्रिप्शन मोड माना जाता है।