A Challengers Handbook

by

Caesum

Codes

You often find in challenges that you come across similar levels again and again. Perhaps one of the most often used codes in all challenge levels is morse code. The dots and dashes can be considered as beeps and whistles or ones and zeroes. Often these may be separated by some other character or noise so that it is possible to differentiate characters and words. The alphabet is as follows:

A   .-
B   -...
C   -.-.
D   -..
E   .
F   ..-.
G   --.
H   ....
I   ..
J   .---
K   -.-
L   .-..
M   --
N   -.
O   ---
P   .--.
Q   --.-
R   .-.
S   ...
T   -
U   ..-
V   ...-
W   .--
X   -..-
Y   -.--
Z   --..
0   -----
1   .----
2   ..---
3   ...--
4   ....-
5   .....
6   -....
7   --...
8   ---..
9   ----.
Fullstop   .-.-.-
Comma   --..--
Query   ..--..

Another popular encoding scheme used by challenges is that of base 64 encoding. Example base 64 encodings are:

  • dGhpcyBpcyBiYXNlNjQ=
  • dGhpcyBpcyBiYXNlNjQu
  • dGhpcyBpcyBiYXNlNjQuLg==

    There are some online decoders and I would normally recommend this one however it was not working this morning and so I will also cite this one and this one which also features things like MD5, DES, Hex, Binary, etc conversions.

    You will notice above that the encodings are essentially the same string encoded, I have just encoded different lengths. This is to show that base64 encodings are always a multiple of 4 characters long, and any surplus is taken up by '=' characters at the end of the encoded string. So a string ending '==' is a dead giveaway base64 encoding. Certainly any string that contains a mix of upper and lowercase characters and numbers like the above is probably base64.

    I will also mention some of the lesser used codes, which it helps to have an awareness of, like braille. The following is the braille alphabet:

    Note that it is possible to consider the dots in braille as binary ones and zeroes and so again this could be disguised.

    A lot of people these days have telephones, and telephone codes are quite popular at the moment. On a telephone each number has three or four corresponding letters and so it is easy to turn letters into numbers. Its not so simple to go the other way, given a telephone number like 43556 each number could be any of three letters - 4 could be g, h or i, etc. However with some ingenuity it should be possible to work out that 43556=hello. The only thing about these telephone codes is that there can be slight differences between different phones or countries it seems. Here is what the US/Canadian coding is:

    Digit Letters
    1 (none)
    2 A B C
    3 D E F
    4 G H I
    5 J K L
    6 M N O
    7 P Q R S
    8 T U V
    9 W X Y Z
    0 (none)
    * (none)
    # (none)

    This seems to agree with my phone, although my phone has no Q or Z on it for some reason. Additionally, since the popularity of mobile phones and texting many encodings are now one to one, so hello is stated as 44 33 555 555 666. If the problem is stated without spaces then it's still possible to solve but is more work.

    Finally lets consider another old encoding scheme, maybe not so well known about these days. Semaphore was used for ship to ship communication in the navy, it is a series of flag positions to represent each character of the alphabet. Here is the semaphore code:

    a b c d e f

    g h i j k l

    m n o p q r

    s t u v w x

    y z

    Another encoding that I will mention is the Bacon cipher:

    a AAAAA g AABBA n ABBAA t BAABA
    b AAAAB h AABBB o ABBAB u-v BAABB
    c AAABA i-j ABAAA p ABBBA w BABAA
    d AAABB k ABAAB q ABBBB x BABAB
    e AABAA l ABABA r BAAAA y BABBA
    f AABAB m ABABB s BAAAB z BABBB

    Bacon ciphers are normally used to hide things. It is basically a binary encoding and this is normally overlaid onto a seemingly innocuous message. (For example by letting A mean lowercase and B mean uppercase thEN You Can eNcOde MeSsaGEs On top of other messages). Of course A and B could be anything - fonts, colours, etc. Just be aware that an essentially binary encoding can be present in these kind of ways, and often the Bacon alphabet above will have been used.

    Finally, if you are ever faced with a strange script then I suggest a look around Omniglot at the writing and alphabets. This is a collection of scripts and typefaces from runes to hieroglyphics and from shorthand to Klingon. It is not only an inspiring place to browse around but I have solved many challenge levels based on the information there.

    Back to Encryption