Forum: Sonstige Fragen zu Delphi
Delphi
by negaH,
9. Nov 2003
Eines noch, entscheidend ist es das bei der Modularen Exponentation bei jedem Zwischenschritt sofort modular reduziert wird. Einfach IntPower(2, $1234567890ABCDEF) mod N kann nicht funktionieren da
1.) 2^$1234567890ABCDEF gerechnet wird und
2.) erst dann mod N reduziert wird.
Der 1. Schritt würde eine so große Zahl erzeugen das sie nicht mehr exakt in einer Fließkommazahl darstellbar ist.
...
Forum: Sonstige Fragen zu Delphi
Delphi
by negaH,
9. Nov 2003
Dies hängt von der Darstellung der großen Integer in deinem Code ab. In meinem Code sind die Zahlen linear im Speicher gespeichert. D.h. $123456789ABCDEF0123456789ABCDEF steht im Speicher EF CD AB 89 67 45 23 01 EF CD AB 89 67 45 23 01 also in Little Endian. Somit ist es nun einfach die gesetzten Bits zu ermitteln, zB. mit der Assembleranweisung BT = BitTest.
1011 ist binär die dezimale...
Forum: Sonstige Fragen zu Delphi
Delphi
by negaH,
9. Nov 2003
Man nimmt dazu die Binäre Exponentation, genauer gesagt die binäre Expansion des Exponenten zu Hilfe. Stelle dir den Exponenten als Binärzahl vor, zb. 11 = 01011b.
Dieses Binärzahl ist 4 bits groß wir benötigen also 3 mal modulare Quadrierung + 2 mal eine modulare Multiplikation.
Es gibt nun eine Binäre Exponentation die die Bits des Exponenten von Links nach Rechts abarbeitet, also die...