7 #ifndef BITCOIN_CRYPTO_AES_H 8 #define BITCOIN_CRYPTO_AES_H 14 static const int AES_BLOCKSIZE = 16;
15 static const int AES128_KEYSIZE = 16;
16 static const int AES256_KEYSIZE = 32;
27 void Encrypt(
unsigned char ciphertext[16],
const unsigned char plaintext[16])
const;
39 void Decrypt(
unsigned char plaintext[16],
const unsigned char ciphertext[16])
const;
51 void Encrypt(
unsigned char ciphertext[16],
const unsigned char plaintext[16])
const;
63 void Decrypt(
unsigned char plaintext[16],
const unsigned char ciphertext[16])
const;
69 AES256CBCEncrypt(
const unsigned char key[AES256_KEYSIZE],
const unsigned char ivIn[AES_BLOCKSIZE],
bool padIn);
71 int Encrypt(
const unsigned char* data,
int size,
unsigned char* out)
const;
76 unsigned char iv[AES_BLOCKSIZE];
82 AES256CBCDecrypt(
const unsigned char key[AES256_KEYSIZE],
const unsigned char ivIn[AES_BLOCKSIZE],
bool padIn);
84 int Decrypt(
const unsigned char* data,
int size,
unsigned char* out)
const;
89 unsigned char iv[AES_BLOCKSIZE];
95 AES128CBCEncrypt(
const unsigned char key[AES128_KEYSIZE],
const unsigned char ivIn[AES_BLOCKSIZE],
bool padIn);
97 int Encrypt(
const unsigned char* data,
int size,
unsigned char* out)
const;
102 unsigned char iv[AES_BLOCKSIZE];
108 AES128CBCDecrypt(
const unsigned char key[AES128_KEYSIZE],
const unsigned char ivIn[AES_BLOCKSIZE],
bool padIn);
110 int Decrypt(
const unsigned char* data,
int size,
unsigned char* out)
const;
115 unsigned char iv[AES_BLOCKSIZE];
118 #endif // BITCOIN_CRYPTO_AES_H
AES256Encrypt(const unsigned char key[32])
int Decrypt(const unsigned char *data, int size, unsigned char *out) const
A decryption class for AES-256.
AES128Encrypt(const unsigned char key[16])
void Encrypt(unsigned char ciphertext[16], const unsigned char plaintext[16]) const
AES128CBCEncrypt(const unsigned char key[AES128_KEYSIZE], const unsigned char ivIn[AES_BLOCKSIZE], bool padIn)
unsigned char iv[AES_BLOCKSIZE]
int Decrypt(const unsigned char *data, int size, unsigned char *out) const
An encryption class for AES-256.
void Decrypt(unsigned char plaintext[16], const unsigned char ciphertext[16]) const
void Decrypt(unsigned char plaintext[16], const unsigned char ciphertext[16]) const
unsigned char iv[AES_BLOCKSIZE]
int Encrypt(const unsigned char *data, int size, unsigned char *out) const
AES256CBCDecrypt(const unsigned char key[AES256_KEYSIZE], const unsigned char ivIn[AES_BLOCKSIZE], bool padIn)
AES256CBCEncrypt(const unsigned char key[AES256_KEYSIZE], const unsigned char ivIn[AES_BLOCKSIZE], bool padIn)
int Encrypt(const unsigned char *data, int size, unsigned char *out) const
void Encrypt(unsigned char ciphertext[16], const unsigned char plaintext[16]) const
A decryption class for AES-128.
AES128Decrypt(const unsigned char key[16])
unsigned char iv[AES_BLOCKSIZE]
An encryption class for AES-128.
unsigned char iv[AES_BLOCKSIZE]
AES128CBCDecrypt(const unsigned char key[AES128_KEYSIZE], const unsigned char ivIn[AES_BLOCKSIZE], bool padIn)
AES256Decrypt(const unsigned char key[32])