Investigate using the EVP interface for non-oneshot hash calls.
People have recently asked about VIA PadLock and cryptdev (legacy/trac#15503 (moved)/some random tor-relays@ post). Both of these things in theory can do SHA1/SHA256 in hardware (though in the case of cryptdev, performance is likely to be worse).
Since it can be a decent gain (at least PadLock will be), we should consider switching over the
crypto_digest_t routines to use the EVP interface (People that try to use cryptdev for hashes and suffer a performance decrease did not read the documentation, and thus get what they deserve).
Minor (very low priority) because:
- cryptdev's hash performance will probably suck.
- OpenSSL does not support PadLock SHA acceleration.
- The only hardware SHA implementation that's actually relevant to a significant sized userbase (ARMv8) is supported via the raw
So this is mostly for future-proofing and code cleanup purposes.