|
|
|
|
|
by _prometheus
3395 days ago
|
|
See https://news.ycombinator.com/item?id=13740369 -- does that make sense? the idea is to treat those parameters as "part of the hash digest value", and write wrappers for siphash and functions like it, s.t.: mh_siphash_digest(input, length, rounds) {
digest := siphash_digest(input, length, rounds)
mhdigest := concat(rounds, digest)
return mhdigest
}
mh_siphash_verify(input, mhdigest) {
mh := multihash.parse(mhdigest)
rounds := mh.digest[0] # the rounds
expected := mh.digest[1:] # rest
actual := siphash_digest(input, mh.length, rounds)
return expected == actual
}
|
|