Basic Ciphering Techniques Part 1


I had the idea for this post while writing the walkthrough for the Sophos Puzzle, and I think it's a good idea. Essentially, I'm going to outline some basic ciphering techniques that I've learned participating mainly in ARGs.

Firstly, you need to understand what a cipher is. Wikipedia, naturally, has a good article on it: http://en.wikipedia.org/wiki/Cipher. As is normal for Wikipedia, the article has a bit too much information for a beginner, although it's not as bad as some I've seen. Good grief. But anyway, a cipher is pretty much just a disguised way of writing some, or a secret code. I'm sure most of you used or made up some codes when you were kids, it's the exact same principle, except most ciphers are a bit more complicated than the ones you made up in gradeschool. (Although some aren't, you'd be surprised, actually.)
Wikipedia defines cipher and encryption in an interesting way. It says that you encrypt something with a cipher, which I suppose is indeed correct, although that's not really how I view the definition. I view encrypting and enciphering something as two different things. Mainly, enciphering something is less secure and easier to decipher than something you've encrypted. But maybe that's just me, I don't know.

Now that you know what a cipher is, here are some basic and fairly common ciphers:

ROT-13


ROT-13, or Rotate 13, is a common use of the Caesar Cipher. It is a substitution cipher, they're what you're most likely to run into around the internet. There are many more complex ones, but substitution ciphers are the easiest to use and understand, as they only require you switching one letter for another, hence the substitution name.
Back to ROT-13. It is--as I said--an implementation of the Caesar Cipher. The Caesar Cipher principle is that you take the alphabet and shift each letter of your message N letters down the alphabet. If you were using 3, for example, A would become D, E would be H and et cetera.
ROT-13 is shifting each letter of your message (referred to as plaintext) by 13 places. It's quite simple, actually, but it can be very confusing if you haven't seen it before.

Here's an exmaple: ONFVP EBG13 RKNZCYR

That deciphers to "BASIC ROT13 EXAMPLE." Notice that it doesn't change numbers, so be careful of that if you're using it.

And here is the tool I use to en/decipher ROT-13, or any other ROT cipher: ROT-13 encrypt/decrypt

Hex


Okay, so this isn't most commonly used as a cipher, per se, but it is used quite often as one. Hexadecimal, hex, is a base 16 number system. It is also used in computers extensively, mainly in Assembly.
The concept of different base number systems than decimal (base-10, what we use (99% of the time) is kind of complicated, but it gets easier once you wrap your head around it.
Hex is base-16, so it has to have more symbols for numbers that we are used to. For the first 9 numbers it's normal: 0-9, but once it hits 10 it changes to A, because 10 is a single digit in hex. 11 is B, 12 is C, 13 is D and so on, but only to 15, which is F. After that it goes to 10, being 16. 1A is 26.

I know it can be confusing, but if you really want to understand it, read up on it. If not, here's the tool I use to convert to and from hex (and others that I'll discuss in a second): Translator

A whole lot of people use that website, it's awesome.

That's it for part 1. I'm going to write up a second part eventually, probably covering the Vigenere cipher, Base64 and Binary, and maybe some other techniques, not sure at this point.

0 comments:

Post a Comment