Cryptography namespace. More...
Classes | |
| class | Base64 |
| Base64 algorithm implementation. More... | |
| struct | AesniKey |
| class | AES |
| AES block cipher algorithm implementation. More... | |
| class | BlockCipherModeOfOperation |
| Block cipher mode of operation interface. More... | |
| class | BlockCipher |
| Block cipher interface. More... | |
| class | CBC |
| Cipher-block chaining implementation. More... | |
| class | CFB |
| Cipher feedback implementation. More... | |
| class | CTR |
| Counter implementation. More... | |
| class | ECB |
| Electronic codebook implementation. More... | |
| class | InvalidBlockException |
| Exception on receiving an invalid block. More... | |
| class | OFB |
| Output feedback implementation. More... | |
| class | PCBC |
| Propagating cipher-block chaining implementation. More... | |
| class | Hash |
| Hash algorithm abstract class. More... | |
| class | MD5 |
| MD5 hash algorithm implementation. More... | |
| class | SHA1 |
| SHA1 hash algorithm implementation. More... | |
| class | SHA2 |
| SHA2 abstract class. More... | |
| class | ANSIX923 |
| ANSI X.923 padding implementation. More... | |
| class | ISO7816_4Padding |
| ISO/IEC 7816-4 padding implementation. More... | |
| class | PKCS5Padding |
| PKCS5 padding implementation. More... | |
| class | ZeroPadding |
| Zero padding implementation. More... | |
Typedefs | |
| using | AES128 = AES<4,10> |
| using | AES192 = AES<6,12> |
| using | AES256 = AES<8,14> |
| using | SHA224 = SHA224_256<28,SHA224_VALUES> |
| using | SHA256 = SHA224_256<32,SHA256_VALUES> |
| using | SHA384 = SHA384_512<48,SHA384_VALUES> |
| using | SHA512 = SHA384_512<64,SHA512_VALUES> |
Functions | |
| template<typename H> | |
| H | HMAC (const std::string &, const std::string &) |
| template MD5 | HMAC< MD5 > (const std::string &, const std::string &) |
| void | registerMD5UUIDProvider () |
| template SHA1 | HMAC< SHA1 > (const std::string &, const std::string &) |
| void | registerSHA1UUIDProvider () |
| template SHA224 | HMAC< SHA224 > (const std::string &, const std::string &) |
| template SHA256 | HMAC< SHA256 > (const std::string &, const std::string &) |
| template SHA384 | HMAC< SHA384 > (const std::string &, const std::string &) |
| template SHA512 | HMAC< SHA512 > (const std::string &, const std::string &) |
Variables | |
| const uint8_t | ANCH_AES_CIPHER_SBOX [256] |
| const uint8_t | ANCH_AES_DECIPHER_SBOX [256] |
| const uint32_t | ANCH_AES_RCON [11] |
| const uint8_t | ANCH_GALOIS_MULT2 [256] |
| const uint8_t | ANCH_GALOIS_MULT3 [256] |
| const uint8_t | ANCH_GALOIS_MULT9 [256] |
| const uint8_t | ANCH_GALOIS_MULT11 [256] |
| const uint8_t | ANCH_GALOIS_MULT13 [256] |
| const uint8_t | ANCH_GALOIS_MULT14 [256] |
| std::array< uint32_t, 8 > | SHA224_VALUES |
| std::array< uint32_t, 8 > | SHA256_VALUES |
| std::array< uint64_t, 8 > | SHA384_VALUES |
| std::array< uint64_t, 8 > | SHA512_VALUES |
Cryptography namespace.
It contains classes for cryptography facilities:
| using anch::crypto::AES128 = AES<4,10> |
AES-128 defintion
| using anch::crypto::AES192 = AES<6,12> |
AES-192 defintion
| using anch::crypto::AES256 = AES<8,14> |
AES-256 defintion
| using anch::crypto::SHA224 = SHA224_256<28,SHA224_VALUES> |
SHA224 definition
| using anch::crypto::SHA256 = SHA224_256<32,SHA256_VALUES> |
SHA256 defintion
| using anch::crypto::SHA384 = SHA384_512<48,SHA384_VALUES> |
SHA384 defintion
| using anch::crypto::SHA512 = SHA384_512<64,SHA512_VALUES> |
SHA512 defintion
| H anch::crypto::HMAC | ( | const std::string & | key, |
| const std::string & | message ) |
Compute HMAC according to hash algorithm, key and message.
This function uses C++ string for key and message.
| key | the key to use |
| message | the message to use |
|
extern |
HMAC MD5 definition
|
extern |
HMAC SHA1 definition
|
extern |
HMAC SHA224 definition
|
extern |
HMAC SHA256 definition
|
extern |
HMAC SHA384 definition
|
extern |
HMAC SHA512 definition
|
extern |
Cipher subsitution box
|
extern |
Decipher subsitution box
|
extern |
Round constants
|
extern |
Galois multiply by 11 lookup table
|
extern |
Galois multiply by 13 lookup table
|
extern |
Galois multiply by 14 lookup table
|
extern |
Galois multiply by 2 lookup table
|
extern |
Galois multiply by 3 lookup table
|
extern |
Galois multiply by 9 lookup table
|
extern |
SHA224 initial values
|
extern |
SHA256 initial values
|
extern |
SHA384 initial values
|
extern |
SHA512 initial values