Cryptography is the science of securing data through mathematical algorithms and keys. It converts plaintext into unreadable ciphertext and vice versa to ensure confidentiality, integrity, and authentication of information. The main types of cryptography are symmetric key cryptography, which uses a shared key for encryption and decryption; asymmetric key cryptography, which uses public and private key pairs to enable secure communication; and hash functions, which generate fixed-length hashes for data integrity verification. Cryptography has many applications including computer passwords, digital currencies, secure web browsing, electronic signatures, authentication, and end-to-end encryption in communication apps.