commit bdd3677220dc6a2d10fd7e4fc0184a525d33cb7e parent f0d8b954dc034d638b3ddfd8b1736f3c982c64f3 Author: Elias Summermatter <elias.summermatter@seccom.ch> Date: Wed, 20 Jan 2021 22:34:56 +0100 Tried to add some more text... Diffstat:
| M | draft-summermatter-set-union.xml | | | 16 | +++++++++++----- |
1 file changed, 11 insertions(+), 5 deletions(-)
diff --git a/draft-summermatter-set-union.xml b/draft-summermatter-set-union.xml @@ -1161,14 +1161,20 @@ hashSum | 0x0101 | 0x0101 | 0x5050 | 0000 | 32768 divided by the BUCKET_SIZE which is 13-byte (104-bit). </t> <t> - The IDSUMS is generated as 64 bit value..... . Finally the IDSUMS is salted to enable - modification of the given IBF key based on the salt. Salting is done by taking the - salt modulo 64 (using the lowest 6 bits of the salt) and do a rotate + 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. </t> <t> - The HASHSUMS is calculated as a standard CRC32 check sum from - the key of the element. + 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 + value left and setting the lower 32-bit.... + + <!-- @Christian: I dont have a clue how this is done... The code is very hard to read can you explain the salt_key function in gnunet-service-set_union.c file