2018-08-13 02:01:51 +00:00
|
|
|
#ifndef RIJNDAEL_H
|
|
|
|
#define RIJNDAEL_H
|
2009-10-17 14:53:02 +00:00
|
|
|
|
2009-10-17 15:01:20 +00:00
|
|
|
#include <qpdf/qpdf-config.h>
|
|
|
|
#ifdef HAVE_INTTYPES_H
|
|
|
|
# include <inttypes.h>
|
|
|
|
#endif
|
2011-12-28 21:40:33 +00:00
|
|
|
#ifdef HAVE_STDINT_H
|
|
|
|
# include <stdint.h>
|
|
|
|
#endif
|
2019-06-21 03:35:23 +00:00
|
|
|
#include <stddef.h>
|
2009-10-17 15:01:20 +00:00
|
|
|
|
2019-06-21 03:35:23 +00:00
|
|
|
unsigned int rijndaelSetupEncrypt(uint32_t* rk, const unsigned char* key, size_t keybits);
|
|
|
|
unsigned int rijndaelSetupDecrypt(uint32_t* rk, const unsigned char* key, size_t keybits);
|
|
|
|
void rijndaelEncrypt(
|
|
|
|
const uint32_t* rk,
|
|
|
|
unsigned int nrounds,
|
2009-10-17 14:53:02 +00:00
|
|
|
const unsigned char plaintext[16],
|
|
|
|
unsigned char ciphertext[16]);
|
2019-06-21 03:35:23 +00:00
|
|
|
void rijndaelDecrypt(
|
|
|
|
const uint32_t* rk,
|
|
|
|
unsigned int nrounds,
|
2009-10-17 14:53:02 +00:00
|
|
|
const unsigned char ciphertext[16],
|
|
|
|
unsigned char plaintext[16]);
|
|
|
|
|
|
|
|
#define KEYLENGTH(keybits) ((keybits) / 8)
|
|
|
|
#define RKLENGTH(keybits) ((keybits) / 8 + 28)
|
|
|
|
#define NROUNDS(keybits) ((keybits) / 32 + 6)
|
|
|
|
|
|
|
|
#endif
|