Come si calcolano i parametri peq da e (chiave pubblica), d (chiave privata) e modulo?Calcola i numeri primi eq dall'esponente privato (d), dall'esponente pubblico (e) e dal modulo (n)
Ho i tasti BigInteger a portata di mano riesco a copiare incolla nel codice. Un publickey, un privatekey e un modulo.
Ho bisogno di calcolare i parametri RSA p e q da questo. Ma sospetto che ci sia una biblioteca per quello che non sono riuscito a trovare su google. Qualche idea? Grazie.
Questo non deve essere forza bruta, dal momento che io non sono dopo la chiave privata. Ho solo un sistema legacy che memorizza una coppia di chiavi pubblica, privata e un modulo e ho bisogno di farli in C# da utilizzare con RSACryptoServiceProvider.
Quindi si tratta di calcolare (p + q) da
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;
}
, ma questo non sembra funzionare. Riesci a individuare il problema?
5 ore più tardi ... :)
Ok. Come posso selezionare un numero casuale di Zn * (http://en.wikipedia.org/wiki/Multiplicative_group_of_integers_modulo_n) in C#?
parola Seleziona questa domanda in modo più chiaro. Hai due chiavi BigInteger e vuoi usarle per fare cosa? –
Hmmmmm ... * occhietti lucidi * –
Evita la cosa "AIUTO", è brutto e non è necessario. –