Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

skipjack.h

Go to the documentation of this file.
00001 #ifndef CRYPTOPP_SKIPJACK_H
00002 #define CRYPTOPP_SKIPJACK_H
00003 
00007 #include "cryptlib.h"
00008 #include "misc.h"
00009 
00010 NAMESPACE_BEGIN(CryptoPP)
00011 
00013 class SKIPJACK : public FixedBlockSize<8>, public FixedKeyLength<10>
00014 {
00015 protected:
00016         SKIPJACK(const byte *userKey);
00017 
00018         static const byte fTable[256];
00019 
00020         SecBlock<byte[256]> tab;
00021 };
00022 
00024 class SKIPJACKEncryption : public SKIPJACK
00025 {
00026 public:
00027         SKIPJACKEncryption(const byte *userKey, unsigned int = 0)
00028                 : SKIPJACK(userKey) {}
00029 
00030         void ProcessBlock(const byte *inBlock, byte * outBlock) const;
00031         void ProcessBlock(byte * inoutBlock) const
00032                 {SKIPJACKEncryption::ProcessBlock(inoutBlock, inoutBlock);}
00033 };
00034 
00036 class SKIPJACKDecryption : public SKIPJACK
00037 {
00038 public:
00039         SKIPJACKDecryption(const byte *userKey, unsigned int = 0)
00040                 : SKIPJACK(userKey) {}
00041 
00042         void ProcessBlock(const byte *inBlock, byte * outBlock) const;
00043         void ProcessBlock(byte * inoutBlock) const
00044                 {SKIPJACKDecryption::ProcessBlock(inoutBlock, inoutBlock);}
00045 };
00046 
00047 NAMESPACE_END
00048 
00049 #endif

Generated at Mon Jan 15 01:16:37 2001 for Crypto++ by doxygen1.2.4 written by Dimitri van Heesch, © 1997-2000