summaryrefslogtreecommitdiff
path: root/plugins/CryptoPP/crypto/tea.h
diff options
context:
space:
mode:
authorKirill Volinsky <mataes2007@gmail.com>2012-07-20 16:21:49 +0000
committerKirill Volinsky <mataes2007@gmail.com>2012-07-20 16:21:49 +0000
commitf424a18112032cf61d2871a6b91a5af607c171ae (patch)
tree88fedc4e28941ceecda7026f0b06eba6271f91d5 /plugins/CryptoPP/crypto/tea.h
parentbfe1bd0fc087be44c70904aee0fe4276643d206d (diff)
CryptoPP:
changed folder structure git-svn-id: http://svn.miranda-ng.org/main/trunk@1083 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c
Diffstat (limited to 'plugins/CryptoPP/crypto/tea.h')
-rw-r--r--plugins/CryptoPP/crypto/tea.h132
1 files changed, 0 insertions, 132 deletions
diff --git a/plugins/CryptoPP/crypto/tea.h b/plugins/CryptoPP/crypto/tea.h
deleted file mode 100644
index 4cc1e928cd..0000000000
--- a/plugins/CryptoPP/crypto/tea.h
+++ /dev/null
@@ -1,132 +0,0 @@
-#ifndef CRYPTOPP_TEA_H
-#define CRYPTOPP_TEA_H
-
-/** \file
-*/
-
-#include "seckey.h"
-#include "secblock.h"
-
-NAMESPACE_BEGIN(CryptoPP)
-
-//! _
-struct TEA_Info : public FixedBlockSize<8>, public FixedKeyLength<16>, public VariableRounds<32>
-{
- static const char *StaticAlgorithmName() {return "TEA";}
-};
-
-/// <a href="http://www.weidai.com/scan-mirror/cs.html#TEA">TEA</a>
-class TEA : public TEA_Info, public BlockCipherDocumentation
-{
- class CRYPTOPP_NO_VTABLE Base : public BlockCipherImpl<TEA_Info>
- {
- public:
- void UncheckedSetKey(const byte *userKey, unsigned int length, const NameValuePairs &params);
-
- protected:
- FixedSizeSecBlock<word32, 4> m_k;
- word32 m_limit;
- };
-
- class CRYPTOPP_NO_VTABLE Enc : public Base
- {
- public:
- void ProcessAndXorBlock(const byte *inBlock, const byte *xorBlock, byte *outBlock) const;
- };
-
- class CRYPTOPP_NO_VTABLE Dec : public Base
- {
- public:
- void ProcessAndXorBlock(const byte *inBlock, const byte *xorBlock, byte *outBlock) const;
- };
-
-public:
- typedef BlockCipherFinal<ENCRYPTION, Enc> Encryption;
- typedef BlockCipherFinal<DECRYPTION, Dec> Decryption;
-};
-
-typedef TEA::Encryption TEAEncryption;
-typedef TEA::Decryption TEADecryption;
-
-//! _
-struct XTEA_Info : public FixedBlockSize<8>, public FixedKeyLength<16>, public VariableRounds<32>
-{
- static const char *StaticAlgorithmName() {return "XTEA";}
-};
-
-/// <a href="http://www.weidai.com/scan-mirror/cs.html#TEA">XTEA</a>
-class XTEA : public XTEA_Info, public BlockCipherDocumentation
-{
- class CRYPTOPP_NO_VTABLE Base : public BlockCipherImpl<XTEA_Info>
- {
- public:
- void UncheckedSetKey(const byte *userKey, unsigned int length, const NameValuePairs &params);
-
- protected:
- FixedSizeSecBlock<word32, 4> m_k;
- word32 m_limit;
- };
-
- class CRYPTOPP_NO_VTABLE Enc : public Base
- {
- public:
- void ProcessAndXorBlock(const byte *inBlock, const byte *xorBlock, byte *outBlock) const;
- };
-
- class CRYPTOPP_NO_VTABLE Dec : public Base
- {
- public:
- void ProcessAndXorBlock(const byte *inBlock, const byte *xorBlock, byte *outBlock) const;
- };
-
-public:
- typedef BlockCipherFinal<ENCRYPTION, Enc> Encryption;
- typedef BlockCipherFinal<DECRYPTION, Dec> Decryption;
-};
-
-//! _
-struct BTEA_Info : public FixedKeyLength<16>
-{
- static const char *StaticAlgorithmName() {return "BTEA";}
-};
-
-//! <a href="http://www.weidai.com/scan-mirror/cs.html#TEA">corrected Block TEA</a> (as described in "xxtea").
-/*! This class hasn't been tested yet. */
-class BTEA : public BTEA_Info, public BlockCipherDocumentation
-{
- class CRYPTOPP_NO_VTABLE Base : public AlgorithmImpl<SimpleKeyingInterfaceImpl<BlockCipher, BTEA_Info>, BTEA_Info>, public BTEA_Info
- {
- public:
- void UncheckedSetKey(const byte *key, unsigned int length, const NameValuePairs &params)
- {
- m_blockSize = params.GetIntValueWithDefault("BlockSize", 60*4);
- GetUserKey(BIG_ENDIAN_ORDER, m_k.begin(), 4, key, KEYLENGTH);
- }
-
- unsigned int BlockSize() const {return m_blockSize;}
-
- protected:
- FixedSizeSecBlock<word32, 4> m_k;
- unsigned int m_blockSize;
- };
-
- class CRYPTOPP_NO_VTABLE Enc : public Base
- {
- public:
- void ProcessAndXorBlock(const byte *inBlock, const byte *xorBlock, byte *outBlock) const;
- };
-
- class CRYPTOPP_NO_VTABLE Dec : public Base
- {
- public:
- void ProcessAndXorBlock(const byte *inBlock, const byte *xorBlock, byte *outBlock) const;
- };
-
-public:
- typedef BlockCipherFinal<ENCRYPTION, Enc> Encryption;
- typedef BlockCipherFinal<DECRYPTION, Dec> Decryption;
-};
-
-NAMESPACE_END
-
-#endif