lsd0003

LSD0003: Set Union
Log | Files | Refs | README

commit 742bf01c76d84610f254f09c2b4f564275236998
parent 0ee6d56638928879c19d313fc20d9839d6b90fcb
Author: Elias Summermatter <elias.summermatter@seccom.ch>
Date:   Thu, 10 Jun 2021 12:34:54 +0200

Corrected some more gramar stuff

Diffstat:
Mdraft-summermatter-set-union.pdf | 0
Mdraft-summermatter-set-union.xml | 60++++++++++++++++++++++++++++++------------------------------
2 files changed, 30 insertions(+), 30 deletions(-)

diff --git a/draft-summermatter-set-union.pdf b/draft-summermatter-set-union.pdf Binary files differ. diff --git a/draft-summermatter-set-union.xml b/draft-summermatter-set-union.xml @@ -1152,7 +1152,7 @@ FUNCTION get_bucket_id (key, number_of_buckets_per_element, ibf_size) <dl> <dt>MSG SIZE</dt> <dd> - is a 16-bit unsigned integer in network byte order which describes the message size in bytes and header included. + is a 16-bit unsigned integer in network byte order, which describes the message size in bytes and header included. </dd> <dt>MSG TYPE</dt> <dd> @@ -1219,7 +1219,7 @@ FUNCTION get_bucket_id (key, number_of_buckets_per_element, ibf_size) </dd> <dt>IMCS</dt> <dd> - IBF max counter size is a 8-bit unsigned integer which describes the number of bit that + IBF max counter size is a 8-bit unsigned integer, which describes the number of bit that is required to store a single counter. This is used for the unpacking function as described in the <xref target="performance_counter_variable_size" format="title" /> section. </dd> @@ -1344,7 +1344,7 @@ FUNCTION get_bucket_id (key, number_of_buckets_per_element, ibf_size) <dl> <dt>MSG SIZE</dt> <dd> - is a 16-bit unsigned integer in network byte order which describes the message size in bytes and header included. + is a 16-bit unsigned integer in network byte order, which describes the message size in bytes and header included. </dd> <dt>MSG TYPE</dt> <dd> @@ -1411,7 +1411,7 @@ FUNCTION get_bucket_id (key, number_of_buckets_per_element, ibf_size) <dl> <dt>MSG SIZE</dt> <dd> - is a 16-bit unsigned integer in network byte order which describes the message size in bytes header included. + is a 16-bit unsigned integer in network byte order, which describes the message size in bytes header included. </dd> <dt>MSG TYPE</dt> <dd> @@ -1456,7 +1456,7 @@ FUNCTION get_bucket_id (key, number_of_buckets_per_element, ibf_size) <dl> <dt>MSG SIZE</dt> <dd> - is a 16-bit unsigned integer in network byte order which describes the message size in bytes and header included. + is a 16-bit unsigned integer in network byte order, which describes the message size in bytes and header included. </dd> <dt>MSG TYPE</dt> <dd> @@ -1502,7 +1502,7 @@ FUNCTION get_bucket_id (key, number_of_buckets_per_element, ibf_size) <dl> <dt>MSG SIZE</dt> <dd> - is a 16-bit unsigned integer in network byte order which describes the message size in bytes and the header is included. + is a 16-bit unsigned integer in network byte order, which describes the message size in bytes and the header is included. </dd> <dt>MSG TYPE</dt> <dd> @@ -1544,7 +1544,7 @@ FUNCTION get_bucket_id (key, number_of_buckets_per_element, ibf_size) <dl> <dt>MSG SIZE</dt> <dd> - is a 16-bit unsigned integer in network byte order which describes the message size in bytes and header included. + is a 16-bit unsigned integer in network byte order, which describes the message size in bytes and header included. </dd> <dt>MSG TYPE</dt> <dd> @@ -1582,7 +1582,7 @@ FUNCTION get_bucket_id (key, number_of_buckets_per_element, ibf_size) <dl> <dt>MSG SIZE</dt> <dd> - is a 16-bit unsigned integer in network byte order which describes the message size in bytes and header included. + is a 16-bit unsigned integer in network byte order, which describes the message size in bytes and header included. </dd> <dt>MSG TYPE</dt> <dd> @@ -1625,7 +1625,7 @@ FUNCTION get_bucket_id (key, number_of_buckets_per_element, ibf_size) <dl> <dt>MSG SIZE</dt> <dd> - is a 16-bit unsigned integer in network byte order which describes the message size in bytes and header included. + is a 16-bit unsigned integer in network byte order, which describes the message size in bytes and header included. </dd> <dt>MSG TYPE</dt> <dd> @@ -1633,17 +1633,17 @@ FUNCTION get_bucket_id (key, number_of_buckets_per_element, ibf_size) </dd> <dt>REMOTE SET DIFF</dt> <dd> - is a 32-bit unsigned integer in network byte order which represents the remote (from the perspective of the + is a 32-bit unsigned integer in network byte order, which represents the remote (from the perspective of the sending peer) set difference calculated with strata estimator. </dd> <dt>REMOTE SET SIZE</dt> <dd> - is a 32-bit unsigned integer in network byte order which represents the total remote + is a 32-bit unsigned integer in network byte order, which represents the total remote (from the perspective of the sending peer) set size. </dd> <dt>LOCAL SET DIFF</dt> <dd> - is a 32-bit unsigned integer in network byte order which represents the local + is a 32-bit unsigned integer in network byte order, which represents the local (from the perspective of the sending peer) set difference calculated with strata estimator. </dd> </dl> @@ -1684,7 +1684,7 @@ FUNCTION get_bucket_id (key, number_of_buckets_per_element, ibf_size) <dl> <dt>MSG SIZE</dt> <dd> - is a 16-bit unsigned integer in network byte order which describes the message size in bytes and header included. + is a 16-bit unsigned integer in network byte order, which describes the message size in bytes and header included. </dd> <dt>MSG TYPE</dt> <dd> @@ -1692,17 +1692,17 @@ FUNCTION get_bucket_id (key, number_of_buckets_per_element, ibf_size) </dd> <dt>REMOTE SET DIFF</dt> <dd> - is a 32-bit unsigned integer in network byte order which represents the remote (from the perspective of the sending peer) + is a 32-bit unsigned integer in network byte order, which represents the remote (from the perspective of the sending peer) set difference calculated with strata estimator. </dd> <dt>REMOTE SET SIZE</dt> <dd> - is a 32-bit unsigned integer in network byte order which represents the total remote (from the perspective + is a 32-bit unsigned integer in network byte order, which represents the total remote (from the perspective of the sending peer) set size. </dd> <dt>LOCAL SET DIFF</dt> <dd> - is a 32-bit unsigned integer in network byte order which represents the local (from the perspective of the sending peer) + is a 32-bit unsigned integer in network byte order, which represents the local (from the perspective of the sending peer) set difference calculated with strata estimator. </dd> </dl> @@ -1723,7 +1723,7 @@ FUNCTION get_bucket_id (key, number_of_buckets_per_element, ibf_size) The strata estimator is used to estimate the difference between the two sets as described in section <xref target="se" format="counter" />. </t> <t> - When the initiating peer receives the strata estimator the peer decides which <xref target="modeofoperation" format="title" /> to use + When the initiating peer receives the strata estimator, the peer decides which <xref target="modeofoperation" format="title" /> to use for the synchronisation. Depending on the size of the set difference and the <xref target="modeofoperation" format="title" /> the initiating peer changes into <strong>Full Sending</strong>, <strong>Full Receiving</strong> or <strong>Passive Decoding</strong> state. </t> @@ -1753,7 +1753,7 @@ FUNCTION get_bucket_id (key, number_of_buckets_per_element, ibf_size) <dl> <dt>MSG SIZE</dt> <dd> - is a 16-bit unsigned integer in network byte order which describes the message size in bytes and header included. + is a 16-bit unsigned integer in network byte order, which describes the message size in bytes and header included. </dd> <dt>MSG TYPE</dt> <dd> @@ -1761,7 +1761,7 @@ FUNCTION get_bucket_id (key, number_of_buckets_per_element, ibf_size) </dd> <dt>SEC</dt> <dd> - is a 8-bit unsigned integer in network byte order which indicates how many strata estimators + is a 8-bit unsigned integer in networkf byte order, which indicates how many strata estimators with different salts are attached to the message. Valid values are 1,2,4 or 8, more details can be found in the section <xref target="performance_multi_se" format="title" />. </dd> @@ -1788,7 +1788,7 @@ FUNCTION get_bucket_id (key, number_of_buckets_per_element, ibf_size) </t> <t> Since the content of the message is the same as the uncompressed Strata Estimator, the details - are not repeated here for details see section <xref target="messages_se" format="counter" />. + are not repeated here. For details see section <xref target="messages_se" format="counter" />. </t> </section> </section> @@ -1810,7 +1810,7 @@ FUNCTION get_bucket_id (key, number_of_buckets_per_element, ibf_size) <strong>Full Receiving</strong> state. </t> <t> - After the last <em><xref target="messages_full_element" format="title" /></em> message has been sent the <em><xref target="messages_full_done" format="title" /></em> message + After the last <em><xref target="messages_full_element" format="title" /></em> message has been sent, the <em><xref target="messages_full_done" format="title" /></em> message is sent to conclude the full synchronisation of the element sending peer. </t> </section> @@ -1832,7 +1832,7 @@ FUNCTION get_bucket_id (key, number_of_buckets_per_element, ibf_size) <dl> <dt>MSG SIZE</dt> <dd> - is a 16-bit unsigned integer in network byte order which describes the message size in bytes and header included. + is a 16-bit unsigned integer in network byte order, which describes the message size in bytes and header included. </dd> <dt>MSG TYPE</dt> <dd> @@ -1982,8 +1982,8 @@ FUNCTION decide_operation_mode(avg_element_size, <section anchor="performance_formula_ibf_parameters" numbered="true" toc="default"> <name>IBF Size</name> <t> - The functions, described in this section, calculate the initial size (initial_ibf_size) optimal size - and in case of decoding failure the next bigger IBF size (get_next_ibf_size). + The functions, described in this section, calculate the optimal initial size (initial_ibf_size) + and in case of decoding failure, the optimal next bigger IBF size (get_next_ibf_size). </t> <t> These algorithms are described and justified in more details in the following work @@ -2018,7 +2018,7 @@ FUNCTION END </figure> </section> <section anchor="performance_num_buck_hash" numbered="true" toc="default"> - <name>Number of buckets an element is hashed into</name> + <name>Number of Buckets an Element is Hashed into</name> <t> The number of buckets an element is hashed to is hardcoded to 3. Reasoning and justification can be found in the following work @@ -2039,7 +2039,7 @@ FUNCTION END <t> A simple algorithm is used for the compression. In a first step it is determined, which is the largest counter and how many bits are needed to store it. In a second step for every counter of every bucket, the counter - is stored in the bits determined in the first step and these are concatenated. + is stored in the bit length, determined in the first step and these are concatenated. </t> <t> Three individual functions are used for this purpose. The first one is a function that iterates over each bucket of @@ -2177,7 +2177,7 @@ FUNCTION unpack_counter(ibf, offset, count, counter_bit_length, packed_data) <section anchor="performance_multi_se" numbered="true" toc="default"> <name>Multi Strata Estimators</name> <t> - In order to improve the precision of the estimates, not only one strata estimator + In order to improve the precision of the estimates not only one strata estimator is transmitted for larger sets. One, two, four or eight strata estimators can be transferred. Transmitting multiple strata estimators has the disadvantage that additional bandwidth will be used, so despite the higher precision, it is not @@ -2237,7 +2237,7 @@ FUNCTION se_key_salting(value, salt) To prevent denial of service attacks, it is vital to check that peers can only reconcile a set once in a predefined time span. This is a predefined value and needs to be adapted per use basis. To enhance reliability and to allow - failures in the protocol, it is possible to introduce a threshold for max failed reconciliation + failed decoding attempts in the protocol, it is possible to introduce a threshold for max failed reconciliation ties. </t> <t> @@ -2268,7 +2268,7 @@ FUNCTION se_key_salting(value, salt) <section anchor="security_generic_functions_check_byzantine_boundaries" numbered="true" toc="default"> <name>Byzantine Boundaries</name> <t> - To restrict an attacker there should be an upper and lower bound defined and check + To restrict an attacker there should be an upper and lower bound defined and checked at the beginning of the protocol, based on prior knowledge, for the number of elements. The lower byzantine bound can be, for example, the number of elements the @@ -2344,7 +2344,7 @@ FUNCTION END <section anchor="security_generic_functions_mfc" numbered="true" toc="default"> <name>Message Flow Control</name> <t> - For most messages received and sent there needs be a check in place that checks + For most messages received and sent there needs to be a check in place that checks that a message is not received multiple times. This is solved with a global store (message) and the following code </t>