
50 Algorithms Every Programmer Should Know
By :

Different types of cryptographic techniques use different types of algorithms and are used under different sets of circumstances. As different situations and use-cases have different requirements of security based on the business requirements and the data classification, the selection of the right technique is important for a well-designed architecture.
Broadly, cryptographic techniques can be divided into the following three types:
Let’s look at them one by one.
The cryptographic hash function is a mathematical algorithm that can be used to create a unique fingerprint of a message. It creates an output, called a hash, from plain text. The size of the output is usually fixed but can vary for some specialized algorithms.
Mathematically, this looks as follows:
C1 = hashFunction(P1)
This is explained as follows...