Ich verstehe kein Wort.
Das Programm ist mir irgendwie zu konfus.

Ich weiß nicht genau, ob das deine Frage beantwortet, aber ich hoffe es einfach mal: Im Bezug auf die Multiplikationschiffre, bei der auch eine Modulorechnung benutzt wird ([Klartextbuchstabe * Schlüssel] % Alphabetlänge = Cryptobuchstabe), ist es sinnvoll eine Primzahl als Schlüssel zu benutzen, weil Schlüssel und Alphabetlänge teilerfremd sein müssen - was bei einer Primzahl bei fast allen Zahlen gegeben ist. Andernfalls lässt sich kein multiplikatives Inverses finden, mit der die Verschlüsselung umgekehrt werden kann. Ein Hash soll zwar nicht umgekehrt werden - weshalb man auch kein multiplikatives Inverses braucht - aber IIRC wird dadurch auch die Eindeutigkeit der Projektion (der verschlüsselten Botschaft) nicht sichergestellt.