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.
- 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, ...
- 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.
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.