Sicherheit am KIT
Für die Vigenère-Chiffre sind mir spontan diese Einzeiler eingefallen, es gibt sicherlich schöneren Pythoncode, aber zum schnellen Ausprobieren in der Python-Shell sind die Funktionen ganz praktisch. In der Vorlesung und der Übung besteht der Unterschied von 1 in der Definition. Die Funktionen verwenden die Variante mit +1: Verschlüsselt man A mit dem Schlüssel A, ergibt sich B.
def encrypt(k, m):
return ''.join([chr(((ord(k[i % len(k)]) + ord(x) + 1) % 26) + ord('A')) for i, x in enumerate(m)])