Security Scol plugin
Classes | Public Types | List of all members
SIMON128 Class Reference

SIMON 128-bit block cipher. More...

#include <simon.h>

Inheritance diagram for SIMON128:
SIMON_Info< 16, 16, 16, 32 > BlockCipherDocumentation FixedBlockSize< L > VariableKeyLength< D, N, M, Q, IV_REQ, IV_L >

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
 
typedef BlockCipher Decryption
 implements the BlockCipher interface
 

Additional Inherited Members

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

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

◆ Decryption

Definition at line 201 of file simon.h.

◆ Encryption

Definition at line 200 of file simon.h.


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