// from http://www.efgh.com/software/rijndael.htm (public domain) #ifndef H__RIJNDAEL #define H__RIJNDAEL #include "d0.h" EXPORT int d0_rijndael_setup_encrypt(unsigned long *rk, const unsigned char *key, int keybits); EXPORT int d0_rijndael_setup_decrypt(unsigned long *rk, const unsigned char *key, int keybits); EXPORT void d0_rijndael_encrypt(const unsigned long *rk, int nrounds, const unsigned char plaintext[16], unsigned char ciphertext[16]); EXPORT void d0_rijndael_decrypt(const unsigned long *rk, int nrounds, const unsigned char ciphertext[16], unsigned char plaintext[16]); #define D0_RIJNDAEL_KEYLENGTH(keybits) ((keybits)/8) #define D0_RIJNDAEL_RKLENGTH(keybits) ((keybits)/8+28) #define D0_RIJNDAEL_NROUNDS(keybits) ((keybits)/32+6) #endif