X-Git-Url: https://git.distorted.org.uk/~mdw/mLib/blobdiff_plain/8fe3c82b561e58c894d9b8392ef4003158f44dd8..9b5ac6ff2ef1b71e7ec53c756cad37b1844b9d1e:/man/unihash.3 diff --git a/man/unihash.3 b/man/unihash.3 index 49ef2e0..8e45c69 100644 --- a/man/unihash.3 +++ b/man/unihash.3 @@ -45,6 +45,8 @@ unihash \- simple and efficient universal hashing for hashtables .nf .B "#include " +.B "unihash_info unihash_global;" + .BI "void unihash_setkey(unihash_info *" i ", uint32 " k ); .BI "uint32 UNIHASH_INIT(const unihash_info *" i ); .BI "void unihash_hash(const unihash_info *" st ", uint32 " a , @@ -125,6 +127,18 @@ and function are convenient interfaces to .B unihash_hash if you only wanted to hash one chunk. +.SS "Global hash info table" +There's no problem with using the same key for several purposes, as long +as it's secret from all of your adversaries. Therefore, there is a +global +.B unihash_info +table define, called +.BR unihash_global . +This initially contains information for a fixed key which the author +chose at random, but if you need to you can set a different key into it +.I before +it gets used to hash any data (otherwise your hash tables will become +messed up). .SS "Theoretical issues" The hash function implemented by .B unihash @@ -176,7 +190,8 @@ dependent on any unproven assumptions (unlike many `proofs' of cryptographic security, which actually reduce the security of some construction to the security of its components). It's just a fact. .SH SEE ALSO +.BR unihash-mkstatic (3), .BR crc32 (3), .BR mLib (3). .SH AUTHOR -Mark Wooding (mdw@nsict.org). +Mark Wooding (mdw@distorted.org.uk).