Sequence Tools Back to home page
   
 

General overview: Cryptography basics

 

1. Overview
 

  • What are codes?

 

  • What is cryptography?

 

  • Is there any theory explaining how to create effective codes?

 

While studying the topic of codes in a computer science classroom, you may find questions arising regarding the history of this unique field. Exploring how codes came about, and the division of this field into three separate sciences provides an excellent basis for independent study projects. The following provides a brief introduction of Codes, Cryptography, Coding Theory and Information theory.

 

Codes

Definition:

Any set of words, letters, colors, numbers or signs that have special meaning can be considered a code. Not all codes are secret. Codes are used everyday as a quick and easy way of sending messages.

Background:

The earliest codes began when people travelled to unknown areas of the world. Traces of the markings and tracks made to guide their way still remain today. Some other types of codes include; semaphore, Morse code, map codes and binary codes.

 

Cryptography

Definition:

Cryptology is the science dealing with disguised or secret communications. It encompasses the methods involved in preparing messages or writings intended to be incomprehensible to all except those who legitimately process the means to reproduce the original plain text.

Background:

It is almost impossible to ascertain the origin of cryptographic improvements or development of cryptanalytic techniques due to the secrecy inherent in the science. The earliest cryptology was developed by the Egyptians, ancient Hebrews and Indians. The first recorded use for correspondence was by the Lacedaemonians approximately 400 BC. Julius Ceasar was an avid supporter of this type of communications during his reign. Cryptology came into widespread use in the west during the 1300's, when ambassadors were first assigned to other countries. The invention of the telegraph in the mid 1800's quickly led to the development of military field ciphers. Similarly, in the early 1900's military codes were encrypted before being sent out by radio. Poor cryptography - or good crypto-analysis had dramatic effects of the course of history. Throughout WWI and WWII many battles were won and lost based on information intercepted and decoded by other nations. In 1971 Martin Heilman created the first public-key ciphers making cryptology more accessible to the common person. Since the 1970's the use of cryptography in private business has grown rapidly.

 

Coding Theory

Definition:

Coding theory is the science of finding efficient schemes by which digital information can be coded for reliable transmission through a noisy channel.

Background:

The birth of coding theory was inspired by the classic paper by Claude Shannon, 'The Mathematical Theory of Communication', first published in the Bell System Technical Journal, in 1948. His ideas gave rise to two whole new subjects, Information theory and coding theory.

 

Additional information about Information Theory

Definition:

Information theory describes how messages are transmitted and received through such electronic information systems as radio, telephone, television and computer systems. It provides mathematical laws to determine the probability that all the individual parts of a message will be transmitted without distortion. These laws are used to improve the capacity, efficiency and clarity of information systems.

Background:

Undisputedly, the father of information theory is Claude Shannon (1948). He characterized the mathematical treatment of problems that arise in the storage and transmission of information. It was his view that information can be treated as any other physical quantity. Shannon's paper explored the quantitative measures of information and of the capacity of various systems to transmit, store and process information.

 

2. Module plan

1.     Representation of numbers

2.     Showing that numbers could be represented by letters

3.     Explaining how Greeks used a dual representation of numbers

4.     Explaining that the letters and the symbols in a computer are represented by numbers

5.     Showing how letters can be modified by adding numbers to text pads

6.     Showing how to break words apart by means of erased boxes

7.     Combining these facts to code a word with a coding number

8.     Decoding an encoded word by adding the opposite key (the coding number) to the letters

9.     Combining separate letters in a word by Bammer the mouse

10. Teaching a robot to break words in letters, code them with a key, combine (concatenate) letters and give the output to a bird

11. Combining skills in sequences and coding. Producing complex codes based on sequences.

 

3. Duration

The module plan is intended to cover 3 or 4 lessons depending on kids’ response to the subject.

 

4. Methodology

The activity starts with general talks about coding. Students are asked to recollect examples of coding they know from their own experience, history or movies they saw.

Introducing some examples by teacher – bar codes, Greek system of representing numbers by letters, coding machine Enigma and amazing stories how mathematicians tried to decode enemy cryptograms during World War II.

Then we try to figure out an informal definition for coding and eventually for cryptography.

The kids are shown how the letter could be changed by adding numbers to text pads. An explanation of how letters are represented in a computer and each letter is associated with certain number – ASCII. Also the trick of breaking apart a word on letters is demonstrated as a base to the next phase – coding a word fixed in length letter by letter.

After the kids have played around enough coding simple words such as “cat” or “dog” the question about automating the coding by using of robots is raised. Suggestions by kids are discussed in a group. Each kid works on his own idea. If he didn’t participate actively in discussion he or she is suggested to implement one of the others' ideas that he understands.

After completion of this phase robots are demonstrated and messages are exchanged between kids. The task is to decode the unknown message. The activity is manual, i.e. the kids try to decode message the message without a robot as we only have the coding robot. The expectation is that some of the kids will realize that much easier is to make a robot.

Next step is to create a decoding robot or a robot that is universal (coding/decoding). In this phase kids should feel more comfortable  making such types of robots.

It is important for the teacher to try to connect the knowledge gained in coding sessions with other already well known topics as sequences.

Coding using sequences may be used as a continuation activity in further series of sessions.

Unlike other programs that overwhelm the student with rules we try to introduce the coding subject gradually not following a hard line but listening and following suggestions raised by kids. If the kids don’t respond actively or the teacher thinks that it is too risky to deviate from the main session plan he could keep to the session path as planned. He could postpone unpredictable experimenting to later sessions when the necessary materials are provided, and preliminary experimenting could be done.

Students learn through straightforward, experiential learning, addressing head-on the concepts that govern the coding and cryptography.

 

5. Expected results

At the end of the planned sessions the kids are expected to know and understand the basic concepts of coding and its purpose in the world today.

They should understand that the more complex the code is, the longer it will take to work out, and develop the technical means to decode it.

They should freely discuss and create simple code/decode systems using one or a team of robots.