ProtoCore v0.0.2
Deterministic, zero-heap network stack for embedded targets
Loading...
Searching...
No Matches
esp_aes128gcm.cpp File Reference

AES-128-GCM and the AES-128 block on Espressif silicon, through the vendor's own primitives. More...

Go to the source code of this file.

Detailed Description

AES-128-GCM and the AES-128 block on Espressif silicon, through the vendor's own primitives.

The AEAD is one mbedtls_gcm call. The core used to drive the block cipher 16 bytes at a time and fold GHASH in software on every target - on the AES-256 path that measured 616,567 cyc/KiB against the vendor AEAD's 81,085, and there is no reason to expect a different ratio here.

The context is keyed and held for the life of the key: standing an mbedtls GCM context up and tearing it down costs ~9,200 cycles once the AES peripheral has been used, a FIXED cost per record that dominates QUIC and DTLS traffic, where records are small.

Vendor headers are fine here: this is board_drivers, the partition vendor code is segregated to.

Definition in file esp_aes128gcm.cpp.