Add BLAKE2_NEON_Compress64

pull/174/head
Jeffrey Walton 2016-05-11 15:07:29 -04:00
parent e3e94673cc
commit 73fea1dba0
2 changed files with 979 additions and 100 deletions

1064
blake2.cpp

File diff suppressed because it is too large Load Diff

View File

@ -1,4 +1,4 @@
// blake2.cpp - written and placed in the public domain by Jeffrey Walton and Zooko
// blake2.h - written and placed in the public domain by Jeffrey Walton and Zooko
// Wilcox-O'Hearn. Copyright assigned to the Crypto++ project.
// Based on Aumasson, Neves, Wilcox-OHearn and Winnerlein's reference BLAKE2
// implementation at http://github.com/BLAKE2/BLAKE2.
@ -10,6 +10,9 @@
//! Static algorithm names return either "BLAKE2b" or "BLAKE2s". An object algorithm name follows
//! the naming described in <A HREF="http://tools.ietf.org/html/rfc7693#section-4">RFC 7693, The
//! BLAKE2 Cryptographic Hash and Message Authentication Code (MAC)</A>.
//! \details The library provides specialized SSE2, SSE4 and NEON version of the BLAKE2 compression
//! function. For best results under ARM NEON, specify both an architecture and cpu. For example:
//! <pre>export CXXFLAGS="-DNDEBUG -g2 -O3 -march=armv8-a+crc -mcpu=cortex-a53"</pre>
#ifndef CRYPTOPP_BLAKE2_H
#define CRYPTOPP_BLAKE2_H
@ -171,7 +174,7 @@ struct CRYPTOPP_NO_VTABLE BLAKE2_State
length = 0;
}
// SSE2 and SSE4 depend upon t[] and f[] being side-by-side
// SSE2, SSE4 and NEON depend upon t[] and f[] being side-by-side
CRYPTOPP_ALIGN_DATA(BLAKE2_DALIGN)
W h[8];
W t[2], f[2];