Berechnen Primzahlen p und q aus private exponent (d), public exponent (e) und der modulus (n)

Wie berechne ich die p-und q-Parameter von e (publickey), d (privatekey) und E-Modul?

Ich habe BigInteger Schlüssel in der hand kann ich kopieren und einfügen in den code. Ein publickey, ein privatekey und ein E-Modul.

Brauche ich zur Berechnung der RSA-Parameter p und q ab. Aber ich vermute, es ist eine Bibliothek für das, was ich war nicht in der Lage zu finden mit google. Irgendwelche Ideen? Danke.

Diese nicht brute-force, da bin ich nicht nach dem privaten Schlüssel. Ich habe nur ein legacy-system, das speichert einen öffentlichen, einen privaten Schlüssel und ein E-Modul und die ich brauche, um Sie in c# zur Verwendung mit RSACryptoServiceProvider.


So kommt es auf die Berechnung von (p+q) von

public BigInteger _pPlusq()
    {
        int k = (this.getExponent() * this.getD() / this.getModulus()).IntValue();

        BigInteger phiN = (this.getExponent() * this.getD() - 1) / k;

        return phiN - this.getModulus() - 1;

    }

aber das scheint nicht zu funktionieren. Erkennen Sie das problem?


5 Stunden später... 🙂

Ok. Wie kann ich wählen Sie eine zufällige Zahl aus Zn* (http://en.wikipedia.org/wiki/Multiplicative_group_of_integers_modulo_n) in C#?

  • Bitte Wort in dieser Frage klarer zu sehen. Sie haben zwei BigInteger Schlüssel, und Sie Sie nutzen wollen, zu tun, was?
  • Hmmmmm... knopfaugen auf
  • Vermeiden Sie die "HILFE" - Ding, das hässliche und nicht gebraucht.
Schreibe einen Kommentar