diff options
author | Jeffrey Walton <noloader@gmail.com> | 2019-05-19 16:29:45 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-05-19 16:29:45 -0400 |
commit | d38e5a954df411b0fa83d22479af85cdaa772adb (patch) | |
tree | 1ef9de0fd53b4eacc4516f1fe76c004f54ad4b12 /sha512_armv4.h | |
parent | 4c9ca6b723b5ec5aab7eec720ad4d22598abe941 (diff) | |
download | cryptopp-git-d38e5a954df411b0fa83d22479af85cdaa772adb.tar.gz |
Add ARM SHA512 asm implementation from Cryptogams (GH #841, PR #843)
Cryptogams is Andy Polyakov's project used to create high speed crypto algorithms and share them with other developers. Cryptogams has a dual license. First is the OpenSSL license because Andy contributes to OpenSSL. Second is a BSD license for those who want a more permissive license.
Andy's implementation runs about 45% faster than C/C++ code. Testing on a 1.8 GHz Cortex-A17 shows Cryptograms at 45 cpb, and C++ at 79 cpb.
The integration instructions are documented at [Cryptogams SHA](https://wiki.openssl.org/index.php/Cryptogams_SHA) on the OpenSSL wiki.
Diffstat (limited to 'sha512_armv4.h')
-rw-r--r-- | sha512_armv4.h | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/sha512_armv4.h b/sha512_armv4.h new file mode 100644 index 00000000..f3a7d9e9 --- /dev/null +++ b/sha512_armv4.h @@ -0,0 +1,21 @@ +/* Header file for use with Cryptogam's ARMv4 SHA512. */
+/* Also see http://www.openssl.org/~appro/cryptogams/ */
+/* https://wiki.openssl.org/index.php/Cryptogams_SHA. */
+
+#ifndef CRYPTOGAMS_SHA512_ARMV4_H
+#define CRYPTOGAMS_SHA512_ARMV4_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+void sha512_block_data_order(void *state, const void *data, size_t blocks);
+
+/* Cryptogams arm caps */
+#define ARMV7_NEON (1<<0)
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* CRYPTOGAMS_SHA512_ARMV4_H */
|