Vignere Cipher'ı Uygulama

Bu bölümde, Vignere şifresini nasıl uygulayacağımızı anlayalım. Metni düşününThis is basic implementation of Vignere Cipher kodlanacak ve kullanılan anahtar PIZZA.

Kod

Python'da bir Vignere şifresi uygulamak için aşağıdaki kodu kullanabilirsiniz -

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()

Çıktı

Yukarıda verilen kodu uyguladığınızda aşağıdaki çıktıyı gözlemleyebilirsiniz -

Vignere şifresini hacklemenin olası kombinasyonları neredeyse imkansız. Bu nedenle, güvenli bir şifreleme modu olarak kabul edilir.