RSA-Verschlüsselung

In der Veranstaltung „Diskrete Strukturen II“ an der Uni Kassel im Wintersemester 11/12 wurde das Verschlüsselungsverfahren RSA vorgestellt. Die daraus erhaltenen Informationen wurden von mir genutzt, um ein kleines Tool zu entwickeln, mit dem RSA verschlüsselt und entschlüsselt werden kann. Gleichzeitig unterstützt es noch die Funktion zur generierung von großen Primzahlen, also zur generierung von Schlüsseln für RSA.

Des weiteren kann das Programm auch RSA-Nachrichten knacken, wenn die Schlüssel ungünstig gewählt wurden. Dies ist der Fall, wenn die 2 Schlüssel zum Beispiel sehr nah bei einander liegen oder einer der Schlüssel sehr klein ist.

Bei der Umsetzung wurde Java verwendet. Da alle gängigen Zahlenrepräsentation innerhalb von Java zu klein sind, wurden BigInteger verwendet. Damit können beliebig große Zahlen repräsentiert werden. Allerdings bringt Java von Haus aus nicht alle mathematischen Grundfunktionen für BigInteger mit, sodass unter anderem die Wurzelfunktion selbst realisiert werden musste.