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.
def encrypt(k, m):
return ''.join([chr(((ord(k[i % len(k)]) + ord(x) + 1) % 26) + ord('A')) for i, x in enumerate(m)])
def decrypt(k, c):
return ''.join([chr(((ord(x) - ord(k[i % len(k)]) - 1) % 26) + ord('A')) for i, x in enumerate(c)])
Themenübersicht