27 #ifndef ONBOARDSDK_AES256_H 28 #define ONBOARDSDK_AES256_H 32 typedef struct tagAES256Context
39 typedef void (*ptr_aes256_codec)(aes256_context* ctx, uint8_t* buf);
41 uint8_t rj_xtime(uint8_t x);
42 void aes_subBytes(uint8_t* buf);
43 void aes_subBytes_inv(uint8_t* buf);
44 void aes_addRoundKey(uint8_t* buf, uint8_t* key);
45 void aes_addRoundKey_cpy(uint8_t* buf, uint8_t* key, uint8_t* cpk);
46 void aes_shiftRows(uint8_t* buf);
47 void aes_shiftRows_inv(uint8_t* buf);
48 void aes_mixColumns(uint8_t* buf);
49 void aes_mixColumns_inv(uint8_t* buf);
50 void aes_expandEncKey(uint8_t* k, uint8_t* rc);
51 void aes_expandDecKey(uint8_t* k, uint8_t* rc);
52 void aes256_init(aes256_context* ctx, uint8_t* k);
53 void aes256_done(aes256_context* ctx);
54 void aes256_encrypt_ecb(aes256_context* ctx, uint8_t* buf);
55 void aes256_decrypt_ecb(aes256_context* ctx, uint8_t* buf);
57 #endif // ONBOARDSDK_AES256_H