Encryption works by using keys to scramble information being sent over the internet so that it can only be read by the intended recipient. There are two main types of encryption: symmetric key encryption which uses the same secret key shared between computers, and public key encryption which uses a public key available to anyone and a private key only known to the recipient. Popular implementations of public key encryption include SSL and TLS which are used to securely transmit sensitive information over the internet in browsers and between websites and servers. Hashing algorithms are also used to generate keys by computing a hash value summary from an input number that cannot be reversed without the original data.