Ich habe ein (paar) Probleme mit meinem Programm.
Es geht um das RSA- Verfahren.
1) Ich verstehe nicht warum meine Verschlüsselungsfunktion nicht funtkioniert.
2) Wie kann ich auf meine Funktionen zugreifen und mit den return-Werten weiterarbeiten(siehe Funktion rsaverfahren)?
3) Wie kann ich später den verschlüsselten Text wieder in einen normal lesbaren Text umwandeln, wenn ich nur noch eine große Zahl habe?
Hier eine Seite an der ich mich orientiere.
http://www.inf-schule.de/index.php?vers ... larepotenz
Code: Alles auswählen
p = 7 q = 11 e = 17 n=p*q phin=(p-1)*(q-1) klartext = "RSA VERFAHREN" def formatieren(textzumformatieren): textzumformatieren=textzumformatieren.lower() formatiertertext = "" for i in textzumformatieren: if ord(i) != 32: formatiertertext += i return formatiertertext def stringtoascii(stringtoasciitext): asciitext = [] for i in stringtoasciitext: asciitext.append(ord(i)) return asciitext def verschluesseln(zahlzumverschlüsseln,e,n): verschluesseltertext = "" for i in zahlzumverschlüsseln[:]: print(i) verschluesseltertext = verschluesseltertext + str((i**e)%n) return verschluesseltertext def teilbarkeit(zahl2,zahl1): if zahl2 % zahl1 == 0: print("Zahl " + str(zahl1) + " ist ein Teiler von " + str(zahl2)) return 1 else: print("Zahl " + str(zahl1) + " ist kein Teiler von " + str(zahl2)) return 0 def rsaverfahren(klartext, p, q, e, n, phin): test = teilbarkeit(phin,e) if test == 1: quit else: print("test") print(verschluesseln([ord("a"),ord("b"),ord("c")],e,n)) """ print(formatieren(klartext)) print(stringtoascii()) print(verschluesseln([10],e,n)) """
Mfg
Panguan