Hier die leicht einzuprägende Stromchiffre RC4 in Python3 gepackt.
Die Chiffre wird mittlerweile aufs Abstellgleis gestellt und sollte NICHT mehr verwendet werden ! (Weitere Infos im verlinkten Wiki-Eintrag).

Python Source Code
- # -*- coding: utf-8 -*-
- def rc4crypt(data, key):
- x = 0
- box = list(range(256)) # Python3 fix...
- for i in range(256):
- x = (x + box[i] + ord(key[i % len(key)])) % 256
- box[i], box[x] = box[x], box[i]
- x = 0
- y = 0
- out = []
- for char in data:
- x = (x + 1) % 256
- y = (y + box[x]) % 256
- box[x], box[y] = box[y], box[x]
- out.append(chr(ord(char) ^ box[(box[x] + box[y]) % 256]))
- return ''.join(out)
- def main():
- print("\t\t..:: __RC4__ ::..\n\n")
- testEncrypt = rc4crypt("Test", "PaSsW0rD")
- testDecrypt = rc4crypt(testEncrypt, "PaSsW0rD")
- testFail = rc4crypt(testEncrypt, "PaSsWOrD") # testen, ob Entschlüsselung falsch...
- print(" RC4(\"Test\", \"PaSsW0rD\") = %s" % testEncrypt)
- print(" RC4(\" + testEncrypt + \", \"PaSsW0rD\") = %s" % testDecrypt)
- print("[!] RC4(\" + testEncrypt + \", \"PaSsWOrD\") = %s" % testFail)
- print("Bye...")
- return
- if __name__ == '__main__':
- main()
..:: Beispielausgabe ::..
