def VigenereEnc(PlainText,Key):
PlainText = PlainText.upper()
Key = Key.upper()
outstr = ""
for i in xrange(len(PlainText)):
plainc = PlainText[i]
keyc = Key[i%(len(Key)-1)]
plainnum = ord(plainc)-65
keynum = ord(keyc)-65
outstr += chr((plainnum+keynum)%26+65)
print outstr
︡
def VigenereDec(CipherText,Key):
CipherText = CipherText.upper()
Key = Key.upper()
outstr = ""
for i in xrange(len(CipherText)):
cipherc = CipherText[i]
keyc = Key[i%(len(Key)-1)]
ciphernum = ord(cipherc)-65
keynum = ord(keyc)-65
outstr += chr((ciphernum-keynum)%26+65)
print outstr
︡