13#ifndef CRYPTOPP_SKIPJACK_H
14#define CRYPTOPP_SKIPJACK_H
19NAMESPACE_BEGIN(CryptoPP)
24 CRYPTOPP_DLL
static const char * CRYPTOPP_API StaticAlgorithmName() {
return "SKIPJACK";}
38 class CRYPTOPP_DLL CRYPTOPP_NO_VTABLE Base :
public BlockCipherImpl<SKIPJACK_Info>
41 void UncheckedSetKey(
const byte *userKey,
unsigned int length,
const NameValuePairs ¶ms);
42 unsigned int OptimalDataAlignment()
const {
return GetAlignmentOf<word16>();}
45 static const byte fTable[256];
51 class CRYPTOPP_DLL CRYPTOPP_NO_VTABLE Enc :
public Base
54 void ProcessAndXorBlock(
const byte *inBlock,
const byte *xorBlock,
byte *outBlock)
const;
56 static const byte Se[256];
57 static const word32 Te[4][256];
61 class CRYPTOPP_DLL CRYPTOPP_NO_VTABLE Dec :
public Base
64 void ProcessAndXorBlock(
const byte *inBlock,
const byte *xorBlock,
byte *outBlock)
const;
66 static const byte Sd[256];
67 static const word32 Td[4][256];
Provides class member functions to key a block cipher.
Provides a base implementation of Algorithm and SimpleKeyingInterface for block ciphers.
Inherited by algorithms with fixed block size.
Inherited by keyed algorithms with fixed key length.
Fixed size stack-based SecBlock.
Interface for retrieving values given their names.
unsigned int word32
32-bit unsigned datatype
Classes and functions for secure memory allocations.
Classes and functions for implementing secret key algorithms.
Provides Encryption and Decryption typedefs used by derived classes to implement a block cipher.
SKIPJACK block cipher information.