6#ifndef CRYPTOPP_SQUARE_H 
    7#define CRYPTOPP_SQUARE_H 
   18    CRYPTOPP_STATIC_CONSTEXPR 
const char* StaticAlgorithmName() {
return "Square";}
 
 
   29        void UncheckedSetKey(
const byte *userKey, 
unsigned int length, 
const NameValuePairs ¶ms);
 
   35    class CRYPTOPP_NO_VTABLE Enc : 
public Base
 
   38        void ProcessAndXorBlock(
const byte *inBlock, 
const byte *xorBlock, 
byte *outBlock) 
const;
 
   40        static const byte Se[256];
 
   41        static const word32 Te[4][256];
 
   44    class CRYPTOPP_NO_VTABLE Dec : 
public Base
 
   47        void ProcessAndXorBlock(
const byte *inBlock, 
const byte *xorBlock, 
byte *outBlock) 
const;
 
   49        static const byte Sd[256];
 
   50        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.
 
Inherited by algorithms with fixed number of rounds.
 
Fixed size stack-based SecBlock.
 
Interface for retrieving values given their names.
 
unsigned int word32
32-bit unsigned datatype
 
Crypto++ library namespace.
 
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.
 
Square block cipher information.