Dear dtnl,
There are many ways to code or cipher your messages. Coding means, in
general, only disguising or replacing the words or the whole message;
ciphering, in general, means substituting each note.
Substitution Codes/Ciphers
--------------------------
There are relatively many ways to substitute the alphabet.
A simple one, the Caesar Code, used in schools (or, more accurately,
when using the "silent post"), is to replace each letter of the
alphabet by another, which is methodically at the same distance from
this letter. The simplest solution is of course, to replace the first
letter with the last one, etc.:
A B C D E F G H I J K L M
Z Y X W V U T S R Q P O N
This is very easy to decipher, even if the letter replaced are not in
such an order. More elaborate ways include the polyalphabet, replacing
each time the alphabet code used: but then again, it is quiet easy to
break it as well.
Example: Dirgv z xlwv
[please note, that the fact that there are only two common words in
English "I" and "a", that have got only a single letter, means that it
is rather easy to break any code that simply transforms the letters
but keeps the originally grammatical structure of the English language
- it would be much more difficult with other languages, as I hope to
discuss later. You can overcome this problem by writing the text in
blocks:
dirg vzx lwv].
Caesar Cipher
<http://en.wikipedia.org/wiki/Caesar_cipher>
Polyalphabetic Cipher
<http://en.wikipedia.org/wiki/Polyalphabetic_cipher>
Vogernere Cipher
<http://en.wikipedia.org/wiki/Vigen%E8re_cipher>
Mixing the words
----------------
This solves part of the problem discussed before. The words are mixed,
the first letters of each word composing the first sentence and so on.
In such a system, it is essential to know how many words are in a
sentence.
3 wac ro id te e.
Mixing the words 2
------------------
Using a Transposition cipher, we can mix each word. One example is
just turning each word into an anagram.
eirtw a cdeo.
Yet another is to sort them in columns:
wtce
reog
iadd
Which brings us to the code: wtce reog iadd .
ADFGVX
------
By creating a table, in which there are only these six letters:
A D F G V X
A b .....
D
F
G
V
X
b, for example, represents AD in this code.
A D F G X
A b t a l p
D d h o z k
F q f v s n
G g j c u x
X m r e w y
However, this is not a simple alphabet replacement code. After the
replacement, there is another table, this time one that changes daily,
and according to which the code is enciphered. This code was used by
the Germans during the First World War.
ADFGVX
<http://en.wikipedia.org/wiki/ADFGVX_cipher>
Another mixed method also adds word substitution: Autokey Cipher:
"An autokey cipher, or self-synchronizing stream cipher, is a cipher
which incorporates the message (the plaintext) into the key. There are
two forms of autokey cipher: key autokey and text autokey ciphers. A
key-autokey cipher uses previous members of the keystream to determine
the next element in the key stream. A text-autokey uses the previous
message text to determine the next element in the keystream."
(SOURCE: Wikipedia, <http://en.wikipedia.org/wiki/Autokey_cipher>).
One of the systems of replacement with numbers is the Straddling checkerboard
http://en.wikipedia.org/wiki/Straddling_checkerboard
Another one, similar to the former three, is the bifid cipher. Letters
are first represented in a table, with numerical equivalence:
1 2 3 4 5
1 B G W K Z
2 Q P N D S
3 I O A X E
4 F C L U M
5 T H Y V R
Then, the numbers received are sorted:
Write a code
35115 3 2245
15353 3 4323
They are paired up again:
35 11 53 22 45 15 35 33 43 23
And converted into a new word:
ybepvtyaxo
Bifid Cipher
<http://en.wikipedia.org/wiki/Bifid_cipher>
Words Replacement
-----------------
Replacing all (or part) of the words for other words, numbers or forms
(graphic substitution, especially with graphs).
Book code - described before by frde.
---------
See also Wikipedia
<http://en.wikipedia.org/wiki/Book_cipher>
A code that uses is a book is the Running key cipher, which uses
letters from a text in an agreed book as the replacement letters, then
substituting them using a table:
Running Key Cipher
<http://en.wikipedia.org/wiki/Running_key_cipher>
Steganography
-------------
The text looks perfectly normal, say, a chapter from the Bible. Only
the receiver knows that they have to read only every other
letter/word/line etc. This is very difficult to crack if you don't
know the key.
In fact, while reading information that's encoded, anything could (or
does) effect the solution.
(hint: read the first letters)
Hiding the text may not be done by covering it by irrelevant
information, but through means like invisible ink, writing that hides
in a painting, etc. More elaborate forms of Steganography are
discussed in Wikipedia, including hiding the message in a picture or a
digital, numeric, message (using the phone book, for example).
More about Steganography:
Wikipedia
<http://en.wikipedia.org/wiki/Steganography>
A combination of steganography and homophonic code, would be to use
words, that themselves represent something else in the code book. As
we have all seen in spy fiction, with the classified ads saying: "Two
yellow raincoats for sale on Oxford Street. Don't forget your
umbrella!"
Inventing your own script, known only to the receiver and writer
----------------------------------------------------------------
This method could be broken, if you use a natural language, because
one could - use computers, try to find out the language through the
repetitions of various forms.
This *might* have been used in the Voynich Manuscript (one of my many
bizarre hobbies, which is partly why I was so happy to answer your
question):
Wikipedia, Voynich Manuscript
<http://en.wikipedia.org/wiki/Voynich_Manuscript>
In the case of the Voynich manuscript, one of the arguments *against*
its being a code was that it is written with too much confidence and
continuity; and that no natural language could be identified. However,
Zbigniew Banasik, thinks that he managed to prove that it has been
written in Manchu (the language of Manchuria).
A more elaborate form of that might be the One-Time-Pad, only that the
one time pads - if not used carefully (without repeating the system or
revealing it to more than the two who send and receive the message),
the who thing could be ruined.
As for the system of using little-known languages (Native American,
etc.) - this is not exactly a "code" - it is passing the message in a
language difficult to decipher because of its rarity: if wrote here a
message in Geez (which unfortunately I can't), it would be understood
by Geez readers, as few as there are (and if written, even in Latin
script, could be easily detected by language analysis as a
south-Semitic language, leading to bring along some poor Ethiopian guy
to read my boring messages).
I hope this answered your question. In the computer age, there are
many other codes and ciphers, these are classic ones. Please contact
me if you need further clarification on this answer before you rate
it. |