hash::siphash+x86_64 +linux

siphash: SipHash keyed hash function, for untrusted hash map keys

Implements the SipHash keyed hash function. Output of SipHash(secret, input) for any input does not reveal anything about the secret used, which makes it a good choice for use cases that require resistance against hash flooding.

Index

Types

// Undocumented types:
type state = struct {
	hash::hash,
	v: [4]u64,
	x: [CHUNKSZ]u8,
	x_len: u8,
	c: u8,
	d: u8,
	ln: size,
};

Functions

fn siphash(c: u8, d: u8, key: *[16]u8) state;
fn sum(h: *state) u64;

Types

type state[permalink] [source]

Show undocumented member
type state = struct {
	hash::hash,
	v: [4]u64,
	x: [CHUNKSZ]u8,
	x_len: u8,
	c: u8,
	d: u8,
	ln: size,
};

Functions

fn siphash[permalink] [source]

fn siphash(c: u8, d: u8, key: *[16]u8) state;

Creates a [hash::hash] that computes SipHash-c-d with the given 16 byte key, where c denotes number of compression rounds and d denotes number of finalization rounds. Recommended values for c and d are 2 and 4 respectively. Calling hash::close on this function will erase its state information. This function does not provide reset functionality and calling hash::reset on it will terminate execution.

fn sum[permalink] [source]

fn sum(h: *state) u64;

Returns the sum as a u64