0
I am confused by the public key cryptography versions that I've read so far. Are the steps optional, dependable on the types of blockchain or they are referring to different methods?
Version 1 =========
Alice to Bob
Step 1. Content > Hash > Digest > Encrypt with Alice's private key > Digital Signature
Step 2. Digital Signature > Encrypt with Alice's private key + Bob's public key > Digest
Step 3. Send digest to Bob
In the above steps, Alice uses private key TWICE. First to encrypt the content's digest. Second time encrypt together with Bob's public key.
Is hashing optional?
Is the hash generated automatically once it is encrypted with Alice's private key?
Or encrypting with Alice's private key step is optional?
Is step 2 optional too? or are all the above steps automated?
Bob received
Step 1. Digest > Alice's public key > Content
Step 2. Digest > Bob's private key > Content
=
=
Version 2 =========
Alice to Bob
Step1. Alice generates the keys pair
Step2. Alice gives Bob her public key
Step3. Alice encrypts content with her own private key
In the above steps, Alice didn't hash the content first.
Bob received
Step1. Bob decrypts with Alice's public key
What if someone else has Alice's public key, aren't they able to decrypt it too?
=
=
Version 3 =========
Alice to Bob
Step1. Alice encrypts with Bob's public key
Bob received
Step1. Bob decrypts with his own private key
=
=
Pieter. Thanks. I am confused. After reading so many articles on blockchain uses public key cryptography. I have assumed all data on Blockchain are encrypted. Or blockchain will, by default, encrypts all data. Since encrypting is not part of the ECDSA, that means nothing is encrypted on Bitcoin? Is the hashing step an automated process triggered by the signing of private key? – Samantha – 2018-11-27T11:14:17.993
There is no encryption anywhere in the blockchain. That's not possible, since all data must be public. If data on the chain was encrypted, it wouldn't be possible to verify by everyone (which is the whole point, auditability). – Pieter Wuille – 2018-11-27T15:46:25.617
1Both the signing operation and the verifying operation include a hash in ECDSA. – Pieter Wuille – 2018-11-27T18:31:53.793
I think I have to relearn most of the things I have been reading on blockchain. Most of the references I came across online referred to the keys to encrypt and decrypt data on blockchain. Do you happen to have some references that can help with understanding on how blockchain handles data? – Samantha – 2018-11-28T06:29:50.017
1One piece of advice: ignore any writing that talks about "blockchain is X". Blockchain is a buzz word that may mean anything from "a database with hashes" to "a cryptocurrency whose security derives from economic incentives" to "adding some cryptography to business logic". Actually well-engineered systems often have no relation to the hype around blockchains. – Pieter Wuille – 2018-11-28T09:17:31.840