# E n c r y p y i o n

CPT 105 · Franklin College · Erich Prisner · 2002-2007

Encryption has a long and interesting history.

• 1500BC Assyrians used Intaglio technique to prove authentification.
• 500BC Hebrews used substitution cipher.
• Julius Caesar and his people used Caesar code: Shift every letter a fixed amount.
Message: (use lower case only)
number of fields we shift the key, (between 1 and 25)

You decrypt by pasting the encrypted text in the top field and encrypting with number 26-keynumber.
• Caesar code, or any code consisting of permutating the alphabet are easy to crack using statistical methods (count how often each letter occurs and relate this to the known distribution in the corresponding language).
• Gabrieli di Lavinde
• Sir Francis Bacon
• Vigenère code by Blaise de Vigenère (1523 - 1596). Some codeword, like "lugano" tells us to shift the first letter of the message by 12 (=L), the second by 21 ("U"), and so, the seventh letter is again shifted by 7, the eigth again by 20, ...
Message: (use lower case only)
keyword (again only lower case)

keyword for decryption:
• 1790 Thomas Jefferson and the wheel cipher. Reinvented in 1864 by Charles Babbage, (inventor of the mechanical "difference engine" in 1822, and one of the pioneers of computing and computers), used in WWII.
• 1863: Friedrich Wilhelm Kasiski developed a statistical method to break the Vigenère code.
• 1925: William Frederick Friedmann developed another statistical method to break it.
• Kerckhoff: Security of an encoding scheme should lie only in the key, not in the method. Even knowing the method you should not be able to read the encoded text without key.
• Enigma machine, used by Nazi-Germany, but code broken by Polish mathematician Marian Rejewski. Very useful was that sometimes they had both encoded and decoded text (or at least, they cold guess what the decoded text would be). The Americans had also a machine which was never broken, the SIGABA.
• Starting 1970 en- and decryption reached computers, and thereby moved into public. A stronger requirement than Kerckhoff's emerged: Even if you have encoded and decoded text, you should not be able to find the key.
• DES (Data Encryption Standard) uses a 56 bit (or recently 128 bit) secret key. Did NSA insist on small key length? There are only 256=1017 different keys to try! This was done (as a challenge, orgaized by an RSA company) in 1997. In a joint effort of 14000 computer user, the code was cracked in 4 month. Electronic Frontier Foundation decoded some DES code with the help of special computers even within 56 hours. Still DES is considered to be very secure.
• RC4 (invented by Ronald Rivest, 1987) is another symmetric key method. It can use keys of any length, and is used in WLANs. Use this nice site on RC4 encoding.
• 1990: Adi Shamir and Eli Biham create a decoding method, working if you can let many texts being encoded. You use many almost similar texts and sophisticated math. DES is secure even against this attack.
• 1976 Diffie-Hellman created the first public key scheme.
• 1978 RSA (Rivest-Shamir-Adleman). The following Javascript implementation of RSA has been written by Hans-Günter Mekelburg . (See also that page for an example of text-to-text encoding). To create your secret and public key, you need two prime numbers. Here are some: 157; 163; 251; 359; 439; 521; 647; 739; 839; 941; 1123; 1471; 1789; 1871; 1933; 1949; 2003; 2459; 3209; 9337; but there are MANY MANY more. You may also test numbers for primality Note that you cannot change your secret key without changing the public key as well.
To , type in two prime numbers
product m:
public key: e:
secret key: d:
plain encrypted
 Use public key e: and m: to
<---

Nowadays, the standard is public key encryption. No keys have to be exchanged. Everbody creates a secret key and a public key. The public key is published. Messages to person A can be encoded with the public key of person A, but they can only be decoded using A's secret key. So everybode can encode messages to A, but only A can read them. Examples of public key encryption methods are the RSA algorithm (Rivest, Shamir, Adleman), or the PGP program ("Pretty Good Privacy") based on RSA.