Hallo out there,
I tried to compute the public key from a private key in a C# programm.
Lets say i have the priv key: 26760d07c7b06da3ac7d27946b4853e0665c50e0a8b705269b2cfd48f061de2b
so the public key would be: 1A9yKFpmH1GFFeLLv2XGhP41BKCFgRgykN
I was able to compute it with Bitcoin Address Utility (
https://en.bitcoin.it/wiki/Bitcoin_Address_Utility).
But my issue is that this way is VERY slow.
I make a for loop and compute it 100 times and it takes 10s! -> 10 Keys/s...
So is there a way to compute it much faster in C# ?
Here is my loop code:
DateTime start = DateTime.Now;
for (int i = 0; i < 100; i++) {
KeyPair kp = new KeyPair(txtPrivHex.Text, compressed: compressToolStripMenuItem.Checked);
string pubkey = kp.AddressBase58;
}
double elapsedsecs = (DateTime.Now - start).TotalSeconds;
I found the command which takes 100ms:
Org.BouncyCastle.Math.BigInteger Db = new Org.BouncyCastle.Math.BigInteger(1, _privKey);
ECPoint dd = point.Multiply(Db);
When i look to vanitygen, they are able to compute about 1.000.000 Keys/s without problems...
So i think they are compute the public key another way?
Would be happy to have a solution