Free Republic
Browse · Search
News/Activism
Topics · Post Article

To: Hostage; palmer
How does a public key identify the person using it? It doesn’t.

In my example, Alice identifies herself with the public key. It true, there is no information in the public key from which you can derive Alice's identity, but that does not stop Alice from doing so herself.

Perhaps palmer will return and shed some more light on this.

56 posted on 09/11/2016 9:04:45 PM PDT by Database
[ Post Reply | Private Reply | To 55 | View Replies ]


To: Database; Hostage
In my example, Alice identifies herself with the public key. It true, there is no information in the public key from which you can derive Alice's identity, but that does not stop Alice from doing so herself.

It is quite solid theory and technology (proven unbreakability and privacy). First, Alice creates a private key on her phone or computer. The computer encrypts and stores it securely on disk or flash. The private key can also be backed up into a file (online or removable drive) and it is encrypted in that backup file.

Immediate after her computer creates the private key, it derives the corresponding public key. When Alice wants to register that public key to the voting registrar, she presents the public key and her real world credentials to the registrar. Currently the registrar would look up her name and address in a database. What we are proposing in this thread is to look her up in the blockchain. In order to maintain privacy the blockchain will contain a one-way hash of the real world name and address (and probably other universal info). The important thing is for the hashed real world info to be canonical so Alice cannot register more than once with slight variations of the real world info.

If registration lookup is successful (simply that the hash isn't already on the chain), the registrar adds her hash and her public key to the chain (technically also a hash of the public key). Then the registrar transacts the credit for one vote to Alice's blockchain public key for the next election.

Finally we get to your question. When Alice wants to vote she must prove that she has a private key that matches her public key in the blockchain. That is very simple and the heart of PKI. She signs a transaction message with her private key. The transaction messages says "I hereby vote for Trump...." The SW on her phone or computer decrypts her stored private key, uses the private key to sign the message, erases the decrypted private key from memory so it can't be stolen by malware, and sends the signed transaction message to the blockchain. The blockchain verifies the signature using the public key.

If you remember one thing in PKI it is "sign with the private key, verify with the public key". The blockchain adds a transaction to the blockchain with the voting message in it. Nobody really knows (*) that it is Alice's transaction, but Alice can look up via her public key and see her vote. The blockchain also uses up the voting credit as it adds the vote. That way Alice cannot vote twice. She will be issued a new credit for the next election.

(*) Normally public keys really are public, and every can look up which public key belongs to Alice. But in the case of voting that would have to be prevented. I am not expert enough to know exactly how to do that.

57 posted on 09/12/2016 4:49:19 AM PDT by palmer (turn into nonpaper w no identifying heading and send nonsecure)
[ Post Reply | Private Reply | To 56 | View Replies ]

Free Republic
Browse · Search
News/Activism
Topics · Post Article


FreeRepublic, LLC, PO BOX 9771, FRESNO, CA 93794
FreeRepublic.com is powered by software copyright 2000-2008 John Robinson