Cryptography is a technique for secure communication that protects messages from third parties called adversaries. There are two main types of encryption: two-way encryption where a message can be encrypted and decrypted, and one-way encryption where a message can only be encrypted. Common encryption methods include shift ciphers, Caesar ciphers, block ciphers, hashing, and public/private key encryption. Cryptography has many applications including cryptocurrency, password security, military communication, and secure data transmission.