I'll build a little performance test later tonight and e-mail the results. I'll try both SHA-1, SHA-256 and SHA-512.<div><br></div><div>Richard.</div><div><br><div class="gmail_quote">2012/7/29 Jack Lloyd <span dir="ltr"><<a href="mailto:lloyd@randombit.net" target="_blank">lloyd@randombit.net</a>></span><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><br>
According to<br>
<a href="http://theiphonewiki.com/wiki/index.php?title=S5L8720_%28Hardware_-_SHA1%29" target="_blank">http://theiphonewiki.com/wiki/index.php?title=S5L8720_%28Hardware_-_SHA1%29</a><br>
there is at least SHA-1 hardware in some(?) iPhones, which presumably<br>
is being used by the libraries if it is available. Did you see a<br>
similar speed up for SHA-2?<br>
<span class="HOEnZb"><font color="#888888"><br>
-Jack<br>
</font></span><div class="HOEnZb"><div class="h5"><br>
On Sun, Jul 29, 2012 at 08:30:56PM +0200, Richard Huveneers wrote:<br>
> The 10x is the correct order of magnitude, the key derivation for some disk<br>
> images reduced from around 90 to 8 seconds (measured by hand) on my iPhone<br>
> 3GS. It could well have hardware support for this, although it's a rather<br>
> old device..<br>
><br>
> Richard.<br>
><br>
> 2012/7/29 Jack Lloyd <<a href="mailto:lloyd@randombit.net">lloyd@randombit.net</a>><br>
><br>
> ><br>
> > Interesting, the iOS library hashes are really _10x_ the performance<br>
> > of the C++ code in botan? I'm definitely intrigued by that, as, at<br>
> > least for the ARM I have (an ARM926EJ), OpenSSL's asm SHA-1 and<br>
> > SHA-256 are slower than Botan's C++ (12% and 40%, resp), so I figured<br>
> > I was doing OK even lacking asm!<br>
> ><br>
> > Is it possible the iPhone has physical SHA hardware? I could believe<br>
> > careful asm (and NEON support, which I know the Cortex has but which<br>
> > no ARM I have access to does) might provide even 2-3x speedup but 10x<br>
> > is pretty crazy and I'm really wondering what I'm missing. If it<br>
> > really is giving that speedup, a CommonCrypto engine (or some ARM asm<br>
> > at least, if this is easy to replicate) would make a lot of sense.<br>
> ><br>
> > -Jack<br>
> ><br>
> > On Sun, Jul 29, 2012 at 08:08:24PM +0200, Richard Huveneers wrote:<br>
> > > Ok, here goes..<br>
> > ><br>
> > > The object names made sense when I was doing performance tests, should<br>
> > > probably be renamed to reflect the iOS/Mac environment.<br>
> > ><br>
> > > Regards, Richard.<br>
> > ><br>
> > > 2012/7/29 Timothy Prepscius <<a href="mailto:timprepscius@gmail.com">timprepscius@gmail.com</a>><br>
> > ><br>
> > > > I'm interested.<br>
> > > ><br>
> > > > On Jul 29, 2012, at 11:57 AM, Richard Huveneers wrote:<br>
> > > ><br>
> > > > ve made a few objects wrapping iOS's SHA functions into subclasses<br>
> > > > of Botan::HashFunction. Since Botan does not have ARM assembly<br>
> > versions,<br>
> > > > these are much (10x) faster than the default SHA implementation<br>
> > provided by<br>
> > > > Botan. If anybody is interested, I'll gladly provide a zip file<br>
> > containing<br>
> > > > the sources.<br>
> > > ><br>
> > > ><br>
> > > ><br>
> > > > _______________________________________________<br>
> > > > botan-devel mailing list<br>
> > > > <a href="mailto:botan-devel@randombit.net">botan-devel@randombit.net</a><br>
> > > > <a href="http://lists.randombit.net/mailman/listinfo/botan-devel" target="_blank">http://lists.randombit.net/mailman/listinfo/botan-devel</a><br>
> > > ><br>
> > > ><br>
> ><br>
> ><br>
> > > _______________________________________________<br>
> > > botan-devel mailing list<br>
> > > <a href="mailto:botan-devel@randombit.net">botan-devel@randombit.net</a><br>
> > > <a href="http://lists.randombit.net/mailman/listinfo/botan-devel" target="_blank">http://lists.randombit.net/mailman/listinfo/botan-devel</a><br>
> ><br>
> > _______________________________________________<br>
> > botan-devel mailing list<br>
> > <a href="mailto:botan-devel@randombit.net">botan-devel@randombit.net</a><br>
> > <a href="http://lists.randombit.net/mailman/listinfo/botan-devel" target="_blank">http://lists.randombit.net/mailman/listinfo/botan-devel</a><br>
> ><br>
<br>
> _______________________________________________<br>
> botan-devel mailing list<br>
> <a href="mailto:botan-devel@randombit.net">botan-devel@randombit.net</a><br>
> <a href="http://lists.randombit.net/mailman/listinfo/botan-devel" target="_blank">http://lists.randombit.net/mailman/listinfo/botan-devel</a><br>
<br>
_______________________________________________<br>
botan-devel mailing list<br>
<a href="mailto:botan-devel@randombit.net">botan-devel@randombit.net</a><br>
<a href="http://lists.randombit.net/mailman/listinfo/botan-devel" target="_blank">http://lists.randombit.net/mailman/listinfo/botan-devel</a><br>
</div></div></blockquote></div><br></div>