7 #ifndef PIVX_CRYPTO_AES_H
8 #define PIVX_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];
unsigned char iv[AES_BLOCKSIZE]
AES128CBCDecrypt(const unsigned char key[AES128_KEYSIZE], const unsigned char ivIn[AES_BLOCKSIZE], bool padIn)
int Decrypt(const unsigned char *data, int size, unsigned char *out) const
AES128CBCEncrypt(const unsigned char key[AES128_KEYSIZE], const unsigned char ivIn[AES_BLOCKSIZE], bool padIn)
unsigned char iv[AES_BLOCKSIZE]
int Encrypt(const unsigned char *data, int size, unsigned char *out) const
A decryption class for AES-128.
AES128Decrypt(const unsigned char key[16])
void Decrypt(unsigned char plaintext[16], const unsigned char ciphertext[16]) const
An encryption class for AES-128.
void Encrypt(unsigned char ciphertext[16], const unsigned char plaintext[16]) const
AES128Encrypt(const unsigned char key[16])
AES256CBCDecrypt(const unsigned char key[AES256_KEYSIZE], const unsigned char ivIn[AES_BLOCKSIZE], bool padIn)
int Decrypt(const unsigned char *data, int size, unsigned char *out) const
unsigned char iv[AES_BLOCKSIZE]
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
unsigned char iv[AES_BLOCKSIZE]
A decryption class for AES-256.
AES256Decrypt(const unsigned char key[32])
void Decrypt(unsigned char plaintext[16], const unsigned char ciphertext[16]) const
An encryption class for AES-256.
AES256Encrypt(const unsigned char key[32])
void Encrypt(unsigned char ciphertext[16], const unsigned char plaintext[16]) const