Commit b34c9803 authored by Eric Biggers's avatar Eric Biggers
Browse files

lib/crypto: sha256: Document the SHA-224 and SHA-256 API



Add kerneldoc comments, consistent with the kerneldoc comments of the
SHA-384 and SHA-512 API.

Acked-by: default avatarArd Biesheuvel <ardb@kernel.org>
Link: https://lore.kernel.org/r/20250630160645.3198-15-ebiggers@kernel.org


Signed-off-by: default avatarEric Biggers <ebiggers@kernel.org>
parent 773d2b99
Loading
Loading
Loading
Loading
+76 −0
Original line number Diff line number Diff line
@@ -155,13 +155,51 @@ struct sha224_ctx {
	struct __sha256_ctx ctx;
};

/**
 * sha224_init() - Initialize a SHA-224 context for a new message
 * @ctx: the context to initialize
 *
 * If you don't need incremental computation, consider sha224() instead.
 *
 * Context: Any context.
 */
void sha224_init(struct sha224_ctx *ctx);

/**
 * sha224_update() - Update a SHA-224 context with message data
 * @ctx: the context to update; must have been initialized
 * @data: the message data
 * @len: the data length in bytes
 *
 * This can be called any number of times.
 *
 * Context: Any context.
 */
static inline void sha224_update(struct sha224_ctx *ctx,
				 const u8 *data, size_t len)
{
	__sha256_update(&ctx->ctx, data, len);
}

/**
 * sha224_final() - Finish computing a SHA-224 message digest
 * @ctx: the context to finalize; must have been initialized
 * @out: (output) the resulting SHA-224 message digest
 *
 * After finishing, this zeroizes @ctx.  So the caller does not need to do it.
 *
 * Context: Any context.
 */
void sha224_final(struct sha224_ctx *ctx, u8 out[SHA224_DIGEST_SIZE]);

/**
 * sha224() - Compute SHA-224 message digest in one shot
 * @data: the message data
 * @len: the data length in bytes
 * @out: (output) the resulting SHA-224 message digest
 *
 * Context: Any context.
 */
void sha224(const u8 *data, size_t len, u8 out[SHA224_DIGEST_SIZE]);

/**
@@ -275,13 +313,51 @@ struct sha256_ctx {
	struct __sha256_ctx ctx;
};

/**
 * sha256_init() - Initialize a SHA-256 context for a new message
 * @ctx: the context to initialize
 *
 * If you don't need incremental computation, consider sha256() instead.
 *
 * Context: Any context.
 */
void sha256_init(struct sha256_ctx *ctx);

/**
 * sha256_update() - Update a SHA-256 context with message data
 * @ctx: the context to update; must have been initialized
 * @data: the message data
 * @len: the data length in bytes
 *
 * This can be called any number of times.
 *
 * Context: Any context.
 */
static inline void sha256_update(struct sha256_ctx *ctx,
				 const u8 *data, size_t len)
{
	__sha256_update(&ctx->ctx, data, len);
}

/**
 * sha256_final() - Finish computing a SHA-256 message digest
 * @ctx: the context to finalize; must have been initialized
 * @out: (output) the resulting SHA-256 message digest
 *
 * After finishing, this zeroizes @ctx.  So the caller does not need to do it.
 *
 * Context: Any context.
 */
void sha256_final(struct sha256_ctx *ctx, u8 out[SHA256_DIGEST_SIZE]);

/**
 * sha256() - Compute SHA-256 message digest in one shot
 * @data: the message data
 * @len: the data length in bytes
 * @out: (output) the resulting SHA-256 message digest
 *
 * Context: Any context.
 */
void sha256(const u8 *data, size_t len, u8 out[SHA256_DIGEST_SIZE]);

/**