I’m currently in a “Cryptography Usability” session at Mozilla Festival, where someone made the point that crypto terminology is complex, and we should simplify it.
Inspired by this, I wondered: instead of “public key” and “private key”, why not call them “face key” and “arse key”? They are an associated pair, but you show one to the public, and keep the other one well hidden. It’s certainly a metaphor with explanatory power…
the only analogy between public/private keys in ‘normal’ life would be when nuclear weapon launching personal have to user two keys in synchronization or where bank personnel and a x customer both need keys to access safety deposit rooms/boxes.
the main term everyone seems to use in the social media era for giving something slightly personal such as an approval like or a link is ‘sharing’.
public keys could be called shared keys.
in these days of pouring your every secret online to the quote works, does ‘private’ mean anything anymore?
perhaps private keys should be called secret keys?
however the problem is not necessarily the first word. in the real world you don’t join physical keys the easy you join crypto keys. instead you have the secret keys you guard closely and the shared/public key equivalent it’s actually the lock.
the closest common analogy to crypto keys in everyday use probably email usernames and passwords. people give out email addresses to the public and keep passwords secret of private. that is one credential its common knowledge, one secret.
I suspect Mozilla its on to something with persona but it’s a poor user experience.
browsers could easily create key pairs, send the public key to whichever site a user it’s trying to login to, then the browser just asks the user to enter the password to the secret key. o really don’t see why browsers do not already do this.
> browsers could easily create key pairs, send the public key to whichever site a user it’s trying to login to, then the browser just asks the user to enter the password to the secret key. o really don’t see why browsers do not already do this.
That sounds like how it works when you log into a site which uses HTTPS with client certificates for authentication and you’ve set a master password on your Firefox secret store.
(If you want to try it out, look at sites purpose-built to be OpenID providers like https://pip.verisignlabs.com/ or the now sunsetting myOpenID. They’re the most common users of that technology outside of corporate intranets.)
I never found Firefox’s client cert support confidence-inspiring enough and found the UX for things like backups too confusing (though both are still more functional than Chrome’s support) so I avoided them out of fear of finding myself unexpectedly locked out of an account with no easy way to recover because a client cert had somehow gone missing.
Though not a universal metaphor … in some cultures, women hide their faces as well as their arses
The way my crypto professor explained back when I was doing my highschool final essay about RSA, was to say that a public key was like an open safe with an open padlock. You can put something in, and you can lock it. But only the person with a key to the padlock (the private key) can open it. It’s OK to share a bunch of padlocks/safes this way, because even if someone observes you mailing the open safe/padlock, they won’t know what’s in it when you mail it back locked.
(of course, this falls down with trying to explain known-plaintext/known-cyphertext attacks and the reasons for timestamps/nonces, but so does your face/arse terminology – and both are also useless for explaining signatures, but those have more obvious human parallels)
So, there’s precedence to show your face to practically everyone, and your backside only to people you dislike… Not sure that’s a good idea with those keys. :p
you show one to the public, and keep the other one well hidden
And if you don’t keep it hidden, you’re buggered.