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
1.2.4 written by Dimitri van Heesch,
© 1997-2000