Cryptography namespace. More...
Classes | |
class | AES |
AES block cipher algorithm implementation. More... | |
struct | AesniKey |
class | ANSIX923 |
ANSI X.923 padding implementation. More... | |
class | Base64 |
Base64 algorithm implementation. More... | |
class | BlockCipher |
Block cipher interface. More... | |
class | BlockCipherModeOfOperation |
Block cipher mode of operation 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 | Hash |
Hash algorithm abstract class. More... | |
class | InvalidBlockException |
Exception on receiving an invalid block. More... | |
class | ISO7816_4Padding |
ISO/IEC 7816-4 padding implementation. More... | |
class | MD5 |
MD5 hash algorithm implementation. More... | |
class | OFB |
Output feedback implementation. More... | |
class | PCBC |
Propagating cipher-block chaining implementation. More... | |
class | PKCS5Padding |
PKCS5 padding implementation. More... | |
class | SHA1 |
SHA1 hash algorithm implementation. More... | |
class | SHA2 |
SHA2 abstract class. 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