diff options
author | Jeffrey Walton <noloader@gmail.com> | 2018-07-06 09:23:37 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-07-06 09:23:37 -0400 |
commit | b74a6f444568e59a7766d1e286f82d2ce3086dcd (patch) | |
tree | 97937fe23f742f6c352f39e206b7ce7d774ba358 /rijndael.cpp | |
parent | 6d9047b444731175e6ea9a447a3f0002685804be (diff) | |
download | cryptopp-git-b74a6f444568e59a7766d1e286f82d2ce3086dcd.tar.gz |
Add algorithm provider member function to Algorithm class
Diffstat (limited to 'rijndael.cpp')
-rw-r--r-- | rijndael.cpp | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/rijndael.cpp b/rijndael.cpp index c398526c..55adac12 100644 --- a/rijndael.cpp +++ b/rijndael.cpp @@ -310,6 +310,27 @@ extern size_t Rijndael_Dec_AdvancedProcessBlocks128_6x1_ALTIVEC(const word32 *su const byte *inBlocks, const byte *xorBlocks, byte *outBlocks, size_t length, word32 flags);
#endif
+std::string Rijndael::Base::AlgorithmProvider() const
+{
+#if (CRYPTOPP_AESNI_AVAILABLE)
+ if (HasAESNI())
+ return "AESNI";
+#endif
+#if CRYPTOPP_SSE2_ASM_AVAILABLE && !defined(CRYPTOPP_DISABLE_RIJNDAEL_ASM)
+ if (HasSSE2())
+ return "SSE2";
+#endif
+#if (CRYPTOPP_ARM_AES_AVAILABLE)
+ if (HasAES())
+ return "ARMv8";
+#endif
+#if (CRYPTOPP_POWER8_AES_AVAILABLE)
+ if (HasAES())
+ return "Power8";
+#endif
+ return "C++";
+}
+
void Rijndael::Base::UncheckedSetKey(const byte *userKey, unsigned int keyLen, const NameValuePairs &)
{
AssertValidKeyLength(keyLen);
|