Crypto++
8.2
Free C++ class library of cryptographic schemes

Encryption transformation. More...
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. More...  
Public Member Functions inherited from AlgorithmImpl< SimpleKeyingInterfaceImpl< TwoBases< BlockCipher, SM4_Info > > >  
std::string  AlgorithmName () const 
The algorithm name. More...  
Public Member Functions inherited from SimpleKeyingInterfaceImpl< TwoBases< BlockCipher, SM4_Info > >  
size_t  MinKeyLength () const 
The minimum key length used by the algorithm. More...  
size_t  MaxKeyLength () const 
The maximum key length used by the algorithm. More...  
size_t  DefaultKeyLength () const 
The default key length used by the algorithm. More...  
size_t  GetValidKeyLength (size_t keylength) const 
Provides a valid key length for the algorithm. More...  
SimpleKeyingInterface::IV_Requirement  IVRequirement () const 
The default IV requirements for the algorithm. More...  
unsigned int  IVSize () const 
The initialization vector length for the algorithm. More...  
Additional Inherited Members  
Static Public Member Functions inherited from AlgorithmImpl< SimpleKeyingInterfaceImpl< TwoBases< BlockCipher, SM4_Info > > >  
static std::string CRYPTOPP_API  StaticAlgorithmName () 
The algorithm name. More...  
Encryption transformation.
Enc provides implementation for encryption transformation. All key sizes are supported.
SM4 encryption is accelerated on machines with AESNI. Decryption is not acclerated because it is not profitable. Thanks to MarkkuJuhani Olavi Saarinen.