-
Enhancement
-
Resolution: Fixed
-
P4
-
None
-
b07
The implementation of MD5, SHA-1, SHA-224, SHA-256, SHA-384, SHA-512 and derivatives share some commonalities such as allocating a temporary buffer and having intrinsics which bypass the use of that buffer. By restructuring the code so that these buffers are allocated lazily we can get a significant speed-up in the presence of the intrinsic, while staying performance neutral in the absence of an intrinsic.