PolarSSL is now a part of ARM
polarssl.org
polarssl.org
Who knows, maybe a part of the "exciting plans for 2015" is to release PolarSSL under a liberal open source license...
I'm not saying that's the nadir of licenses - but it's pretty good, no?
I would never trust GnuTLS, NSS or OpenSSL over PolarSSL.
An entity which actually ships software?
It's certainly "pretty good" compared to having no source code available at all. But when people talk about "liberal" licenses (aka permissive licensing), the GPL is not what usually comes to mind.
The worry, internally, is a holdover from the days of the SCO-Linux disputes - that if an employee works on an open-source compiler, sees a great idea, then remembers it and implements it in the closed-source compiler later on (even subconsciously) that it could mean a bunch of legal hassle.
There are some options [http://www.altechnative.net/2011/05/22/hardware-accelerated-...] for getting openssl hardware accelerated on common arm boards, but it could be made much easier to get a performant configuration if PolarSSL and ARM worked together.
I hope that this acquisition will pave the way to an encrypted internet of things.
I think just like they bought Keil (a dev tools maker) this is a strategy play to make it easier for end devs to add SSL or other crypto to their products. One shop solution.
http://infocenter.arm.com/help/topic/com.arm.doc.ddi0500e/DD... (section 2.1.4)
There are undoubtedly other bits as well, as part of their "trusted computing" blahblah. Even if that weren't the case, knowing more about the internals of current and upcoming ARM IP could help optimize even an all-software implementation of PolarSSL. You could be right that it's mostly about "one stop shopping" but that doesn't mean there won't be other benefits.
However, Trusted Computing crypto is different than the crypto accelerators you find as peripherals in an SoC.
I should have been more clear that I meant crypto peripherals. There are crypto instruction extensions but don't require a separate library implementation -- just asm code optimization in something like openSSL.
PolarSSL is also targeted (mainly) towards much lower power than A53 or Cortex-A. It is targeted towards Cortex-M where you are dealing with KB of data and often don't have an MMU. You can't just port OpenSSL to those platforms and run it at will, hence their optimized libraries.
See http://en.wikipedia.org/wiki/ARM_Holdings, of course.
https://github.com/polarssl/polarssl/issues/1 http://mbed.org/technology/os/