[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [PATCH 1/4] xen/lib: Export additional sha256 functions
From: Ross Lagerwall <ross.lagerwall@xxxxxxxxxx> In future, some code needs to generate a digest over several separate buffers so export the necessary functions to do so. Signed-off-by: Ross Lagerwall <ross.lagerwall@xxxxxxxxxx> --- xen/include/xen/sha2.h | 10 ++++++++++ xen/lib/sha2-256.c | 14 ++++---------- 2 files changed, 14 insertions(+), 10 deletions(-) diff --git a/xen/include/xen/sha2.h b/xen/include/xen/sha2.h index 47d97fbf01..ea8bad67e4 100644 --- a/xen/include/xen/sha2.h +++ b/xen/include/xen/sha2.h @@ -9,6 +9,16 @@ #define SHA2_256_DIGEST_SIZE 32 +struct sha2_256_state { + uint32_t state[SHA2_256_DIGEST_SIZE / sizeof(uint32_t)]; + uint8_t buf[64]; + size_t count; /* Byte count. */ +}; + +void sha2_256_init(struct sha2_256_state *s); +void sha2_256_update(struct sha2_256_state *s, const void *msg, + size_t len); +void sha2_256_final(struct sha2_256_state *s, void *_dst); void sha2_256_digest(uint8_t digest[SHA2_256_DIGEST_SIZE], const void *msg, size_t len); diff --git a/xen/lib/sha2-256.c b/xen/lib/sha2-256.c index 19e8252188..896a257ed9 100644 --- a/xen/lib/sha2-256.c +++ b/xen/lib/sha2-256.c @@ -10,12 +10,6 @@ #include <xen/string.h> #include <xen/unaligned.h> -struct sha2_256_state { - uint32_t state[SHA2_256_DIGEST_SIZE / sizeof(uint32_t)]; - uint8_t buf[64]; - size_t count; /* Byte count. */ -}; - static uint32_t choose(uint32_t x, uint32_t y, uint32_t z) { return z ^ (x & (y ^ z)); @@ -131,7 +125,7 @@ static void sha2_256_transform(uint32_t *state, const void *_input) state[4] += e; state[5] += f; state[6] += g; state[7] += h; } -static void sha2_256_init(struct sha2_256_state *s) +void sha2_256_init(struct sha2_256_state *s) { *s = (struct sha2_256_state){ .state = { @@ -147,8 +141,8 @@ static void sha2_256_init(struct sha2_256_state *s) }; } -static void sha2_256_update(struct sha2_256_state *s, const void *msg, - size_t len) +void sha2_256_update(struct sha2_256_state *s, const void *msg, + size_t len) { unsigned int partial = s->count & 63; @@ -177,7 +171,7 @@ static void sha2_256_update(struct sha2_256_state *s, const void *msg, memcpy(s->buf + partial, msg, len); } -static void sha2_256_final(struct sha2_256_state *s, void *_dst) +void sha2_256_final(struct sha2_256_state *s, void *_dst) { uint32_t *dst = _dst; unsigned int i, partial = s->count & 63; -- 2.43.0
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |