Jacob Mathai

History of Computer Cryptography and Secrecy Systems

Jacob Mathai


A secrecy technique where the existence of an actual message is hidden. The word is derived from the Greek words steganos (covered) and graphein (to write). Steganography is ancient technique that has been used for thousands of years as a primitive for secrecy systems and secret communications. In the first century, Pliny the Elder described how the milk from a thitymallus plant could be used as invisible ink. Another technique in ancient Greece and Persia involved shaving a messenger's head, writing a message on his scalp and waiting for the hair to grow back before sending the messenger to the destination. The technique primarily achieves security through obscurity and it's basic weakness is that if the message is discovered, the secret communication is revealed.



Combining Cryptographic and Steganographic Techniques



Transpostion is a cryptographic technique whereby the letters in a message are rearranged to provide secrecy. Think of the word dog and all of the ways one could arrange the letters -- dog, dgo, odg, ogd, dgo, odg -- this anagram is a simple example of transpostion. The position of the original letters all retain thier idenities but change there original positions. As you increase the size of the message to over 40 letters however, the number of permutations grow exponentially and it becomes very difficult to decrypt such a communication. Typically the sender and receiver agree upon a technique to encode and decode messages using transposition. One of the first cryptographic devices using transposition dates back to the fifth century and was named the Spartan Scytale. The Scytale worked as follows -- a fabric was wrapped around a staff and a message was written on the cloth. Once unwound, the cloth appreared to have a meaningless scamble of letters. THe sender and the receiver would both have matching sized staffs to secure mutual communications.

Rail Fence Transposition




Plain Text, Ciper Texts, and Ciphers


Caesar Shift Cipher


Ciphers, Algorithms, and Keys


Kerchoffs' Principle



Nomenclators are an encryption techniques that use a combination of codewords and ciphertext alphabets to secure communications. The weakness in this technique is that the codewords and ciphertext are typically written down by both the sender and receiver and is vulnerable to enemy capture. This is different than memorizing 26 ciphertext letters and or distributing a new key once an existing key is comprimised. A code can be described as substitution at the 'word' level and a cipher is substitution at the individual 'letter' level.

Homophonic Substitution Cipher

In a homophonic substitution cipher, each plaintext letter is replaced with several different ciphertext letters. Generally speaking, as the frequency of the letter increases, the number of potential ciphertext letters would increase proportinatly. For example the letter "E" may have a frequency of 12% for most communications and would potentially have 12 different ciphertext letters representing it. This would complicate simple attempts at frequency analysis because an encrypted message would represent a single letter "E" with 12 distinct ciphertext letters.

Vigenere Cipher




If the sender and receiver agreed upon the keyword of "JAKE" and the sender wanted to encypt the plaintext word "Unix" and send it to the receiver, it would be similiar to the following :

Keyword         JAKE
Plaintext       UNIX
Ciphertext      DNSB

To encrypt the plaintext letter "U" using the keyword "JAKE", one would start with the leftmost row beginning with the letter "J" and find the intersection point with the top most row with the letter "U". In this case the first letter of the ciphertext would be "D". Next, you would find the leftmost row beginning with the letter "A" and find the intersection point with the top most row with the letter "N" which happens to be the ciphertext letter "N". This process continues iteratively and the keyword is reused over and over as the plaintext message lengths increase. Generally speaking, a longer keyword provides some additional security. Wilhelm Kasiski and Charles Babbage seperately cracked the Vigenere cipher by using frequency analysis of letters in the English language and comparing them to encrypted ciphertext messages.

One Time Pad


Enigma Cipher


Lucifer and DES

Lucifer was a symmetric encryption algorithm created by Horst Feistel in the 1970's while working at IBM. The scrambling technique of Lucifer was quite involved and begins with translating the plain text string to binary format. Next, the binary string is shuffled and divided into 64 bit blocks and encryption happens on a per block basis. Each of these 'blocks' are split into 2 32 bit blocks and they are named "Left(0)" and "Right(0)". The "Right(0)" block is put through a mangle function which rearranges the binary numbers using a fairly complex substitution cipher. The "Right(0)" block is then added to the "Left(0)" block to create a new half block called "Right(1)" and the original "Right(0)" block is renamed Left(1). This series of steps is called a "Fiestel Round" and is repeated 16 times in total. The mangler function can change and is determined by a key the sender and the receiver agree upon. A modifed version of Lucifer was adopted as the American standard for encryption known as DES or the Data Encryption Standard. The main difference between Lucifer and DES was that the NSA limited DES to 56 bit keys to balance national security interests against personal and corporate privacy needs.




RSA is the most common assymetric cryptographic technique on the internet today. It was created by Rivest, Shamir, and Adleman at Harvard University and was based upon the research of Whitfield Diffie and Martin Hellman. Additional information on the mathematics of RSA can be founds at http://www.garykessler.net/library/crypto.html#rsamath

Creative Commons License


Jacob Mathai