Archiv verlassen und diese Seite im Standarddesign anzeigen : Lange Zahlen (512BIT?,1024BIT?)
Unfug
2007-05-09, 15:29:29
Hi,
RSA verwendet ja enorm große Primzahlen um die Verschlüsselung zu garantieren. Meine Frage wäre: Wie kann man sowas denn in C# zum Bleistift programmieren? Hab schonmal irgendwo gehört/gesehen, daß die Zahlen als Hexdezimal gespeichert werden statt.
Ist das korrekt so? Gibt ja einige Programme die RSA als Verschlüsselungstechnik (VPN,Truecrypt?, Hamachi) verwenden. Muss ja irgendwie funktionieren.
Gruß
DaFakka
2007-05-09, 15:47:57
In Java gibt es die Klasse BigInteger, die einfach Strings so zusammenkloppt,
zumindest glaube ich das, um theoretisch beliebig grosse ganze Zahlen darzustellen. Evtl. gibt es sowas auch für C#
Hi,
RSA verwendet ja enorm große Primzahlen um die Verschlüsselung zu garantieren. Meine Frage wäre: Wie kann man sowas denn in C# zum Bleistift programmieren? Hab schonmal irgendwo gehört/gesehen, daß die Zahlen als Hexdezimal gespeichert werden statt.
Ist das korrekt so? Gibt ja einige Programme die RSA als Verschlüsselungstechnik (VPN,Truecrypt?, Hamachi) verwenden. Muss ja irgendwie funktionieren.
Gruß
Mit Hilfe von Arrays
Konzeptionell geht das so:
Man rechnet zur Basis 2^32 und benutzt einzelne unsigned ints als Ziffern.
Ich würd einfach mal googlen nach "C# bignum", es gibt einige die da schon was geschrieben haben.
Gnafoo
2007-05-09, 20:21:39
Das könnte dich interessieren:
http://www.codeproject.com/csharp/BigInteger.asp
Leider kommt man nur an den eigentlichen Code ran, wenn man sich angemeldet hat.
Ein Vorgehen wäre eben, indem man eine Klasse für solche Zahlen erstellt. Die Zahlenwerte können dabei in Arrays gespeichert werden und die Operationen für Addition, Subtraktion, Multiplikation, etc. pp. müssen dann selbst implementiert werden. (Die entsprechenden Operatoren können gegebenenfalls überschrieben werden, um die Handhabung zu vereinfachen.)
Bietchiebatchie
2007-05-10, 01:54:29
im .net framework 3.5 gibt es einen BigInteger-Typ. (Ich vermute mal einfach, dass du unter .net programmierst, da du c# erwähnst.)
Allerdings scheints es dazu noch keine Doku zu geben, zumindest hab ich in der msdn-suche grad nix gefunden.
vBulletin®, Copyright ©2000-2024, Jelsoft Enterprises Ltd.