Basics of Cryptography
From CryptoDox, The Online Encyclopedia on Cryptography and Information Security
Cryptography is the science of writing in secret code and is an ancient art. The first documented use of cryptography dates back to 1900 B.C.
If you want to transmit some information securely from one computer to another, or to store it securely on your own computer, how would you achieve this?
Encryption is the answer to this. There are various algorithms that can achieve this; some more secure than others. An algorithm is a series of mathematical equations that turns the information we want to secure (plaintext) into the secure form called ciphertext.
Modern cryptographers try to build cryptography or security systems with these characteristics:
Many practical applications require some, but not all of these characteristics.
In particular, protocols for proving message integrity and authentication were apparently first developed by the Sumerians around 3,400 B.C. -- these protocols later led to the development of writing.<ref> "The Playdough Protocols: Commercial security at the birth of writing, arithmetic, and religion in ancient Sumer (modern Iraq)." by Nick Szabo 2002 </ref>
The image below describes in simplistic terms about the process of encryption.
A key is used to encrypt the data and to decrypt it.
Cryptography has evolved over the years. The mode of encryption used during Julius Caeser's time is very different from what we use today. Infact, its quite different from even what was used during World War II. More details about this evolution is captured at - History of Cryptography.
In the "classic" ciphers invented before 1883, each cipher had a limited number of keys -- a persistent adversary, if he knew exactly which cipher was used to create an encrypted message, could eventually work through all the possible "keys" for that cipher and decode the message. This led to the widespread misunderstanding that "security through obscurity" -- keeping the cipher process a "trade secret" -- would improve secrecy.
Kerckhoff's Law (1883) states that "There is no secrecy in the algorithm - It is all in the key.".
Books of Interest