For example, CrashPlan, an online backup service, is using 448-bit Blowfish to encrypt its backup files (only enterprise product line has the ability to choose using AES-256). According to Blowfish's creator Bruce Schneier, people should already move onto more modern successors. Why don't these application/services use Twofish, Threefish or AES instead? Is there any particular reasons or benefits to use Blowfish on services like online backup, or it is just an ill practice of the developer?

Is it still secure to keep using the more-than-two-decades-old Blowfish? Won't flaws and security holes be revealed over time?

  • 1
    So, the enterprise product line, it costs more, right? And Blowfish does NOT meet regulatory guidance in the U.S.A. for any encryption that needs to be using a FIPS-140-2 algorithm, so any customer needing that, well, they HAVE to buy the more expensive product (or a competitor's product) to be compliant. – Anti-weakpasswords Jan 31 '16 at 5:26

Is it still secure to keep using the more-than-two-decades-old Blowfish

AES (Rijndael) is from 1998 while Blowfish from 1993, i.e. only 5 years older. Which means the age of an algorithm does not say that much about its strength. Looking at the wikipedia article one will see a few interesting points which make the algorithm attractive:

  • public domain
  • fast software implementation
  • small memory footprint

Nevertheless it is strange that CrashPlan only offers AES for the most expensive plans, because AES is today widely used and there is hardware acceleration in many modern CPU's which make it really fast. But this is a question you probably have to ask CrashPlan.

  • Just to add that I asked CrashPlan, and they simply said that it's because they use their old engine, which doesn't address the question of why they make AES available to enterprise. I'm avoiding them because of that. – Hey Jan 17 '17 at 20:54

You could ask this question with hundreds of encryptions. Why is Windows 10 using SHA1, which has been convincingly broken since ages? And despite MD5 has been proven not to be safe as well, many companies still use it for integrity checks.

In the whole area of information security, you have a visible gap between what would theoretically be more secure and what is more convenient to implement and administer.

Regarding your question, Blowfish is not unsafe, even tho Schneier recommends Twofish now. Some algorithmus like RSA are also really old and yet still valid. The fact that, over time, more and more security holes are revealed, is actually an advantage because that way these can be fixed. Older implementations of algorithms which are maintained and audited are more safe than newer ones.

  • I don't follow how you would fix an algorithm if you find holes in it. If you change the algorithm, it becomes a new algorithm. Can you explain? – Neil Smithline Jan 29 '16 at 20:02
  • @NeilSmithline I fixed the post a bit too make clear that the algorithm itself can only be secure or not and that the implementation of the algorithm is the weak point. Otherwise more or less safe algorithmus like TLS may be vulnerable if the implementation has bugs (FREAK, Heartbleed, etc). – AdHominem Jan 30 '16 at 9:54
  • @AdHominem, Thanks for your explanation, I learned a lot. But can you be more specific in Blowfish part? I thought it is already ceased in development, so time will only make it more unsafe, am I wrong about this? According to Steffen Ullrich's answer, AES is widely used and hardware accelerated, so is Blowfish still easier or cheaper to administer or implement, compare to AES? – AlienBoy Feb 13 '16 at 7:00

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.