This post is about digital signatures and why they are useful.
Firstly, some basics about public key encryption. When I talk about messages this can be any kind of content, e.g. text, images, audio files. It can be encrypted as a binary file or in a form that can be sent as text in email.
To use the encryption you have two types of key:
To use these you need appropriate software. The common implementations are Pretty Good Privacy (PGP) and the open source GNU Privacy Guard (GPG). Setting these up is beyond the scope of this post. There are plenty of guides available. It's not the simplest process and mistakes can reduce security.
The process of digitally signing consists of:
I posted a signed message on Steemit yesterday to verify that this Steemit account belongs to the person who has control of a my private key. You can check this by posting the text of the page here. Keybase.io is a cool service designed to help prove that a public key really belongs to a given person. The main way to do this previously has been via the web of trust where you prove your identity to someone (e.g. meet up and show them your passport) and they digitally sign your public key. The Keybase approach is to allow you to post signed messages on various services (e.g. Twitter, Reddit) to prove that you are the owner of those accounts.
Posting a message like this is an alternative to posting a picture of yourself holding a sign to say that you own a Steemit account. That can potentially be faked. A digital signature is much harder to fake (i.e. practially impossible). I assume you could post a picture with a signature of the image file, but I'm not sure of the best way to do that. It would be more effort to check it as you would need to download the image and use a PGP/GPG app to check it.
Keybase provide useful tools. Some of these require you to upload your private key, but I'm not sure I want to do that. You can at least encrypt a message for any user on the site. If you want to try Keybase you have to go into a queue, but I have some invitations available. If you want one then post an encrypted message in the comments that includes your email address. To do this go to the encrypt page and enter steevc as the recipient. I may post another time about other facilities they provide, including a command line tool and encrypted cloud storage.
I actually made a couple of mistakes with my signed message:
I hope this is clear, but please feel free to ask questions. I'm not an encryption guru, but I can try to help. I found another post that covered similar ground.