Crypto++ 8.9
Free C++ class library of cryptographic schemes
SM4::Enc Class Reference

Encryption transformation. More...

#include <sm4.h>

Inheritance diagram for SM4::Enc:

Public Member Functions

std::string AlgorithmProvider () const
Public Member Functions inherited from BlockCipherImpl< SM4_Info >
unsigned int BlockSize () const
 Provides the block size of the algorithm.
Public Member Functions inherited from AlgorithmImpl< SimpleKeyingInterfaceImpl< TwoBases< BlockCipher, SM4_Info > > >
std::string AlgorithmName () const
 The algorithm name.
Public Member Functions inherited from SimpleKeyingInterfaceImpl< TwoBases< BlockCipher, SM4_Info > >
size_t MinKeyLength () const
 The minimum key length used by the algorithm.
size_t MaxKeyLength () const
 The maximum key length used by the algorithm.
size_t DefaultKeyLength () const
 The default key length used by the algorithm.
size_t GetValidKeyLength (size_t keylength) const
 Provides a valid key length for the algorithm.
SimpleKeyingInterface::IV_Requirement IVRequirement () const
 The default IV requirements for the algorithm.
unsigned int IVSize () const
 The initialization vector length for the algorithm.

Additional Inherited Members

Static Public Member Functions inherited from AlgorithmImpl< SimpleKeyingInterfaceImpl< TwoBases< BlockCipher, SM4_Info > > >
static std::string StaticAlgorithmName ()
 The algorithm name.

Detailed Description

Encryption transformation.

Enc provides implementation for encryption transformation. All key sizes are supported.

SM4 encryption is accelerated on machines with AES-NI. Decryption is not accelerated because it is not profitable. Thanks to Markku-Juhani Olavi Saarinen.

Since
Crypto++ 6.0, AESNI encryption since Crypto++ 8.0

Definition at line 66 of file sm4.h.

Member Function Documentation

◆ AlgorithmProvider()

std::string SM4::Enc::AlgorithmProvider ( ) const

Definition at line 104 of file sm4.cpp.


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