Einzelnen Beitrag anzeigen

gammatester

Registriert seit: 6. Dez 2005
999 Beiträge
 
#12

Re: Chinesischer Restsatz, pseudocode gesucht

  Alt 25. Jun 2009, 22:31
Ich sehe keine Berichtigung von modinvers. Wie ich schon in Beitrag #6 geschrieben habe, hat phi darin absolut nichts suchen, und merkwürdigerweise wird dafür n irgends verwendet.

Ich habe nicht den Schimmer einer Ahnung, was Du in dieser Funktion eigentlich machst.

Noch ein letztes Mal mit Deiner Bezeichnung function modinvers(e,n:ansistring):ansistring: Die Anweisung x := modinvers(e,n) muss x so berechnen, daß ProduktModulo(x,e,n)='1' ist. Wenn das nicht erfüllt ist, brauchst Du nicht weiterzumachen! Und da n keine Primzahl ist, wirst Du es (wahrscheinlich) ohne erweiterten Euklidischen Algorithmus (EEA) nicht schaffen. Für Primzahlen p könnte man notfalls modinvers(e,p) = e^(p-2) mod p rechnen, weil nach dem kleinen Fermatschen Satz gilt: 1 = e^(p-1)=e*e^(p-2) mod p. Das ist aber hier nicht möglich, da weder p-1, q-1, phi keine Primzahlen sind.

Also noch einmal: Schreib die Funktion modinvers mit dem EEA und verifiziere Deine Implementation mindestens für diese Beispiele mit p=763542356462783642401:

modinvers(36542354527354,p) = 119609365025838791859
modinvers(675423754723541,p) = 733615848005635595127


Gammatester
  Mit Zitat antworten Zitat