Back to home page

EIC code displayed by LXR

 
 

    


Warning, file /include/cryptopp/whrlpool.h was not indexed or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).

0001 // whrlpool.h - originally modified by Kevin Springle from Paulo Barreto and Vincent Rijmen's

0002 //              public domain code, whirlpool.c. Updated to Whirlpool version 3.0, optimized

0003 //              and SSE version added by WD. All modifications are placed in the public domain.

0004 
0005 #ifndef CRYPTOPP_WHIRLPOOL_H
0006 #define CRYPTOPP_WHIRLPOOL_H
0007 
0008 /// \file whrlpool.h

0009 /// \brief Classes for the Whirlpool message digest

0010 /// \details Crypto++ provides version 3.0 of the Whirlpool algorithm.

0011 ///   This version of the algorithm was submitted for ISO standardization.

0012 
0013 #include "config.h"
0014 #include "iterhash.h"
0015 
0016 // Clang 3.3 integrated assembler crash on Linux. Clang 3.4 due to compiler

0017 // error with .intel_syntax, http://llvm.org/bugs/show_bug.cgi?id=24232

0018 #if CRYPTOPP_BOOL_X32 || defined(CRYPTOPP_DISABLE_MIXED_ASM)
0019 # define CRYPTOPP_DISABLE_WHIRLPOOL_ASM 1
0020 #endif
0021 
0022 NAMESPACE_BEGIN(CryptoPP)
0023 
0024 /// \brief Whirlpool message digest

0025 /// \details Crypto++ provides version 3.0 of the Whirlpool algorithm.

0026 ///   This version of the algorithm was submitted for ISO standardization.

0027 /// \since Crypto++ 5.2

0028 /// \sa <a href="http://www.cryptopp.com/wiki/Whirlpool">Whirlpool</a>

0029 class Whirlpool : public IteratedHashWithStaticTransform<word64, BigEndian, 64, 64, Whirlpool>
0030 {
0031 public:
0032     CRYPTOPP_STATIC_CONSTEXPR const char* StaticAlgorithmName() {return "Whirlpool";}
0033     std::string AlgorithmProvider() const;
0034 
0035     static void InitState(HashWordType *state);
0036     static void Transform(word64 *digest, const word64 *data);
0037     void TruncatedFinal(byte *hash, size_t size);
0038 };
0039 
0040 NAMESPACE_END
0041 
0042 #endif