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:

- sm4.h
- sm4.cpp