1 #ifndef CRYPTOPP_SKIPJACK_H
2 #define CRYPTOPP_SKIPJACK_H
10 NAMESPACE_BEGIN(CryptoPP)
15 CRYPTOPP_DLL
static const char * CRYPTOPP_API StaticAlgorithmName() {
return "SKIPJACK";}
21 class CRYPTOPP_DLL CRYPTOPP_NO_VTABLE Base :
public BlockCipherImpl<SKIPJACK_Info>
24 void UncheckedSetKey(
const byte *userKey,
unsigned int length,
const NameValuePairs ¶ms);
25 unsigned int OptimalDataAlignment()
const {
return GetAlignmentOf<word16>();}
28 static const byte fTable[256];
33 class CRYPTOPP_DLL CRYPTOPP_NO_VTABLE Enc :
public Base
36 void ProcessAndXorBlock(
const byte *inBlock,
const byte *xorBlock, byte *outBlock)
const;
38 static const byte Se[256];
39 static const word32 Te[4][256];
42 class CRYPTOPP_DLL CRYPTOPP_NO_VTABLE Dec :
public Base
45 void ProcessAndXorBlock(
const byte *inBlock,
const byte *xorBlock, byte *outBlock)
const;
47 static const byte Sd[256];
48 static const word32 Td[4][256];
to be inherited by keyed algorithms with fixed key length
These objects usually should not be used directly. See CipherModeDocumentation instead.
interface for one direction (encryption or decryption) of a block cipher
to be inherited by block ciphers with fixed block size
interface for retrieving values given their names