Einzelnen Beitrag anzeigen

qwertz543221
(Gast)

n/a Beiträge
 
#13

Re: Chinesischer Restsatz, pseudocode gesucht

  Alt 26. Jun 2009, 13:56
Zitat:
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!
ich habe genau das getestet, und habe keinen widerspruch gefunden.
außerdem, wieso soll ich phi für die erstellung des privaten exponenten nicht benötigen?

(quelle: http://de.wikipedia.org/wiki/RSA-Kry...chl.C3.BCssels):

Zitat:
Wir wählen p und q
Der RSA-Modul ist n:=pq .
Die eulersche φ-Funktion nimmt damit den Wert (p-1) (q-1) an.
Die Zahl e muss zu phi teilerfremd sein. Damit bilden e und N den öffentlichen Schlüssel.
Berechnung der Inversen zu e:
Es gilt:
e*d+k*phi=ggt(e,phi)=1.
d ist der private Schlüssel, während k nicht weiter benötigt wird.
will sagen: deine bedingung ist erfüllt, auch wenn ich - vorerst - ohne den eea gearbeitet habe.
Also daran kann es eigentlich nicht liegen, dass die umwandlung zur berechnung mit dem chin RS nicht funktioniert. (die entschlüsselung ohne chin.RS bringt ja auch korrekte ergebnisse)

Meine frage bezog sich ursprünglich nur auf die impl. des chin.RS, die die decyrption um ca 4 beschleunigen soll. - dafür hatte ich den anfang der fkt eingestellt, im ersten post sind stellen markiert, an denen ich nicht wusste, wie es weitergeht(allein vom algorithmus her):
=>

Delphi-Quellcode:
var k,kp,kq,d,n,c,p,q,cp,cq,dp,dq,yp,yq;//typen unwichtig (sind zahlen)

begin
//p,q:primes;
//c:ciphertext,k:klartext;
//d: privater exponent

cp:=c mod p;
cq:=c mod q;

dp:=d mod (p-1);
dq:=d mod (q-1);

kp:=cp^dp mod p;//modular potenziert
kq:=cq^dq mod q;//''

yp:=modularinvers( );//hier weiß ich nicht, von was
yq:=modularinvers( );

k:=kp*yq*q; //zusammengesetzer klartext =>result
end;
  Mit Zitat antworten Zitat