(index ("make-siphash" 0) ("siphash-2-4" 417) ("siphash-2-4" 417) ("siphash-4-8" 417) ("siphash-4-8" 417))
(def (sig (procedure "(make-siphash c d) => procedure" (id make-siphash))) (p (tt "make-siphash") " constructs a hashing function.") (p "It takes two positive integer arguments " (tt "c") " and " (tt "d") " and returns a hashing procedure with that many compression and finalization rounds, respectively.") (p "The returned procedure's signature matches those of " (tt "siphash-2-4") " and " (tt "siphash-4-8") "."))
(def (sig (procedure "(siphash-2-4 key) => (procedure message) => integer" (id siphash-2-4)) (procedure "(siphash-2-4 key message) => integer" (id siphash-2-4)) (procedure "(siphash-4-8 key) => (procedure message) => integer" (id siphash-4-8)) (procedure "(siphash-4-8 key message) => integer" (id siphash-4-8))) (p (tt "siphash-2-4") " and " (tt "siphash-4-8") " are predefined hashing procedures.") (p "Each takes one or two SRFI-4 u8vector arguments, the key and message to hash, and returns a positive integer. " (tt "key") " should have a length of 16, while " (tt "message") " may be any length. If " (tt "message") " isn't given, a prekeyed hashing function is returned.") (p "The SipHash specification recommends SipHash-2-4 for performance and SipHash-4-8 for cryptographic security."))
