15 #include "user_config.h" 28 memcpy(master_key, key, 16);
33 for (i = 0; i < 16; i++) {
53 for (i = 0; i < 16; i++) {
58 printf(
"hmac sha256 key: ");
59 for (i = 0; i < 16; i++) {
73 memset(dst, 0,
sizeof(dst));
80 return_l = (return_l / 16) * 16 + 16;
83 return_l = (return_l / 16) * 16;
void system_soft_wdt_stop(void)
uint8_t sha256_hash[SHA256_DIGEST_LENGTH]
ICACHE_FLASH_ATTR size_t decrypt_aes_hmac_combined(uint8_t *dst, uint8_t *topic, size_t topic_l, uint8_t *message, size_t message_l)
void init_aes_hmac_combined(uint8_t *key)
ICACHE_FLASH_ATTR void sha256_raw(uint8_t *data, size_t len, uint8_t digest[SHA256_DIGEST_LENGTH])
int os_get_random(unsigned char *buf, size_t len)
#define ICACHE_FLASH_ATTR
ICACHE_FLASH_ATTR void AES128_CBC_decrypt_buffer(uint8_t *output, uint8_t *input, uint32_t length, const uint8_t *key, uint8_t *iv)
ICACHE_FLASH_ATTR void hmac_sha256_update(hmac_sha256_ctx_t *hctx, uint8_t *msg, uint32_t msglen)
uint8_t hmac_sha256_key[16]
void system_soft_wdt_restart(void)
ICACHE_FLASH_ATTR size_t encrypt_aes_hmac_combined(uint8_t *dst, uint8_t *topic, size_t topic_l, uint8_t *message, size_t message_l)
ICACHE_FLASH_ATTR void AES128_CBC_encrypt_buffer(uint8_t *output, uint8_t *input, uint32_t length, const uint8_t *key, uint8_t *iv)
ICACHE_FLASH_ATTR void hmac_sha256_final(hmac_sha256_ctx_t *hctx, uint8_t *hmac)
#define SHA256_DIGEST_LENGTH
ICACHE_FLASH_ATTR void hmac_sha256_init(hmac_sha256_ctx_t *hctx, uint8_t *key, uint32_t keylen)