3 ms·
You don't need bitcoin for this at all. Just some of the crypto that bitcoin is built on. 1. Generate a random 256 bit number which is your ed25519 private key
by clinta 11y ago
You don't need bitcoin for this at all. Just some of the crypto that bitcoin is built on.
1. Generate a random 256 bit number which is your ed25519 private key.
2. The public key is your username.
3. foo.com sends you a 256 bit nonce.
4. You sign the nonce with your private key and return the signed value to foo.com.
5. foo.com verifies the message is signed by your public key and contains the nonce they sent you.
And because ed25519 can use any value as a private key, you can create deterministic private keys. For example you can use a hash of a passphrase and the domain name to create a unique private key for that domain, and you don't have to remember a random username for each domain, just your master passphrase.
Steve Gibson is working on a login system that does this and uses QR codes so that a mobile device can be used to sign the nonce and return it to the server out of band.
https://www.grc.com/sqrl/sqrl.htm https://www.grc.com/sqrl/sqrl.htm