aes_gcm_encrypt_update(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… aes_gcm_encrypt_update β€” a whole section 9 (kernel API) moment πŸ’…

okay so bestie, welcome to aes_gcm_encrypt_update, straight out of the kernel API manual (section 9, we're in kernel land now, very main character of us). This is about incrementally encrypting data with AES-GCM β€” like, piece by piece, not all at once. Slay.


✨ NAME ✨

aes_gcm_encrypt_update β€” incrementally encrypt data with AES-GCM. yes that's the whole name, it's giving "descriptive and unbothered" πŸ’–


πŸ¦‹ SYNOPSIS πŸ¦‹

void aes_gcm_encrypt_update (struct aes_gcm_ctx *ctx , u8 *dst , const
u8 *src , size_t len );

like, look at her. returns void. doesn't even need to tell you if it worked. confident queen behavior πŸ‘‘


πŸŽ€ ARGUMENTS πŸŽ€

  • ctx β€” An AES-GCM context. your lil state-holder bestie 🫢
  • dst β€” The destination buffer. Can be in-place or out-of-place. For other overlaps the behavior is unspecified. ⚠️ so like, in-place: fine. out-of-place: fine. anything else: we literally cannot vouch for it, no cap.
  • src β€” The source plaintext data. the untouched, un-encrypted original vibes 🌸
  • len β€” Number of bytes to encrypt. The caller must ensure that the total number of bytes encrypted doesn't exceed GCM's limit of 2^36 - 32. 🚨 that's the ceiling bestie, don't test it, nobody's built different enough for that.

πŸ”₯ DESCRIPTION πŸ”₯

This can be called only after all associated data has been processed. that's the vibe check β€” associated data first, encrypting after. the way that ordering is not optional 😭


πŸ’€ CONTEXT πŸ’€

Any context. any. literally any. she's flexible like that 🧚


🌈 SEE ALSO 🌈

Kernel file ./include/crypto/aes-gcm.h and the whole friend group:


ok that's the whole page, go encrypt something incrementally, i'm obsessed with you πŸ’œ

and that's a wrap, bestie β€” this page lives in ./include/crypto, dated October 2026, and it was iconic from start to finish βœ¨πŸŽ€πŸ¦‹

πŸ“¦ where this page comes from