Cryptography is the mathematical and computational study of information security; in particular the study of methods used to transmit information securely between two or more parties, unreadable by unauthorized eavesdroppers. Cryptography finds many applications in the modern world, eg. protecting online logins, smart card protocols, email privacy, confidential documents, and so on.
Usually, to protect information from being revealed, a person will attempt to render the information unreadable by anyone without some secret information. This process is called encryption. The original data is usually called the plaintext, while the resulting scrambled data is called the ciphertext. The secret information can take the form of a password, a number, a file, etc. and is usually called the key (as it can "unlock" the hidden data).
Any authorized party should be able to, given a ciphertext and its secret key, reconstruct the original information, in a process known as decryption. This allows several parties to transmit information securely using a shared secret key. There are many different methods to perform encryption, varying widely in simplicity and security. These methods are usually called ciphers.
Much of cryptography is also devoted to the opposing field of cryptanalysis, the act of trying to "break" a cipher so that encrypted information can be retrieved, using only part or none of the secret key, by an adversary. The continuous feedback between cryptographers, who develop ciphers, and cryptoanalysts, who break them, has led to the development of many advanced and secure ciphers used today.
There is also some confusion between codes and ciphers. A code is a symbol, whether it be a letter or a symbol, which stands for a word, not a letter. A cipher is a symbol which stands for a letter.
- Slides of a two-semester course Introduction to Cryptography by Prof. Christof Paar, University of Bochum (slides are in English, site contains also videos in German)
- The GNU Privacy Guard - GNU Cryptography Tools
- The International PGP Homepage
- Cryptool - Interesting illustrative program for Windows