Get Firefoxscent-decline

What is Encryption?

Encryption, in a sentence, is scrambling stuff up so that other people find it more difficult to unscramble it and read it. It isn't a new invention and has been around for centuries. I remember when I was a fair bit younger my sister used to talk in pig-Latin on the phone to her friends. Being such sensitive information (things like boys and all) she perhaps should have chosen a more secure 'cipher' than flipping syllables and adding 'iggerly' - or whatever it was. Technically that was a form of encryption; albeit not a very good one.

The difference between my sister's 'pig-Latin' and an advanced encryption product is, as much as anything, a question of how easy it is to break. While, as an 8 year old, pig-Latin took me a few weeks to 'crack', the encryption algorithms nowadays are a fair bit stronger. In a recent court case someone in the industry was asked approximately how long it would take to break one by trial and error; he answered (something like):

If I had all of the computing power on Earth at my disposal, and I set it all trying to break it; in all likelihood it would be many thousands of years.

But the theory behind it is roughly the same as any codes that you remember from your childhood. The aim of all of them is usually to take a letter, word or group of letters, and scramble them in some way to end up with something that no-one else can understand.

The big problem with this is that all of the security is in the method that you are using to scramble it up. If you were trying to secure your communications by writing the words backward then anybody who knew this could read any of your messages. What this means is that in order for someone to 'encrypt' a message to you, you would have to trust them enough to tell them the secret - allowing them to read any other messages that were sent to you. So, if you were wanting to, like my sister, have secure conversations about boys with your best friend then all may be well; but suppose that you wanted your lesser friends to be able to secure their 'boy-troubles' to you. Would you want them to be able to read your 'Ultra-classified' chats with your bestest buddy?

Logically the only solution to this would seem to be to have a whole lot of different codes for each person that you wanted to pass notes to and each of them would have to have different codes to pass notes to all your buddies - to make sure that you couldn't read their private notes to each other. If with your friend Sarah you always wrote backward, and with Jocelyn you always wrote upside-down, Sarah couldn't write a secure note to Jocelyn about how big one of your pimples was unless they came up with yet another code.

In itself this isn't a major problem. Sure you need an awful lot of codes but computers are awfully good at remembering things. Your email program could automatically reverse all of your emails to Sarah or flip all of your emails to Jocelyn and you wouldn't have to think about it. What is more of an issue would be if there was a new girl - Kelly. Imagine that you never got a chance to talk to her alone and everyone else got to see the notes that you passed her. How would you tell her that you wanted her to encode her notes to you by, say, swapping the first and second letters?

Thankfully, somebody came up with a solution. The detail of how it works is largely beyond me but the result is exactly what is needed. 'Asymmetric encryption' provides a way of splitting the code into two bits; the bit that encodes (or 'encrypts') is separate from the bit that can decode ('decrypt') it. What this means is that you can tell everyone in the world how to encode something addressed to you and you are still the only one who can decode it.

In 'crypto-speak' the code that you give to everyone is your 'public key' and the code that you keep secret and decode with is your 'private key'. This means that you could give Sarah, Jocelyn and Kelly the same public key and none of them would be able to read others' messages to you. When you want to send them a message, you encode it with their public key and they are the only ones who can decode it. This is hugely important if you have never met the people that you are dealing with. So all you need is a key-pair of a private and public key and you will never again have to worry about how well your friends keep secrets!