|
ProtoCore v0.0.2
Deterministic, zero-heap network stack for embedded targets
|
AES-128-GCM and the AES-128 block in software - the backend for a target with no accelerated AEAD. More...
#include "board_drivers/board_profiles/pc_platform.h"#include "crypto/aead/aes128gcm.h"#include "crypto/cipher/aes_block.h"#include "crypto/crypto_opt.h"#include "crypto/crypto_scratch.h"#include "crypto/mac/ghash.h"#include "protocore_config.h"#include "server/mmgr/secure.h"#include <string.h>Go to the source code of this file.
AES-128-GCM and the AES-128 block in software - the backend for a target with no accelerated AEAD.
Software AES-128 plus a 4-bit-table GHASH. Selected explicitly by a vendor profile that sets PC_HAS_HW_AESGCM 0; never a fallback. There is no weak symbol anywhere in the chain, so linking no backend is an undefined reference and linking two is a duplicate definition.
The context is keyed: the AES schedule, H and the GHASH table are built once per key. Only J0 and the counter are per record.
Definition in file portable_aes128gcm.cpp.