From b45b57eec673c1e9cd1920ef80279dd09095c18b Mon Sep 17 00:00:00 2001 From: Mateusz Starzyk Date: Mon, 7 Jun 2021 15:44:18 +0200 Subject: [PATCH] Add comment on how mbedtls_gcm_context::buf data depends on values of add_len and len. Signed-off-by: Mateusz Starzyk --- library/gcm.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/library/gcm.c b/library/gcm.c index a20a767415..01e12e69ca 100644 --- a/library/gcm.c +++ b/library/gcm.c @@ -332,7 +332,16 @@ int mbedtls_gcm_starts( mbedtls_gcm_context *ctx, return( 0 ); } - +/** + * mbedtls_gcm_context::buf contains different data type, depending + * on the values of mbedtls_gcm_context::::add_len and + * mbedtls_gcm_context::len: + * * When add_len % 16 == 0 and len == 0: initial state. + * * When add_len % 16 != 0 and len == 0: the first `add_len % 16` bytes + * of buf have a partial AD block xored in and not yet multiplied in. + * * When len != 0: the first `add_len % 16` bytes of buf have partial + * ciphertext xored in and not yet multiplied in. + */ int mbedtls_gcm_update_ad( mbedtls_gcm_context *ctx, const unsigned char *add, size_t add_len ) {