Skip to main content
  1. Posts/

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

Themen