From 0918a216074d31dbce3e743e29b491abea66153e Mon Sep 17 00:00:00 2001 From: Elias Summermatter Date: Thu, 21 Jan 2021 15:52:39 +0100 Subject: Added some more --- draft-summermatter-set-union.xml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/draft-summermatter-set-union.xml b/draft-summermatter-set-union.xml index 096ae56..869596c 100644 --- a/draft-summermatter-set-union.xml +++ b/draft-summermatter-set-union.xml @@ -1161,14 +1161,14 @@ hashSum | 0x0101 | 0x0101 | 0x5050 | 0000 | 32768 divided by the BUCKET_SIZE which is 13-byte (104-bit). - The ID is generated as 64-bit value..... . Finally the ID is salted to enable - modification of the given IBF key based on the salt this can be done in case the IBF does not - successfully decode to new distribute the elements to the buckets. Salting is done by calculation the - salt modulo 64 (using only the lowest 6-bits of the salt) and do a bitwise right rotation - of the ID by the 6-bit salts numeric representation. + The ID is generated as 64-bit output form a KDF (HMAC-SHA512 as XTR and HMAC-SHA256 as PRF, + the output from SHA-512 is then truncated to 64 bits, salt of the KDF is always set to = 0). + Its important that the elements can be redistributed over the buckets in case the IBF does not + decode, that's why the ID is salted with a random salt given in the SALT field of this message. + Salting is done by calculation the a random salt modulo 64 (using only the lowest 6-bits of the salt) + and do a bitwise right rotation of output of KDF by the 6-bit salts numeric representation. - The HASH is calculated by calculating the CRC32 checksum of the 64-bit ID value which returns a 32-bit value. This is calculated modulo the count of buckets to ensure that it is a valid bucket index. Create a new 64-bit value by shifting the 32-bit -- cgit v1.2.3