1
0
mirror of https://github.com/systemd/systemd.git synced 2024-11-07 18:27:04 +03:00

siphash24: expose the internal helper functions

This commit is contained in:
Tom Gundersen 2015-10-04 00:23:25 +02:00
parent 2c4cc3bdcd
commit 7c57f504c9
2 changed files with 16 additions and 12 deletions

View File

@ -52,16 +52,7 @@ typedef uint8_t u8;
(state)->v2 += (state)->v1; (state)->v1=ROTL((state)->v1,17); (state)->v1 ^= (state)->v2; (state)->v2=ROTL((state)->v2,32); \
} while(0)
struct siphash {
u64 v0;
u64 v1;
u64 v2;
u64 v3;
u64 padding;
size_t inlen;
};
static void siphash_init(struct siphash *state, const uint8_t k[16]) {
void siphash_init(struct siphash *state, const uint8_t k[16]) {
u64 k0, k1;
k0 = U8TO64_LE( k );
@ -76,7 +67,7 @@ static void siphash_init(struct siphash *state, const uint8_t k[16]) {
state->inlen = 0;
}
static void siphash24_compress(const void *_in, size_t inlen, struct siphash *state) {
void siphash24_compress(const void *_in, size_t inlen, struct siphash *state) {
u64 m;
const u8 *in = _in;
const u8 *end = in + inlen;
@ -149,7 +140,7 @@ static void siphash24_compress(const void *_in, size_t inlen, struct siphash *st
}
}
static u64 siphash24_finalize(struct siphash *state) {
uint64_t siphash24_finalize(struct siphash *state) {
u64 b;
b = state->padding | (( ( u64 )state->inlen ) << 56);

View File

@ -3,4 +3,17 @@
#include <inttypes.h>
#include <sys/types.h>
struct siphash {
uint64_t v0;
uint64_t v1;
uint64_t v2;
uint64_t v3;
uint64_t padding;
size_t inlen;
};
void siphash_init(struct siphash *state, const uint8_t k[16]);
void siphash24_compress(const void *in, size_t inlen, struct siphash *state);
uint64_t siphash24_finalize(struct siphash *state);
void siphash24(uint8_t out[8], const void *in, size_t inlen, const uint8_t k[16]);