Cryptanalysis is the science of cracking cryptosystems. It might be done for good cause, to prove the strength of a cryptosystem, or for bad cause, to steal secret messages and keys.
Hashing algorithms produce a fingerprint of a message and can be used to provide integrity validation and authentication.
Contemporary symmetric key cryptography is fast and includes two types of algorithms: block ciphers and stream ciphers.
Block ciphers and stream ciphers might use initialization vectors (IVs) to randomize and strengthen the resulting ciphertext. The IV is a nonsecret value and might also be called a salt, a seed, or a nonce.
Block ciphers tend to show patterns and might require the use of randomizing modes. The five prevalent modes ...