# Cryptographic Algorithms

This topic was published by and viewed 1437 times since "". The last page revision was "".

Viewing 1 post (of 1 total)
• Author
Posts
• In the field of cryptography, there are many types of cryptographic algorithms, each with their advantages, disadvantages, and uses. Cryptographic algorithms are more commonly used than one may think. Therefore, it may be quite beneficial to learn some of these algorithms.

3DES (Triple DES or TDEA) - This is a symmetric_key block cipher that uses the Data Encryption Standard (DES) algorithm three times per data block. This algorithm can use key sizes of 56, 112, and 168 bits. The data to be encrypted is divided into 64-bit blocks. 3DES has succeeded DES due to the security flaws in DES.

Advanced Encryption Standard (AES or Rijndael) - This is an encryption algorithm that uses block sizes of 128-bit and key lengths of 128, 192, and 256 bits. AES is a derivative of Square and the predecessor to Anubis and Grand Cru. AES runs well on systems with little RAM, and this algorithm can work on Pentium Pro CPUs.

Blowfish - This is a symmetric-key block cipher used for data encryption. The key sizes vary from 32 bits to 448 bits, and the block size is 64 bits. This algorithm uses very little memory and operates quickly on slow systems. The cryptographic algorithms Twofish and Threefish have succeeded Blowfish.

CAST5 (CAST-128) - This is a symmetric-key block cipher similar to Blowfish. This encryption algorithm uses blocks of 64 bits and key lengths of 40 to 128 bits. CAST5 has been succeeded by CAST-256 (CAST6).

Data Encryption Standard (DES) - This is another symmetric-key block cipher algorithm used for encryption. The block size is 64 bits and the key length is 56 bits plus an additional 8 bits for parity. DES has been deprecated and is considered insecure.

FUN FACT: Sometimes, programmers intentionally include "backdoors" to their cryptographic software. That is why open-source software is considered to be more secure since many programmers can view the code themselves.

International Data Encryption Algorithm (IDEA) - This symmetric-key block cipher was originally known as Improved Proposed Encryption Standard (IPES). The block size is 64 bits and the key lengths are 128 bits.

MD4 (Message-Digest Algorithm 4) - This is a hash function used to generate a digest from a set of data. The digests are 128 bits in length. MD4 is obsolete, so MD5 and/or MD6 should be used instead.

MD5 - This is a hash function used to generate a digest from a set of data. The digests are 128 bits in length. The security use of MD5 has been questioned since collisions and flaws have been found. For example, a team of researchers at the University of Colorado have figured out how to make two different files that have the same MD5 digest. Another flaw was found in 2012 when a piece of malware (named Flame) faked a Microsoft digital signature.

MD6 - This hash function is significantly improved from MD4 and MD5. The key lengths are variable, but no larger than 512 bits.

RC4 (Rivest Cipher 4 or ARC4) - This is a popular stream cipher that is commonly used with Transport Layer Security (TLS) on networks. RC4 uses keys with a length of 40-2048 bits.

RSA - This is a public-key (asymmetric cryptography) system that uses keys with lengths of 1024-4096 bits.

Serpent - This is a symmetric-key block cipher used for data encryption. The keys lengths are 128, 192, and 256 bits and the block size is 128 bits.

SHA-0 - This is the same as SHA-1. However, SHA-1 has minor security improvements.

SHA-1 (Secure Hash Algorithm 1) - This is a hash function that produces a 160-bit digest or 40 hexadecimal digits as a hash. SHA-1 is planned to be deprecated by 2017. SHA-1 is commonly used for data integrity checking.

SHA-2 - This is a hash function that is an improvement on SHA-1. SHA-2 has six types of hash functions, each with a different name - SHA-224, SHA-256, SHA-384, SHA-512, SHA-512/224, and SHA-512/256. The supported key lengths are 224, 256, 384, and 512. SHA-256 is widely used. For example, Bitcoin uses SHA-256 to verify transactions.

Skipjack - This is a block cipher used for encryption. Generally, this algorithm should not be used due to security flaws. The algorithm uses key lengths of 80 bits and 64-bit blocks.

Twofish - This is a symmetric-key block cipher used for data encryption. This algorithm is the successor to Blowfish. Twofish uses key lengths of 128, 192, and 256 and uses block sizes of 128 bits.

Whirlpool - This is a hash function that converts data (less than 2^256 bits) and generates a 512-bit digest.