Cryptographic algorithms are sequences of processes, or rules, used to encipher and decipher messages in a cryptographic system. In simple terms, they're processes that protect data by making sure that unwanted people can't access it. These algorithms have a wide variety of uses, including ensuring secure and authenticated financial transactions.
Most cryptography algorithms involve the use of encryption, which allows two parties to communicate while preventing unauthorized third parties from understanding those communications. Encryption transforms human readable plaintext into something unreadable, also known as ciphertext. The encrypted data is then decrypted to restore it, making it understandable to the intended party. Both encryption and decryption operate based on algorithms.
There are many different types of cryptographic algorithms, though most of them fit into one of two classifications — symmetric and asymmetric. Some systems, however, use a hybrid of both classifications. Symmetric algorithms, also known as symmetric-key or shared-key algorithms, work by the use of a key known only to the two authorized parties. While these can be implemented in the form of block ciphers or stream ciphers, the same key is used for both encrypting and decrypting the message. The Data Encryption Standard (DES) and Advanced Encryption Standard (AES) are the most popular examples of symmetric cryptography algorithms.
Asymmetric cryptography algorithms rely on a pair of keys — a public key and a private key. The public key can be revealed, but, to protect the data, the private key must be concealed. Additionally, encryption and decryption of the data must be done by the associated private and public keys. For example, data encrypted by the private key must be decrypted by the public key, and vice versa. RSA is one of the most common examples of this algorithm.
Symmetric algorithms are usually much faster than asymmetric algorithms. This is largely related to the fact that only one key is required. The disadvantage of shared-key systems, however, is that both parties know the secret key. Additionally, since the algorithm used is the public domain, it is actually the key that controls access to the data. For these reasons, the keys must be safe-guarded and changed relatively frequently to ensure security.
While cryptographic algorithms are used to provide security, they are not 100% foolproof. Suboptimal system can be infiltrated and sensitive information can be compromised as a result. Rigorous testing of the algorithms, therefore, especially against established standards and identified weaknesses is vital to assuring the utmost security.