• Eric Biggers's avatar
    crypto: arm/blake2b - add NEON-accelerated BLAKE2b · 1862eb00
    Eric Biggers authored
    Add a NEON-accelerated implementation of BLAKE2b.
    
    On Cortex-A7 (which these days is the most common ARM processor that
    doesn't have the ARMv8 Crypto Extensions), this is over twice as fast as
    SHA-256, and slightly faster than SHA-1.  It is also almost three times
    as fast as the generic implementation of BLAKE2b:
    
    	Algorithm            Cycles per byte (on 4096-byte messages)
    	===================  =======================================
    	blake2b-256-neon     14.0
    	sha1-neon            16.3
    	blake2s-256-arm      18.8
    	sha1-asm             20.8
    	blake2s-256-generic  26.0
    	sha256-neon	     28.9
    	sha256-asm	     32.0
    	blake2b-256-generic  38.9
    
    This implementation isn't directly based on any other implementation,
    but it borrows some ideas from previous NEON code I've written as well
    as from chacha-neon-core.S.  At least on Cortex-A7, it is faster than
    the other NEON implementations of BLAKE2b I'm aware of (the
    implementation in the BLAKE2 official repository u...
    1862eb00
Kconfig 5.5 KB