summaryrefslogtreecommitdiff
path: root/threefish.h
diff options
context:
space:
mode:
authorJeffrey Walton <noloader@gmail.com>2017-11-18 21:27:02 -0500
committerJeffrey Walton <noloader@gmail.com>2017-11-18 21:27:02 -0500
commit63e53e845e899cc0708708f6a2e9af753f3509cd (patch)
tree45e87a143f3b2962f2e6a7dc3e32c3d01e5b9d5f /threefish.h
parentce62862db86bda71f9e2c2ce7b4fa5900c8916f9 (diff)
downloadcryptopp-git-63e53e845e899cc0708708f6a2e9af753f3509cd.tar.gz
Reword Threefish inheritance hierarchy
Threefish_Base does not need to inherit from Threefish_Info
Diffstat (limited to 'threefish.h')
-rw-r--r--threefish.h14
1 files changed, 7 insertions, 7 deletions
diff --git a/threefish.h b/threefish.h
index a103e094..b7dac5c7 100644
--- a/threefish.h
+++ b/threefish.h
@@ -39,7 +39,7 @@ struct Threefish_Info : public FixedBlockSize<BS>, FixedKeyLength<BS>
//! \sa Threefish256, Threefish512, Threefish1024, <a href="http://www.cryptopp.com/wiki/Threefish">Threefish</a>
//! \since Crypto++ 6.0
template <unsigned int BS>
-struct CRYPTOPP_NO_VTABLE Threefish_Base : public Threefish_Info<BS>
+struct CRYPTOPP_NO_VTABLE Threefish_Base
{
void SetTweak(const NameValuePairs &params)
@@ -71,13 +71,13 @@ struct CRYPTOPP_NO_VTABLE Threefish_Base : public Threefish_Info<BS>
//! \note Crypto++ provides a byte oriented implementation
//! \sa Threefish256, Threefish512, Threefish1024, <a href="http://www.cryptopp.com/wiki/Threefish">Threefish</a>
//! \since Crypto++ 6.0
-class CRYPTOPP_NO_VTABLE Threefish256 : public Threefish_Base<32>, public BlockCipherDocumentation
+class CRYPTOPP_NO_VTABLE Threefish256 : public Threefish_Info<32>, public BlockCipherDocumentation
{
public:
//! \brief Threefish block cipher transformation functions
//! \details Provides implementation common to encryption and decryption
//! \since Crypto++ 6.0
- class CRYPTOPP_NO_VTABLE Base : public BlockCipherImpl<Threefish_Base<32> >
+ class CRYPTOPP_NO_VTABLE Base : public Threefish_Base<32>, public BlockCipherImpl<Threefish_Info<32> >
{
protected:
void UncheckedSetKey(const byte *userKey, unsigned int keyLength, const NameValuePairs &params);
@@ -116,13 +116,13 @@ typedef Threefish256::Decryption Threefish256Decryption;
//! \note Crypto++ provides a byte oriented implementation
//! \sa Threefish256, Threefish512, Threefish1024, <a href="http://www.cryptopp.com/wiki/Threefish">Threefish</a>
//! \since Crypto++ 6.0
-class CRYPTOPP_NO_VTABLE Threefish512 : public Threefish_Base<64>, public BlockCipherDocumentation
+class CRYPTOPP_NO_VTABLE Threefish512 : public Threefish_Base<32>, public BlockCipherDocumentation
{
public:
//! \brief Threefish block cipher transformation functions
//! \details Provides implementation common to encryption and decryption
//! \since Crypto++ 6.0
- class CRYPTOPP_NO_VTABLE Base : public BlockCipherImpl<Threefish_Base<64> >
+ class CRYPTOPP_NO_VTABLE Base : public Threefish_Base<64>, public BlockCipherImpl<Threefish_Info<64> >
{
protected:
void UncheckedSetKey(const byte *userKey, unsigned int keyLength, const NameValuePairs &params);
@@ -161,13 +161,13 @@ typedef Threefish512::Decryption Threefish512Decryption;
//! \note Crypto++ provides a byte oriented implementation
//! \sa Threefish256, Threefish512, Threefish1024, <a href="http://www.cryptopp.com/wiki/Threefish">Threefish</a>
//! \since Crypto++ 6.0
-class CRYPTOPP_NO_VTABLE Threefish1024 : public Threefish_Base<128>, public BlockCipherDocumentation
+class CRYPTOPP_NO_VTABLE Threefish1024 : public Threefish_Base<32>, public BlockCipherDocumentation
{
public:
//! \brief Threefish block cipher transformation functions
//! \details Provides implementation common to encryption and decryption
//! \since Crypto++ 6.0
- class CRYPTOPP_NO_VTABLE Base : public BlockCipherImpl<Threefish_Base<128> >
+ class CRYPTOPP_NO_VTABLE Base : public Threefish_Base<128>, public BlockCipherImpl<Threefish_Info<128> >
{
protected:
void UncheckedSetKey(const byte *userKey, unsigned int keyLength, const NameValuePairs &params);