[Review] 3 Main Types of Encryption: Hash, Symmetric, Asymmetric


Symmetric cryptography

  • encrypter, and decrypter — need access to the same key.
  • The tricky part is how to store the key and make it available only to the software that needs it.
  • Best use: 
    1)In services that store encrypted data on behalf of a user (like cloud backup services)
    2)To encrypt computer or device storage(Computer password)
    3)To create a secure channel between two network endpoints, provided there’s a separate scheme for securely exchanging the key

Asymmetric cryptography (public key cryptography)

  • known as public key cryptography, uses public and private keys to encrypt and decrypt data.
  • Either of the keys can be used to encrypt a message; the opposite key from the one used to encrypt the message is used for decryption.


  • Hashing is used only to verify data
  • the same input will always produce the same output
  • it’s impossible to reverse it back to the original data
  • given knowledge of only the hash, it’s infeasible to create another string of data that will create the same hash (called a “collision” in crypto parlance)
  • Three resistance:
    Pre-Image Resistance: 
    when: h(x) = z
    hard to find: h(z)-1 = x
  • Second Pre-Image Resistance: if a hash function h for an input x produces hash value h(x), then it should be difficult to find any other input value y such that h(y) = h(x).