Performance tuning for the XO

Albert Cahalan acahalan at gmail.com
Sat Sep 22 04:09:32 EDT 2007


C. Scott Ananian writes:

> We make currently make heavy use of hashing in our upgrade &
> verification infrastructure.  I'd like to find the fastest possible
> implementation of the SHA-256 and/or RIPEMD-160 algorithms.

If it has to be SHA-256 or RIPEMD-160, I don't think you'll
be finding any miracle cure. The computation itself is hard.

Assuming the Geode actually does something with the cache
prefetch instructions, you might gain a tiny bit there.
This is unlikely to be your bottleneck though.

You don't seem terribly committed to any particular hash.
How about picking one that the Geode is especially good at?
You have AES acceleration hardware, and there are several
ways to turn a block cipher like AES into a hash.

Examples:
http://en.wikipedia.org/wiki/One-way_compression_function

BTW, if the EEPROM for secure key storage is available,
then message authentication codes become an option.
This is probably much faster than a hash.

Examples: Poly1305-AES, hash127-AES, CBC-MAC-AES

(too late wish: hashing in the NAND controller chip)



More information about the Devel mailing list