# Cryptographic Algorithms Overview

Cryptography uses security protocols to conceal the true meaning of users’ communications from potential adversaries or malicious actors. This is often done through encryption. Encryption is the process of converting plaintext data into ciphertext. Encryption is vital to the protection of data at rest or in use. This conversion is often directed using an algorithm. Algorithms act as sets of rules to be followed when determining an outcome to a calculation or process. In the case of cryptography, algorithms determine the outcome of encrypted plaintext. **Cryptographic algorithms determine how a cipher will perform the function of encryption***text in italic*. Encryption can be symmetric or asymmetric. The effectiveness of a specific cryptographic algorithm is greatly determined by key distribution during the process of encryption. Overall, cryptographic algorithms play a major role in cybersecurity due to their necessity for encryption, decryption, and hashing. Password storage and authentication are major examples of where cryptographic algorithms play a vital role. **Defining symmetric encryption, asymmetric encryption, and hash functions will specify how algorithms contribute to proactive cybersecurity***text in italic*.

### Symmetric vs. Asymmetric

Algorithms being used for encryption and decryption require a key to complete the conversion. Key distribution is the process of determining who will have a key and with it the ability to encrypt/decrypt specified data. Cryptographic algorithms can be separated into symmetric and asymmetric; each option relies on a key to decrypt data.

**Symmetric-** Symmetric algorithms provide encryption and decryption with a single key. Therefore, the sender and the receiver need to have the same private key. This type of encryption is typically faster than asymmetric, but key distribution can be difficult and a security issue. Symmetric methods of encryption can be further broken down into block or stream ciphers. *Block ciphers* work with pieces (blocks) of data and encrypt portions of data, whereas *stream ciphers* encrypt data bit by bit. Examples of symmetric algorithms include IDEA, Blowfish, RC4, RC5, RC6, DES, 3DES, and AES. AES, or *Advanced Encryption Standard*, is recognized as the most accepted symmetric algorithm; it can support key sizes of 128, 192, and 256 bits.

**Asymmetric-** Asymmetric algorithms use two keys for the process of encryption and decryption. A sender will use a *public key* to encrypt a message, and the receiver uses a *private key* to decrypt the message. Public keys make the process of key distribution easier than it would be when using a symmetric algorithm. RSA is the most used asymmetric algorithm, but other examples include Diffie-Hellman and ECC.

### Hash Functions

A hashing algorithm is also referred to as a cryptographic hash function. Cryptographic hash functions are algorithms that take plaintext input and produce a determined length ciphertext output. The hash function product typically comes in the form of a long string of seemingly random numbers and letters. This is called a hash value. If a single character changes in the original plaintext, the hash value could be completely different. This makes hashing a strong tool in the signing of digital signatures. Compared to encryption, hashing is meant to be a one-way function; repeated plaintext will consistently produce the same hash.
Moreover, hash values are meant to be unique. This means one hash value **should not** be the same as another hash value with different plaintext, which would be a security flaw. Major cryptographic hashing algorithms include MD5, SHA-1, and SHA-2.

### Application of Cryptographic Algorithms

Cryptographic algorithms are fundamental tools used in encryption, decryption, and hashing. Their use in cybersecurity is imperative in several regards. The described algorithms make it possible to communicate privately in cyberspace and contribute to the overall integrity of cyber operations and authentication.

Encryption plays a part in concealing data in transit, whereas hashing serves as a check to determine if data has been altered. Hashing, in particular, is extremely useful for password storage as well. Instead of storing passwords in plaintext, they can be stored as hash values, and verification can be done via a hash.

Asymmetric algorithms are widely used in SSL protocol which protects email traffic and user web surfing. It is important to note that some algorithms might use more bits or be more “secure,” but a cryptographic algorithm is only as secure as its key distribution. **To compromise the private key would be a threat to communication integrity between the sender and the receiver***text in italic*.

Most users are utilizing these types of algorithms regularly and don’t even know it. Platforms are making a point to protect their users’ passwords with hashing, and email services realize the value of integral communications. This builds users’ trust. Some applications such as *Signal* and *WhatsApp* build their entire service around encrypted communications. Cryptographic algorithms serve as the backbone for encryption and hashing. Both are essentials in the toolbox of modern cryptography.

**References**

Turner, D. (2019). Summary of cryptographic algorithms - according to NIST. (). Retrieved from https://www.cryptomathic.com/news-events/blog/summary-of-cryptographic-algorithms-accordi ng-to-nist#:~:text=Encryption%20provides%20confidentiality%20of%20data,used%20for%20en cryption%2Fdecryption%20services.

Saydjari, S. (2018). Engineering trustworthy systems. New York: McGraw-Hill.