Crypto++ 8.7
Free C++ class library of cryptographic schemes
Classes | Public Types | List of all members
SIMON128 Class Reference

SIMON 128-bit block cipher. More...

#include <simon.h>

+ Inheritance diagram for SIMON128:

Classes

class  Base
 SIMON128 block cipher base implementation. More...
 
class  Dec
 SIMON128 decryption transformation. More...
 
class  Enc
 SIMON128 encryption transformation. More...
 

Public Types

typedef BlockCipherFinal< ENCRYPTION, EncEncryption
 
typedef BlockCipherFinal< DECRYPTION, DecDecryption
 
- Public Types inherited from BlockCipherDocumentation
typedef BlockCipher Encryption
 implements the BlockCipher interface More...
 
typedef BlockCipher Decryption
 implements the BlockCipher interface More...
 

Additional Inherited Members

- Static Public Member Functions inherited from SIMON_Info< 16, 16, 16, 32 >
static const std::string StaticAlgorithmName ()
 The algorithm name. More...
 
- Static Public Member Functions inherited from VariableKeyLength< D, N, M, Q, IV_REQ, IV_L >
static size_t StaticGetValidKeyLength (size_t keylength)
 Provides a valid key length for the algorithm provided by a static function. More...
 
- Static Public Attributes inherited from FixedBlockSize< L >
static const int BLOCKSIZE
 The block size of the algorithm provided as a constant. More...
 
- Static Public Attributes inherited from VariableKeyLength< D, N, M, Q, IV_REQ, IV_L >
static const int MIN_KEYLENGTH =N
 The minimum key length used by the algorithm provided as a constant. More...
 
static const int MAX_KEYLENGTH =M
 The maximum key length used by the algorithm provided as a constant. More...
 
static const int DEFAULT_KEYLENGTH =D
 The default key length used by the algorithm provided as a constant. More...
 
static const int KEYLENGTH_MULTIPLE =Q
 The key length multiple used by the algorithm provided as a constant. More...
 
static const int IV_REQUIREMENT =IV_REQ
 The default IV requirements for the algorithm provided as a constant. More...
 
static const int IV_LENGTH =IV_L
 The default initialization vector length for the algorithm provided as a constant. More...
 

Detailed Description

SIMON 128-bit block cipher.

Simon is a block cipher designed by Ray Beaulieu, Douglas Shors, Jason Smith, Stefan Treatman-Clark, Bryan Weeks and Louis Wingers.

SIMON128 provides 128-bit block size. The valid key sizes are 128-bit, 192-bit and 256-bit.

See also
SIMON64, SIMON128, The SIMON and SIMON Families of Lightweight Block Ciphers, The Simon and Speck GitHub, SIMON on the Crypto++ wiki
Since
Crypto++ 6.0

Definition at line 145 of file simon.h.

Member Typedef Documentation

◆ Encryption

Definition at line 200 of file simon.h.

◆ Decryption

Definition at line 201 of file simon.h.


The documentation for this class was generated from the following file: