def crypt(b,s): """ die Bytefolge b (bytes) wird mit dem Schluessel s (bytes) xor-verknuepft, noetigenfalls wird s wiederholt """ n = len(b) m = len(s) return bytes([b[i]^s[i%m] for i in range(n)]) def hex2bytes(h): """ gibt zu einer Folge von Hex-Ziffer-Paaren (str) die zugehoerige Bytefolge (bytes) zurueck """ n = len(h) return bytes([int(h[2*i]+h[2*i+1],16) for i in range(n//2)])