Assuming you're talking about ECDSA signing. For BIP340/Schnorr signatures, see this answer.
For valid signatures
d: the private key
P=d*G: the public key
k1: the (first) nonce
R1=k1*G: the public first nonce
r1=R1.x mod n: the public first nonce as it will be encoded in the signature.
k2=2*k1, R2=k2*G=2*R1, r2=R2.x mod n: the same for the second nonce
What is the relationship between a Bitcoin Private Key / Public Key / Address?
The Public Key (a curve point) is equal to the Generator (a fixed curve point) multiplied by the Private Key (an integer).
There are multiple different kinds of addresses. But, one common type of address is an encoded hash of the public key. (In practice what is hashed is the ...
From this only for example, only for outgoing transaction
With this: https://cryptoxploit.com/rsz-key/
Based on OP's existing formula and David Grayson's answer above, here is a more modern (Python 3.8+) solution that works for both Bitcoin and Ethereum accounts, for those curious:
r = 0x...
s1 = 0x...
s2 = 0x...
# For Ethereum msg hash, feel free to use this excellent online toolkit: https://toolkit.abdk.consulting/ethereum#recover-address
z1 = 0x...
z2 = 0x....
In secp256k1 there are 2256 possible keys. Pollard's kangaroo algorithm (and other known algorithms) run in time square root of the number of keys. So the algorithm would take ~2128 steps. This is completely infeasible. Just as a comparison: Bitcoin's hashrate is 160M TH/s. That's 160 million * 1 billion hashes per second. Say all of bitcoin's miners would ...
You can also decode from b64 Q29udGFjdCBtZSBhdCBhZGl0ZWMzNUBnbWFpbC5jb20=
x = 55066263022277343669578718895168534326250603453777594175500187360389116729240
y = 32670510020758816978083085130507043184471273380659243275938904335757337482424
I applied x ^ 3, then added 7, then mod P on that webpage. Then I square rooted it and got