Comparison of DES, Triple DES, AES, blowfish encryption for data

AesBlowfishDesTripledes

Aes Problem Overview


Does anyone have pros and cons together for comparing these encryption algorithms ?

Aes Solutions


Solution 1 - Aes

Use AES.

In more details:

  • DES is the old "data encryption standard" from the seventies. Its key size is too short for proper security (56 effective bits; this can be brute-forced, as has been demonstrated more than ten years ago). Also, DES uses 64-bit blocks, which raises some potential issues when encrypting several gigabytes of data with the same key (a gigabyte is not that big nowadays).
  • 3DES is a trick to reuse DES implementations, by cascading three instances of DES (with distinct keys). 3DES is believed to be secure up to at least "2112" security (which is quite a lot, and quite far in the realm of "not breakable with today's technology"). But it is slow, especially in software (DES was designed for efficient hardware implementation, but it sucks in software; and 3DES sucks three times as much).
  • Blowfish is a block cipher proposed by Bruce Schneier, and deployed in some softwares. Blowfish can use huge keys and is believed secure, except with regards to its block size, which is 64 bits, just like DES and 3DES. Blowfish is efficient in software, at least on some software platforms (it uses key-dependent lookup tables, hence performance depends on how the platform handles memory and caches).
  • AES is the successor of DES as standard symmetric encryption algorithm for US federal organizations (and as standard for pretty much everybody else, too). AES accepts keys of 128, 192 or 256 bits (128 bits is already very unbreakable), uses 128-bit blocks (so no issue there), and is efficient in both software and hardware. It was selected through an open competition involving hundreds of cryptographers during several years. Basically, you cannot have better than that.

So, when in doubt, use AES.

Note that a block cipher is a box which encrypts "blocks" (128-bit chunks of data with AES). When encrypting a "message" which may be longer than 128 bits, the message must be split into blocks, and the actual way you do the split is called the mode of operation or "chaining". The naive mode (simple split) is called ECB and has issues. Using a block cipher properly is not easy, and it is more important than selecting between, e.g., AES or 3DES.

Solution 2 - Aes

All of these schemes, except AES and Blowfish, have known vulnerabilities and should not be used.
However, Blowfish has been replaced by Twofish.

Solution 3 - Aes

The encryption methods described are symmetric key block ciphers.

Data Encryption Standard (DES) is the predecessor, encrypting data in 64-bit blocks using a 56 bit key. Each block is encrypted in isolation, which is a security vulnerability.

Triple DES extends the key length of DES by applying three DES operations on each block: an encryption with key 0, a decryption with key 1 and an encryption with key 2. These keys may be related.

DES and 3DES are usually encountered when interfacing with legacy commercial products and services.

AES is considered the successor and modern standard. http://en.wikipedia.org/wiki/Advanced_Encryption_Standard

I believe the use of Blowfish is discouraged.

It is highly recommended that you do not attempt to implement your own cryptography and instead use a high-level implementation such as GPG for data at rest or SSL/TLS for data in transit. Here is an excellent and sobering video on encryption vulnerabilities http://rdist.root.org/2009/08/06/google-tech-talk-on-common-crypto-flaws/

Solution 4 - Aes

AES is a symmetric cryptographic algorithm, while RSA is an asymmetric (or public key) cryptographic algorithm. Encryption and decryption is done with a single key in AES, while you use separate keys (public and private keys) in RSA. The strength of a 128-bit AES key is roughly equivalent to 2600-bits RSA key.

Solution 5 - Aes

Although TripleDESCryptoServiceProvider is a safe and good method but it's too slow. If you want to refer to MSDN you will get that advise you to use AES rather TripleDES. Please check below link: http://msdn.microsoft.com/en-us/library/system.security.cryptography.tripledescryptoserviceprovider.aspx you will see this attention in the remark section:

> Note A newer symmetric encryption algorithm, Advanced Encryption > Standard (AES), is available. Consider using the > AesCryptoServiceProvider class instead of the > TripleDESCryptoServiceProvider class. Use > TripleDESCryptoServiceProvider only for compatibility with legacy > applications and data.

Good luck

Solution 6 - Aes

DES AES
Developed 1977 2000
Key Length 56 bits 128, 192, or 256 bits
Cipher Type Symmetric Symmetric
Block Size 64 bits 128 bits
Security inadequate secure
Performance Fast Slow

Solution 7 - Aes

enter image description here

DES is the old "data encryption standard" from the seventies.

Solution 8 - Aes

> All of these schemes, except AES and Blowfish, have known vulnerabilities and should not be used.

All of them can actually be securely used if wrapped.

Here is an example of AES wrapping.

Solution 9 - Aes

AES is the currently accepted standard algorithm to use (hence the name Advanced Encryption Standard).

The rest are not.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionyogsmaView Question on Stackoverflow
Solution 1 - AesThomas PorninView Answer on Stackoverflow
Solution 2 - AesSLaksView Answer on Stackoverflow
Solution 3 - AesrohannesView Answer on Stackoverflow
Solution 4 - AesBHEEMA RAMView Answer on Stackoverflow
Solution 5 - AesQMasterView Answer on Stackoverflow
Solution 6 - AesikarayelView Answer on Stackoverflow
Solution 7 - AesKeshav GeraView Answer on Stackoverflow
Solution 8 - AeszarpetkovView Answer on Stackoverflow
Solution 9 - AesIan BoydView Answer on Stackoverflow