6#ifndef CRYPTOPP_SQUARE_H
7#define CRYPTOPP_SQUARE_H
12NAMESPACE_BEGIN(CryptoPP)
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
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.