diff --git a/sha3.h b/sha3.h
index 2284d92b..5b3f2281 100644
--- a/sha3.h
+++ b/sha3.h
@@ -2,6 +2,12 @@
//! \file sha3.h
//! \brief Classes for SHA-3 message digests
+//! \details The Crypto++ SHA-3 implementation dates back to January 2013 when NIST
+//! selected Keccak as SHA-3. In August 2015 NIST finalized SHA-3, and it was a
+//! modified version of the Keccak selection. Crypto++ 5.6.2 through 5.6.4 provides
+//! the pre-FIPS 202 version of SHA-3; while Crypto++ 5.7 and above provides
+//! the FIPS 202 version of SHA-3.
+//! \sa SHA-3
#ifndef CRYPTOPP_SHA3_H
#define CRYPTOPP_SHA3_H
@@ -13,7 +19,6 @@ NAMESPACE_BEGIN(CryptoPP)
//! \class SHA3
//! \brief SHA3 message digest base class
-//! \sa SHA-3
class SHA3 : public HashTransformation
{
public:
@@ -44,11 +49,11 @@ class SHA3_224 : public SHA3
{
public:
CRYPTOPP_CONSTANT(DIGESTSIZE = 28)
-
+
//! \brief Construct a SHA3-224 message digest
SHA3_224() : SHA3(DIGESTSIZE) {}
static const char * StaticAlgorithmName() {return "SHA-3-224";}
-};
+} CRYPTOPP_DEPRECATED("SHA-3 will be changing in the future due to FIPS 202 finalization");
//! \class SHA3_256
//! \brief SHA3-256 message digest
@@ -56,11 +61,11 @@ class SHA3_256 : public SHA3
{
public:
CRYPTOPP_CONSTANT(DIGESTSIZE = 32)
-
+
//! \brief Construct a SHA3-256 message digest
SHA3_256() : SHA3(DIGESTSIZE) {}
static const char * StaticAlgorithmName() {return "SHA-3-256";}
-};
+} CRYPTOPP_DEPRECATED("SHA-3 will be changing in the future due to FIPS 202 finalization");
//! \class SHA3_384
//! \brief SHA3-384 message digest
@@ -68,11 +73,11 @@ class SHA3_384 : public SHA3
{
public:
CRYPTOPP_CONSTANT(DIGESTSIZE = 48)
-
+
//! \brief Construct a SHA3-384 message digest
SHA3_384() : SHA3(DIGESTSIZE) {}
static const char * StaticAlgorithmName() {return "SHA-3-384";}
-};
+} CRYPTOPP_DEPRECATED("SHA-3 will be changing in the future due to FIPS 202 finalization");
//! \class SHA3_512
//! \brief SHA3-512 message digest
@@ -80,11 +85,11 @@ class SHA3_512 : public SHA3
{
public:
CRYPTOPP_CONSTANT(DIGESTSIZE = 64)
-
+
//! \brief Construct a SHA3-512 message digest
SHA3_512() : SHA3(DIGESTSIZE) {}
static const char * StaticAlgorithmName() {return "SHA-3-512";}
-};
+} CRYPTOPP_DEPRECATED("SHA-3 will be changing in the future due to FIPS 202 finalization");
NAMESPACE_END