X-Git-Url: https://git.distorted.org.uk/~mdw/mLib/blobdiff_plain/18756bee6a2b8aa06f001bce6843bce5b2dfb0b0..6f444bda1b7deb31cf7fb2395cb0993c3e3b8c42:/man/unihash.3 diff --git a/man/unihash.3 b/man/unihash.3 index 49ef2e0..ddfb227 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,6 +190,7 @@ 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