Alas, I would have a question. Starting from a private key, can you generate another similar address?
Let me give an example:
Suppose I have the private key of the address:
1PasqAbbbbbbbbbbbbbbbbbbbbbcgehnE
I want to generate another similar address:
1PasqRbbbbbbbbbbbbbbbbbbbbbcsaSgf
Can you generate it from the private key of the first address so you do not have to "generate" keys by causality?
Thank you
Sorry for my English
No! If it worked that way, Bitcoin would be worthless.
The hashing algorithms used are one-way functions - you would never be able to find
1PasqAbbbbbbbbbbbbbbbbbbbbbcgehnE base58 decoded is 0004456E03A3A379310A0DAB1718A3463EDD73E0436DC23977
1PasqRbbbbbbbbbbbbbbbbbbbbbcsaSgf base58 decoded is 0004456E07D8524025C216494E6313E49A11D579A0CD20FA28
Now you can take off the last 4 bytes (checksum) and the first byte (network id)
1PasqAbbbbbbbbbbbbbbbbbbbbbcgehnE;
04456E03A3A379310A0DAB1718A3463EDD73E043
1PasqRbbbbbbbbbbbbbbbbbbbbbcsaSgf;
04456E07D8524025C216494E6313E49A11D579A0
to get the public keys, you have to undo the RIPMD160 hash and then undo the SHA256 hash on each of those results however, there is no known reverse function for either of those.
Even if you could get the public key this way, the public key doesn't map to the private key as this mapping is also a one way function.
So let's see if I understand having the private key of: 0004456E03A3A379310A0DAB1718A3463EDD73E0436DC23977
I can not generate another similar public address. By assuming the private key of: 0004456E03A3A379310A0DAB1718A3463EDD73E0436DC23977
To do this I should cancel RIPMD160 and SHA256 on the private key, right?
Thank You
Well, you need the private key to derive the public key (this cannot be reversed) and you need the public key to derive your public address (this cannot be reversed)
This number: 0004456E03A3A379310A0DAB1718A3463EDD73E0436DC23977
is simply the hexadecimal version of this base58 encoded public address:
1PasqAbbbbbbbbbbbbbbbbbbbbbcgehnE
It's not possible to undo the RIPEMD160 or SHA256 hash functions so you can never go backwards and if you start with similar private keys, they map to entirely different points on the ECDSA curve (so the public keys will be very different) and even if those turned out to be similar, the hash functions will produce very different results on similar numbers.
example:
private key: 0A0000000001 yields public key:
04BADACBF295A97C139B70150AE361E864187A6152A149335568C2B7F3B35482E1D6B0D12818EEF
9A9C2DBDE947B542C220A97F54329BDA2CE2995E12195FB6A41
private key: 0A0000000002 yields public key:
0471AFF13951BDE978F0AA1F1D5AD9FFB38C900CD33127A651826A308F734B54ACD734A0D1052EF
95F921DC23FA962C0E0FCE72F7DF564B56F9710A7248F1E1639
You can play with the hashing yourself
here