'''
name: Rafael STROHMAYER-DANGL
username: 20250067
file: vigenere.py
'''
def buildSquare():
    alphabet = ["Z", "A", "B", "C", "D", "E", "F", "G", "H", "I", "J",
    "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V",
    "W", "X", "Y"]
    square = []
    for i in range(26):
        alphabet.insert(25, alphabet.pop(0))
        square.append(list(alphabet))
    return square
square = buildSquare()

def encrypt(msg, key):
    msg = msg.upper()
    key = key.upper()
    encryptedMsg = ""
    currentKeyIndex = -1
    for i in range(len(msg)):
        if msg[i].isalpha():
            currentKeyIndex += 1
            if currentKeyIndex > len(key) - 1:
                currentKeyIndex = 0
            
            letterMsg = msg[i]
            letterKey = key[currentKeyIndex]
            encryptedMsg += (square[ord(letterMsg) - 65][ord(letterKey) - 65])
        else:
            encryptedMsg += msg[i]
    
def decrypt(msg, key):
    msg = msg.upper()
    key = key.upper()
    decryptedMsg = ""
    currentKeyIndex = -1
    for i in range(len(msg)):
        if msg[i].isalpha():
            currentKeyIndex += 1
            if currentKeyIndex > len(key) - 1:
                currentKeyIndex = 0
            
            letterMsg = msg[i]
            letterKey = key[currentKeyIndex]
            decryptedMsg += #UNFINISHED
        else:
            decryptedMsg += msg[i]
encrypt("Mein Freund ist Hugo", "CODE")