Delicious.Com Bookmark this on Delicious     StumbleUpon.Com Recommend toStumbleUpon

Cryptography, Ciphers, Codes.
Keeping Secrets

Introduction to the Flat Earth Academy Webpages

These pages are intended to introduce you to some of what can be fun in codes and cryptography. (We'll get more precise in our terminology in a moment.)

Here, or on sub-pages...

There will be challenges, at various levels. There will be challenges for programmers. Ideas for classroom work. Notes on the history of "codes". Discussion of correct terminology. A "designer's guide"... what are the parameters? For the general reader, someone not very interested in codes or cryptography, but information of general applicability: Practical advice in two different but related areas: How to keep your "stuff" so that it is always available to you. How to avoid your "stuff" falling into the hands of people you would rather did not have it.

Let's start at the very beginning...

These pages will roam over many subjects. But I would like to suggest that the first codes date back to about 4000BC, if the bible's chronology of world history is accurate. I.e. to when Cain and Able were children.

Bear with me... apart from the date, I'm not being frivolous. All parents "talk over the heads" of their kids... or at least they try to. Often, of course, Junior understands what Daddy is saying before Mother does, but that's another story.

If we are going to understand what coding, in the broadest sense, is all about, we might as well start there.

"Person A" (and in the world of codes, she... political correctness observed... is traditionally called "Alice") wants to say something to "Person B"... traditionally called "Bob". (Alice and Bob even have their own Wikipedia page!(Wikipedia page links will be identified "-WP-", and will open in a new tab or window. Just close it to get back to what you were previously reading.)

Alice wants to get a message to Bob. In the case of Adam and Eve, their only option was the human voice. In later years, the medium the message will travel via becomes an important element in the design mix.

Code is only needed when that message must not also reach any unintended recipients... in this case, Cain or Abel. Sadly, there is no widely agreed name for "the people who shouldn't learn what's in the message."

That may be because "who shouldn't learn" is quite a complex topic. Can no one even know that a message is being passed? Can they know there is a message, just so long as they can't learn what's in it? (In the case of Cain and Abel, probably best if they don't even realize that Mommy ("Alice") has said something to Father ("Bob") that they weren't supposed to learn about, as any parent will tell you.)

So many design issues illustrated in a simple "Shall we take them to the park?" question in the First Family. I will try to show you want they are in due course. For now, let that be an exercise for the reader, so that I can get on with presenting you with...

A challenge for you

This is not a complex challenge... but I promised challenges, so here you are. While not complex, the system was good enough for some of the needs of a hugely important figure in world history...


That bit of code (encrypted text, or ciphertext, to use terms more precisely) will not be hidden from anyone reading this page even casually. And so it is more vulnerable than a different message which is in this page, but in a way that is not nearly so obvious. (And, did you notice, I even gave you a hint, if you know a bit about ciphers already. And the Flat Earth Academy is all about the advantages of "knowing a bit" about as much as possible! Is your attempt to decipher the above "important"? Of course not. Is doing it fun? (Why else would you bother?) Well... if knowing something helps you have fun?....)

If you DO manage to decipher that message, please contact me... link at bottom of page. Tell me what ALL of the ciphertext says, point out any mistakes I've made, and use subject line "Your page CodesIntro- I cracked challenge". I hope that in your email, you will supply...

I will also publish, if you like, a little "plug" for your webpage if you have one, or a charity or school you consider worthy of mention. (And, forgive me for a boring old whats-it, but let me spare you some time which will be wasted? I have too many demands on my time to be able to indulge in the pleasure it would give me to try to decrypt any challenge you might send me... Sorry... but please don't tempt me?)

Ha! Enough "play"...

For one thing, we should sort out our terminology, use the right words for what we are speaking about...

"Code"? "Cipher"? "Encrypt"? "Plaintext"?

Wikipedia's article on ciphertext tells us.

In cryptography, ciphertext (or cyphertext) is the result of encryption performed on plaintext using an algorithm, called a cipher. Ciphertext is also known as encrypted or encoded information because it contains a form of the original plaintext that is unreadable by a human or computer without the proper cipher to decrypt it. Decryption, the inverse of encryption, is the process of turning ciphertext into readable plaintext.

Ciphertext is not to be confused with codetext because the latter is a result of a code, not a cipher.

Elsewhere at Wikipedia, and also while reading "PopCo", by Scarlett Thomas, I learned that ciphertext uses symbols to stand for letters, digits, etc. In codetext, whole words are indicated by the elements of the codetext.

Each system has strengths and weaknesses. It is partly this complex matter of the subtle pros and cons of all the various elements, and of the varied demands of the different environments where a cipher or code may be used, which makes the topic interesting to me.

If you turn "THE CAT PURRED" into "uif dbu qrssde" (by "adding 1" to each letter), you haven't created something that is very hard to decrypt, buy you have created ciphertext, and you have been doing encryption.

On the other hand, if you turn "THE CAT PURRED" into "aa yx mw", by using a word list that says "The code for THE is aa, the code for CAT is yx, and the code for PURRED is mw", then as long as you and the person to whom you sent the message both have copies of the dictionary, and as long as it has all the words you'll need, then everything is quite simple... if tedious. You are doing coding, in the narrow sense of the term, and "aa yx mw" is codetext.

Let me recap: If you take the letters (and digits, etc) of something, and turn it into something cryptic, on a letter- by- letter basis, according to some rules, you are doing encryption, and producing ciphertext. The "rules" you followed to turn the plaintext into ciphertext are "the cipher" that you used.

There are, of course, many, many ciphers. Some are easy to do (like the one I used in the example), some are just too complex to be done without the help of a computer. Some are easy to for unauthorized viewers of the ciphertext to decrypt, others are less hard.

On the other hand, if you take whole words of the message, and convert them into something cryptic, you are still starting with "the plaintext", but you are producing "codetext".

The codes for the words which were in the plaintext won't always be alphabetic. Sometimes, for instance, numbers are used. If the wordlist were a big book, like, say, the bible, then a particular word might be coded by finding it in the book, at the start of a line, and (for the code for that work) writing down the page and line numbers. Of course, sender and receiver must not only have the same book, but exactly the same edition, same printing, of the same book.

By the way, in case you notice, and it puzzles you: I apologize for using "code" so widely in the names of these pages, in the names of the images on them, in spite of the fact that I am usually talking about encryption or decryption (making and reading ciphers, not codes.)

Enough pedantry! Whatever you call the activities, they are still fun!

So... That's the introduction of the way...

I hope your appetite is whetted? I hope you'll have a go at the challenge above, and on other pages in the collection.

Once you're done with the challenges (for now), there are links to other cryptography and codes pages from Flat-Earth-Academy.com. If you came here from the main cryptography and codes page, you can probably get back there simply by closing the window or tab that this is in.

Have you heard of Flattr? Great new idea to make it easy for you to send small thank you$ to people who provide Good Stuff on the web. If you want to send $$erious thank yous, there are better ways, but for a small "tip" here and there, Flattr ticks a lot of boxes which no one else has found a way to do yet. Please at least check out my introduction to Flattr, if you haven't heard of it? "No obligation", as they say!

Search across all my sites with the Google search button at the top of the page the link will take you to.

Search just this site without using forms,
Or... again to search just this site, use...

Powered by FreeFind

Site search Web search

The search engine merely looks for the words you type, so....
  *!  Spell them properly   !*
  Don't bother with "How do I get rich?" That will merely return pages with "how", "do", "I", "get" and "rich".

I have other sites. My Google custom search button will include things from them....
   One of my SheepdogGuides pages.
   My site at Arunet.

Ad from page's editor: Yes.. I do enjoy compiling these things for you... I hope they are helpful. However.. this doesn't pay my bills!!! If you find this stuff useful, (and you run an MS-DOS or Windows PC) please visit my freeware and shareware page, download something, and circulate it for me? Links on your page to this page would also be appreciated!

--Click here to visit editor's freeware, shareware page.--

This page's editor, Tom Boyd, will be pleased if you get in touch by email.

Valid HTML 4.01 Transitional Page tested for compliance with INDUSTRY (not MS-only) standards, using the free, publicly accessible validator at validator.w3.org. Mostly passes. There were two "unknown attributes" in Google+ button code, two further "wrong" things in the Google Translate code, and similar in Flattr code. Sigh.

-- Page ends --