![]() |
Gray C++ Libraries
0.0.2
A set of C++ libraries for MSVC, GNU on Windows, WinCE, Linux
|
#include <cSSLTransform.h>
Public Member Functions | |
cSSLTransform () | |
~cSSLTransform () | |
void | SetZeroTransform () |
HRESULT | Encrypt (cSSLMsgBuilder &rOut, SSL_VERSION_TYPE nVer, bool bEncryptThenMac, IRandomNoise *pRandom) |
HRESULT | Decrypt (cSSLMsgBuilder &rIn, SSL_VERSION_TYPE nVer, bool bEncryptThenMac) |
Public Attributes | |
const cSSLCipherSuite * | m_pCipherSuiteDef |
size_t | m_nSizeKey |
< for Chosen m_pCipherSuiteDef More... | |
size_t | m_nSizeMin |
min. ciphertext length More... | |
size_t | m_nSizeIV |
IV length. More... | |
size_t | m_nSizeFixedIV |
Fixed part of IV (AEAD) More... | |
size_t | m_nSizeMac |
MAC length. effected by m_bTruncatedHMAC. More... | |
cSSLTransformSide | m_enc |
(encryption) More... | |
cSSLTransformSide | m_dec |
(decryption) More... | |
Additional Inherited Members | |
![]() | |
static const size_t | k_PSK_Size_Max = 32 |
256 bits More... | |
static const size_t | k_MAC_Size_Max = 48 |
16 to 48. SHA-384 used for HMAC. like k_HashSizeMax More... | |
static const size_t | k_Number_Size_Max = 1024 |
Max reasonable size of a big number used for crypt purposes. 8k bits. like cBigInteger::k_SIZE_MAX. More... | |
static const size_t | k_Content_Size_Max = 16384 |
Size of content. >= k_MaxFragLens[MAX]. More... | |
static const WORD | k_MaxFragLens [SSL_MAX_FRAG_LEN_QTY] |
Session specific crypto layer
GraySSL::cSSLTransform::cSSLTransform | ( | ) |
GraySSL::cSSLTransform::~cSSLTransform | ( | ) |
HRESULT GraySSL::cSSLTransform::Decrypt | ( | cSSLMsgBuilder & | rIn, |
SSL_VERSION_TYPE | nVer, | ||
bool | bEncryptThenMac | ||
) |
Padding is guaranteed to be incorrect if:
HRESULT GraySSL::cSSLTransform::Encrypt | ( | cSSLMsgBuilder & | rOut, |
SSL_VERSION_TYPE | nVer, | ||
bool | bEncryptThenMac, | ||
IRandomNoise * | pRandom | ||
) |
Encryption functions
void GraySSL::cSSLTransform::SetZeroTransform | ( | ) |
cSSLTransformSide GraySSL::cSSLTransform::m_dec |
(decryption)
cSSLTransformSide GraySSL::cSSLTransform::m_enc |
(encryption)
size_t GraySSL::cSSLTransform::m_nSizeFixedIV |
Fixed part of IV (AEAD)
size_t GraySSL::cSSLTransform::m_nSizeIV |
IV length.
size_t GraySSL::cSSLTransform::m_nSizeKey |
< for Chosen m_pCipherSuiteDef
symmetric key length. bytes
size_t GraySSL::cSSLTransform::m_nSizeMac |
MAC length. effected by m_bTruncatedHMAC.
size_t GraySSL::cSSLTransform::m_nSizeMin |
min. ciphertext length
const cSSLCipherSuite* GraySSL::cSSLTransform::m_pCipherSuiteDef |