|
ProtoCore v0.0.2
Deterministic, zero-heap network stack for embedded targets
|
AES-256-GCM on Espressif silicon, through the vendor's own AEAD. More...
#include "board_drivers/board_profiles/pc_platform.h"#include "crypto/aead/aesgcm.h"#include "crypto/crypto_opt.h"#include "server/mmgr/secure.h"#include <string.h>Go to the source code of this file.
AES-256-GCM on Espressif silicon, through the vendor's own AEAD.
Hands the whole AEAD to mbedtls rather than driving the block cipher and folding GHASH in software. That is not a style preference - measured on an ESP32-S3 at 240 MHz, sealing 1 KiB:
this path (vendor GCM) 81,085 cycles 3.0 MB/s manual HW-AES block + software GHASH 616,567 cycles 0.4 MB/s
7.6x, same chip, same data. The old code took the manual path whenever SOC_AES_SUPPORT_GCM was unset, i.e. whenever we concluded the die had no GCM mode - and then hand-rolled a slower replacement. The vendor's implementation knows what its own silicon can do; deciding that is its job, not the core's.
Vendor headers are fine here: this is board_drivers, the partition vendor code is segregated to.
Definition in file esp_aesgcm.cpp.