def vigenere_encrypt(klartext, schluessel): klartext = klartext.upper().replace(" ", "") # Entferne Leerzeichen und setze Großbuchstaben schluessel = schluessel.upper() verschluesselter_text = "" schluessel_wiederholt = "" shifts = [] for i in range(len(klartext)): key_char = schluessel[i % len(schluessel)] shift = ord(key_char) - ord('A') shifts.append(shift) enc_char = chr(((ord(klartext[i]) - ord('A') + shift) % 26) + ord('A')) verschluesselter_text += enc_char schluessel_wiederholt += key_char return verschluesselter_text, schluessel_wiederholt, shifts # Beispiel: klartext = "HELLO WORLD" schluessel = "LEMON" chiffre, schluessel_wiederholt, shifts = vigenere_encrypt(klartext, schluessel) print("Klartext: ", klartext) print("Schlüssel: ", schluessel_wiederholt) print("Verschiebungen: ", shifts) print("Chiffrierter Text: ", chiffre)