接前一篇文章:ESP32-C3模组上跑通AES-GCM(3)
四、ESP-IDF中的AES-GCM例程解析
ESP-IDF中的AES-GCM例程在Components(组件库)中的components\components\mbedtls\test_apps\main\test_aes_gcm.c中,整个文件的代码很长,里边涉及到了多个测试用例。在此,为了便于理解,选择其中的一个进行解析,其它的也是类似的。
代码如下:
typedef struct {
uint8_t *plaintext;
size_t plaintext_length;
uint32_t output_caps;
uint8_t *add_buf;
size_t add_length;
uint8_t *iv;
size_t iv_length;
uint8_t *key;
size_t key_bits;
size_t tag_len;
} aes_gcm_test_cfg_t;
typedef struct {
const uint8_t *expected_tag;
const