• Hallo liebe Userinnen und User,

    nach bereits längeren Planungen und Vorbereitungen sind wir nun von vBulletin auf Xenforo umgestiegen. Die Umstellung musste leider aufgrund der Serverprobleme der letzten Tage notgedrungen vorverlegt werden. Das neue Forum ist soweit voll funktionsfähig, allerdings sind noch nicht alle der gewohnten Funktionen vorhanden. Nach Möglichkeit werden wir sie in den nächsten Wochen nachrüsten. Dafür sollte es nun einige der Probleme lösen, die wir in den letzten Tagen, Wochen und Monaten hatten. Auch der Server ist nun potenter als bei unserem alten Hoster, wodurch wir nun langfristig den Tank mit Bytes vollgetankt haben.

    Anfangs mag die neue Boardsoftware etwas ungewohnt sein, aber man findet sich recht schnell ein. Wir wissen, dass ihr alle Gewohnheitstiere seid, aber gebt dem neuen Board eine Chance.
    Sollte etwas der neuen oder auch gewohnten Funktionen unklar sein, könnt ihr den "Wo issn da der Button zu"-Thread im Feedback nutzen. Bugs meldet ihr bitte im Bugtracker, es wird sicher welche geben die uns noch nicht aufgefallen sind. Ich werde das dann versuchen, halbwegs im Startbeitrag übersichtlich zu halten, was an Arbeit noch aussteht.

    Neu ist, dass die Boardsoftware deutlich besser für Mobiltelefone und diverse Endgeräte geeignet ist und nun auch im mobilen Style alle Funktionen verfügbar sind. Am Desktop findet ihr oben rechts sowohl den Umschalter zwischen hellem und dunklem Style. Am Handy ist der Hell-/Dunkelschalter am Ende der Seite. Damit sollte zukünftig jeder sein Board so konfigurieren können, wie es ihm am liebsten ist.


    Die restlichen Funktionen sollten eigentlich soweit wie gewohnt funktionieren. Einfach mal ein wenig damit spielen oder bei Unklarheiten im Thread nachfragen. Viel Spaß im ngb 2.0.

mit sehr großen Zahlen arbeiten

Tryndamere

Neu angemeldet

Registriert
23 Juli 2013
Beiträge
49
Hallo Community,

Mir stellt sich seit einiger Zeit die Frage,
Wie arbeiten kryptographische Algorithmen. Ich schaue einmal Richtung RSA. hier sollen 2 möglichst große Primzahlen multipliziert werden, damit es ein n ergibt.

Wie handhabt man denn so etwas programmiertechnisch?

Also wo wird getrickst um das Modulo n auszurechnen, wenn es in keinen bekannten Datentyp passt. Ich hab da meine Vermutungen aber die wäre alle so ineffizient das es aus ist.
 

drfuture

Zeitreisender
Teammitglied

Registriert
14 Juli 2013
Beiträge
8.757
Ort
in der Zukunft
Warum zu lange für bekannte Datentypen
- in Double passt immerhin eine 12-stellige Zahl - was nun nicht gaaaanz so wenig ist...
- darüber hinaus wäre long double mit 18 Stellen
 

Larius

OutOfOrder

Registriert
12 Juli 2013
Beiträge
5.792
Vor allem könnte man auch mit Unsigned arbeiten womit man einen großen positiven Bereich abdecken kann.
 

Kugelfisch

Nerd

Registriert
12 Juli 2013
Beiträge
2.342
Ort
Im Ozean
Für kryptografische Anwendungen sind allerdings sowohl Gleitkomma-Datentypen (keine garantierte Präzision, selbst long double ist mit 80 oder 128 Bit Länge bei weitem zu kurz, um die üblichen Schlüssellängen mit voller Präzision aufzunehmen) als auch die unsigned-Varianten üblicher Datentypen inklusive long long (64 Bit unsigned - zu kurz) ungeeignet.

Um die üblichen Schlüssellängen von > 1024 Bit bei RSA handhaben zu können, muss man Big-Integer-Arithmetik entweder selbst implementieren oder eine entsprechende Bibliothek nutzen. Einen kurzen Überblick bietet etwa https://en.wikipedia.org/wiki/Arbitrary-precision_arithmetic, wo auch auf verbreitete Algorithmen z.B. zur Multiplikation (z.B. Karatsuba) von beliebig grossen Zahlen hingewiesen wird. Problematischer als die Multiplikation in Bezug auf die Länge ist bei RSA übrigens die Exponentialfunktion modulo N (P=C^K mod N). Siehe dazu auch https://en.wikipedia.org/wiki/Modular_exponentiation.
 

Tryndamere

Neu angemeldet

Registriert
23 Juli 2013
Beiträge
49
  • Thread Starter Thread Starter
  • #6
ja genau das was Kugelfisch und KaPiTN geschrieben ahben, ahbe ich gesucht :-)

Also gibt es spezielle Datentypen dafür

Danke für eure Antworten
 

Larius

OutOfOrder

Registriert
12 Juli 2013
Beiträge
5.792
Hm stimmt, die Exponentialkomponente hab ich komplett außer Acht gelassen. Damit sind dann bei großen Zahlen die bisher bestehenden Datentypen unzureichend (und ungenau).
 

Mr_J

Neu angemeldet

Registriert
14 Juli 2013
Beiträge
991
Da eine Modulofunktion aber auch dazu kommt wird die Zahl wieder deutlich kleiner.

MfG
Mr. J
 

Kugelfisch

Nerd

Registriert
12 Juli 2013
Beiträge
2.342
Ort
Im Ozean
Korrekt, allerdings nur bei effizienter ModExp-Implementierung (die zwingend notwendig ist, um RSA mit sinnvollen Schlüssellängen überhaupt nutzen zu können); ausserdem wird das Ergebnis im Allgemeinen nach wie vor in der Grössenordnung des Modulus liegen, der in der Praxis mindestens 2048 Bit lang sein sollte. Würde man die Standard-64-Bit-Datentypen (z.B. unsigned long long int) nutzen, würde man einen Modulus mit maximal 64 Bit erhalten, der sich in Sekundenbruchteilen trivial faktorisieren lässt.
 

wolfsjunge

Neu angemeldet

Registriert
18 Juli 2013
Beiträge
43
Hier, vielleicht nicht direkt bezogen aufs Thema, eine ziemlich gute, detaillierte und fundierte Erklärung von Public-Key Kryptographie, RSA und im besonderen der Modexp Algorithmus.
 

Mr_J

Neu angemeldet

Registriert
14 Juli 2013
Beiträge
991
Wenn man mal dazu etwas tiefer einsteigen will kann ich immer noch die Einführung in die Kryptographie von Johannes Buchmann empfehlen. Ich fand es sehr gut und verständlich erklärt und es war zu meiner Studienzeit eine gute Ergänzung zur Vorlesung.

MfG
Mr. J
 
Oben