~
How can an offline software create valid private key/public key pairs without communicating with the blockchain? The software must on its own know a certain private key would match a certain public key. Doesnt it mean there is a calculable relationship between private key and public key?
private key is simply a 256 bit number is a huge range that is selected randomly. it is from 0x1 to 0xFFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFE BAAE DCE6 AF48 A03B BFD2 5E8C D036 4140.
when you generate a new address in your wallet (online or offline) what happens is that your wallet software randomly chooses a number in this range and that is your private key then uses some math to get the public key and then your address from that number. and this "math" is a one way street. meaning you get the public key from private key but you can not do the opposite. same with address. and that is the relationship.
example:
1. private key (number)
11253563012059685825953619222107823549092147699031672238385790369351542642469
your wallet, for convenience shows this to you in a special format called Base58
5J1F7GHadZG3sCCKHCwg8Jvys9xUbFsjLnGec4H125Ny1V9nR6V
2. public key which is a coordinate on the Elliptic curve (y^2 = x^3 + ax + b)
0450863AD64A87AE8A2FE83C1AF1A8403CB53F53E486D8511DAD8A04887E5B23522CD470243453A299FA9E77237716103ABC11A1DF38855ED6F2EE187E9C582BA6
3. address which is SHA256 + RIPMED160
010966776006953D5567439E5E39F86A0D273BEE
again for convenience the same Base58 encoding is used here too:
16UwLL9Risc3QfPqBUvKofHmBQ7wMtjvM
ref: https://en.bitcoin.it/wiki/Technical_background_of_version_1_Bitcoin_addressesWow so it's one way street. I think it's safe. Thanks! Though I am not sure how its converted.