Variablen zu klein!! (Delphi)
lima-city → Forum → Programmiersprachen → Delphi & Pascal
ahnung
algorithmus
all
beitrag
erfahrung
ergebnis
extended
genauigkeit
gur
jemand
mod
multiplikation
normalerweise
prozessor
sen
speicher
summen
variable
verfahren
versuch
-
Hi Leute!
Will mit Delphi ein asymmetrisches Kryptosystem (Verschl?sselung) bauen!
Ich hatte vor ?ber RSA zu verschl?sseln! Das Problem ist dabei nur, dass ich z.B. folgenes rechnen muss:
27^2749 mod 1285
Aber 27^2749 ist viel zu gro? f?r die Delphi-Variablen! Die gr??te Variable, die ich kenne (Extended) hat nur eine Genauigkeit von 19-20 Stellen! Ich brauch aber eine Genauigkeit von ?ber 1000 Stellen!
Ne andere M?glichkeit k?nnte es sein das Modulo gleich mit einzuberechnen, denn dann wird die zahl um einiges kleiner!
aber ich kann nur erst die 27 exponieren (mit dem "Square and Multiply"-Algorithmus) und dann das modulo nehmen! Daduch ist die Zahl zwischenzeitig hammer gro?!
Ich hoffe ihr k?nnt mit helfen!
EDIT 0-checka:
Verschoben ins passende Forum
Beitrag ge?ndert am 1.02.2006 10:48 von 0-checka -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Nat?rlich geht das, sonst w?rde all die Programme ja nicht funktionieren, die solche Verfahren verwenden. Aber ihr habt soweit recht, dass man da nicht mit vordefienierten Variablen rangehen kann, denn normalerweise braucht man nie soviel Speicher f?r eine Variable. Um das Problem zu l?sen, muss du mit den Bits rechnen:
Du l?sst dir also einen Speicherbereich reservieren, der gro? genug ist, den Wert bin?r aufzunehmen(keine Ahnung wie das mit Delphi geht, in C w?rde man wohl malloc verwenden). F?r die Ausganswerte genauso. Danach berechnest du das Ergebnis bin?r. Wenn du dich mit dem Bin?rsystem nicht so genau auskennst, kann ich dir leider nicht weiterhelfen, da m?sstest du dich einfach mal belesen.(am besten googlen). Danach liegt das Ergebnis vor und du kannst es weiterverwenden.
Theoretisch k?nnte man die multiplikation vorher noch zerlegen (z.B. 4*4 = (2+2)*(2+2) = 2*2 + 2*2 + 2*2 + 2*2), dadurch kann man die maximale gr??te eines Produkte reduzieren, aber die Summe alle Produkte w?rde trotzdem alle vordefinierten Variablen sprengen. -
cool das mit den gro?en selbsterstellten variablen ist ne geile idee! jetzt br?uchte ich nur noch jemanden der wei? wir das bei delphi geht!
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage