Hallo!
Bin hier mal dem Forum bei gestoßen, weil ich für ein Informatikreferat Hilfe brauche.
Das Thema ist Kryptologie. Also habe ich mir gedacht, erstmal so ein bissi Hintergrundwissen zu erzählen und dann ein simples Verfahren per Transposition und dann noch RSA zu zeigen und vorzurechnen.
Nun habe ich mir das RSA Verfahren mal angesehen und oha, dass ist ordentlich schwer. Jedoch denke ich, das halbwegs verstanden zu haben, wollte mich aber jetzt doch noch mal bei den Profis vergewissern:
zwei Zahlen p und q werden gewählt, möglichst große Primzahlen, so 128bit aufwärts.
Dann wird n mit p*q errechnet.
Danach kommt e, eine relativ prime Zahl zu (p-1)(q-1), also (p-1)(q-1) -- müsste gehen.
Nun kommt mein erstes hartes Problem: d wird ja mit dem erweiterten euklidischen Algorithmus errechnet, mit dem Probierverfahren durch umstellen der Gleichung kann ich das, aber eine Funktion dazu krieg ich nicht auf die Reihe. (*ganz-vorsichtig-fragend* wird das mit einer rekursiven Funktion gelöst)
Nun nehme ich meinen String und forme ihn in einige Zahlenblöcke um, sodass die Zahl des Blockes unter n bleibt.
Diese Blöcke bekommen jeweils den Exponenten e und wird mit dem Modulo Operator mit n zu einer neuen schiefrierten zahl verrechnet.
Diese Zahl mit dem Exponenten d und wieder Module n entschlüsselt die Nachricht wieder.
Würde das ganze ja mal durchrechnen, aber bin derzeit nur PHP mächtig, das irgendwie mit dem Modulo Operator Probleme macht bei 2 11-Stelligen Zahlen (ich weiß, zu kurz für die Praxis, aber es geht ja ums Prinzip).
Deshalb würde ich es gerne einfach mal von euch bestätigt oder korrigiert haben.
Gruß Sebastian