This page is where the framework display the list of available algorithms.

Symmetric-Key Algorithms

Also known as Secret key algorithms or Shared key Algorithms

On this kind of algorithms the sender and the receiver of a message share a single and common key, that is used to cipher and decipher that message. This systems are simpler and faster, but the sender and the receiver need to exchange the key in a secure way, which may cause that key to be intersected.

Asymmetric-Key Algorithms

Also known as Public-key algorithm or Double-key algorithm

This kind of algorithms use two keys, a public key known to everyone and a private key (secret key) that only the receiver of the message knows. For instance, if one wants to send a message to another, he uses the other's public key to cipher the message. When the other receives the message he uses his private key to decipher it.
This might not make sense, because both the public and private key are different from each other. The explanation is that the public and private keys are strongly related, meaning that only the public key can be used to cipher messages and only the corresponding private key can be used to decipher the message. But still it should be impossible to figure out the private key knowing only the public key. The only drawback is that if you want to send a message to someone you need to know it's public-key.

Hash Algorithms

Also known as Unidirectional Algorithms or One-way Encipherment Algorithms

An hash algorithm transforms a message into a number of fixed size (in bits) that is characteristic of that message. Being so, it is almost impossible to find a text A that has the same hash as text B. It is not possible to recover the original information having only the hash (one-way ciphering), so this algorithms cannot be used for communication. But they can and are used in (1)authentication systems and (2)data integrity check.
1 - Each user when logs in computes an hash using login info (that is saved in the data base upon registry) that is compared with the already saved one.
2- A text has its own and unique hash, so if the text has changed, the computed hash will be different from the original hash, meaning that the text was definitely modified by someone.