Hallo Ich Programmiere zurzeit in C# den RSA Algorithmus nach für die Schlüssel benötigt man da sehr hohe Zahlen gibt es Datentypen für solche?

...komplette Frage anzeigen

3 Antworten

System.Numerics.BigInteger

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von dillyknox
09.03.2017, 17:21

Vielen Dank könntest du mir eventuell noch sagen wie man Eine BigInteger Zahl Multipliziert?

0

Willst Du wirklich mit der langsamsten Sprache arbeiten?

Schon bei 26 stelligen Zahlen habe ich bei 1-Kern-Software:

c++GMP x64 V5    5,01 min
GP/PARI x64 8,18 min
c++GMP x32 V5 11,38 min
JAVA x64 11,57 min
c++GMP x32 V4 18,77 min
c# BigInteger64 33,39 min

RSA arbeitet aber mit 1000stelligen Zahlen -> da sollte man schon optimieren und c# bietet außer BigInteger nicht viel Optimierungsmöglichkeiten...

Mit größer werdenden Zahlen wird der Abstand noch größer...

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von hypergerd
03.03.2017, 17:23

Hinweis: es gibt nicht "den RSA-Algorithmus", sondern viele wie:

- einfaches Verschlüsseln

- einfaches entschlüsseln

- RSA-Zahl in 2 Faktoren zerlegen

usw. ...

Meine Zeiten bezogen sich nur auf das Finden von 10^7 Primzahlen mit je 26 Stellen. 

0

Kenne mich zwar mit C# speziell nicht aus, aber laut Google:
ulong

Reicht von 0 bis 18446744073709551615.
Das sollte vermutlich reichen :D

Antwort bewerten Vielen Dank für Deine Bewertung

Was möchtest Du wissen?