gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[lsd0001] 04/05: pow


From: gnunet
Subject: [lsd0001] 04/05: pow
Date: Wed, 16 Feb 2022 21:42:43 +0100

This is an automated email from the git hooks/post-receive script.

martin-schanzenbach pushed a commit to branch master
in repository lsd0001.

commit f8411eeb01cae6314bd89276e9c1867e0bec1f1e
Author: Martin Schanzenbach <schanzen@gnunet.org>
AuthorDate: Wed Feb 16 20:42:15 2022 +0100

    pow
---
 draft-schanzen-gns.xml | 63 ++++++++++++++++++++++++++++----------------------
 1 file changed, 35 insertions(+), 28 deletions(-)

diff --git a/draft-schanzen-gns.xml b/draft-schanzen-gns.xml
index 3e70da3..6c37d4f 100644
--- a/draft-schanzen-gns.xml
+++ b/draft-schanzen-gns.xml
@@ -650,12 +650,20 @@ zTLD := zkl[126..129].zkl[63..125].zkl[0..62]
          <dt>TTL</dt>
          <dd>
            denotes the relative 64-bit time to live of the record in
-           microseconds also in network byte order. This field is informational
-           for a verifier. A verifier MAY discard a revocation without
+           microseconds also in network byte order.
+           The field SHOULD be set to EPOCH * 1.1.
+           If the average number of leading zeros D' is larger than
+           D, then the field value MAY be increased up to
+           (D'-D) * EPOCH * 1.1.
+           The EPOCH is extended by
+           10% in order to deal with unsynchronized clocks.
+           This field is informational for a verifier.
+           A verifier MAY discard a revocation without
            checking the POW values or the signature if the TTL (in combination 
with TIMESTAMP)
-           indicates that the revocation has already expired. However, the 
actual TTL of the
-           revocation must be determined by examining the leading zeroes in the
-           proof of work calculation.
+           indicates that the revocation has already expired.
+           The actual validity period of the
+           revocation MUST be determined by examining the leading zeroes in the
+           POW values.
          </dd>
          <dt>POW_i</dt>
          <dd>
@@ -743,17 +751,18 @@ zTLD := zkl[126..129].zkl[63..125].zkl[0..62]
          <li>The average number of leading zeroes D' resulting from the 
provided
          POW values MUST be greater than and not equal to D.  Implementers
          MUST NOT use an integer data type to calculate or represent D'.</li>
-         <li>The validation period (TTL) of the revocation is calculated as
+       <li>
+           The validity period of the revocation is calculated as
            (D'-D) * EPOCH * 1.1. The EPOCH is extended by
            10% in order to deal with unsynchronized clocks.
-           The TTL added on top of the TIMESTAMP yields the
-         expiration date.
-           Should the verifier calculate the TTL and find that it differs from
-           the field value, the verifier MUST continue and
+           The validity period added on top of the TIMESTAMP yields the
+           expiration date.
+           Should the verifier calculate the validity and find that it differs 
from
+           the TTL field value, the verifier MUST continue and
            use the calculated value when forwarding the revocation.
          </li>
          <li>The current time SHOULD be between TIMESTAMP and
-           TIMESTAMP+TTL. Implementations MAY process the revocation without 
validating this.</li>
+           TIMESTAMP + validity period. Implementations MAY process the 
revocation without validating this.</li>
        </ol>
      </section>
 
@@ -1017,7 +1026,6 @@ VerifyDerived(zk,label,message,signature):
          The S-Encrypt() and S-Decrypt() functions use AES in counter mode
          as defined in <xref target="MODES" /> (CTR-AES-256):
        </t>
-       <figure anchor="figure_senc_pkey" title="The PKEY S-Encrypt Procedure.">
          <artwork name="" type="" align="left" alt=""><![CDATA[
 S-Encrypt(zk,label,expiration,plaintext):
   PRK_k := HKDF-Extract ("gns-aes-ctx-key", zk)
@@ -1026,10 +1034,7 @@ S-Encrypt(zk,label,expiration,plaintext):
   NONCE := HKDF-Expand (PRK_n, label, 32 / 8)
   IV := NONCE || expiration || 0x0000000000000001
   return CTR-AES256(K, IV, plaintext)
-           ]]></artwork>
-       </figure>
-       <figure anchor="figure_sdec_pkey" title="The PKEY S-Decrypt Procedure.">
-         <artwork name="" type="" align="left" alt=""><![CDATA[
+
 S-Decrypt(zk,label,expiration,ciphertext):
   PRK_k := HKDF-Extract ("gns-aes-ctx-key", zk)
   PRK_n := HKDF-Extract ("gns-aes-ctx-iv", zk)
@@ -1038,7 +1043,6 @@ S-Decrypt(zk,label,expiration,ciphertext):
   IV := NONCE || expiration || 0x0000000000000001
   return CTR-AES256(K, IV, ciphertext)
            ]]></artwork>
-       </figure>
        <t>
          The key K and counter IV are derived from
          the record label and the zone key zk using a hash-based key
@@ -1570,7 +1574,7 @@ S-Decrypt(zk,label,expiration,ciphertext):
        <dl>
          <dt>PROTO</dt>
          <dd>
-           the 16-bit protocol number, e.g. 6 for tcp.
+           the 16-bit protocol number, e.g. 6 for TCP.
            Note that values
            below 2^8 are reserved for allocation via IANA <xref 
target="RFC5237" />,
            while values above 2^8 are allocated by the
@@ -1667,7 +1671,7 @@ q := SHA-512 (ZKDF-Public(zk, label))
          supplemental flag set (See <xref target="rrecords"/>).
          The contained resource records are encrypted using a symmetric
          encryption scheme.
-         A GNS implementation publish RRBLOCKs
+         A GNS implementation publishes RRBLOCKs
          in accordance to the properties and recommendations of the underlying
          storage. This may include a periodic refresh operation to ensure the
          availability of the published RRBLOCKs.
@@ -1700,14 +1704,15 @@ q := SHA-512 (ZKDF-Public(zk, label))
        <dl>
          <dt>SIZE</dt>
          <dd>
-           A 32-bit value containing the length of the block.
+           A 32-bit value containing the length of the block in bytes.
+           In network byte order.
            While a 32-bit value is used,
            implementations MAY refuse to publish blocks beyond a certain
            size significantly below 4 GB.
          </dd>
          <dt>ZONE TYPE</dt>
          <dd>
-           is the 32-bit ztype.
+           is the 32-bit ztype. In network byte order.
          </dd>
          <dt>ZONE KEY</dt>
          <dd>
@@ -1981,7 +1986,7 @@ example.com = zk2
        <section anchor="record_processing" numbered="true" toc="default">
          <name>Record Processing</name>
          <t>
-           Record processing occurs once a well-formed block was decrypted.
+           Record processing occurs once a well-formed block has been 
decrypted.
            In record processing, only the valid records obtained are 
considered.
            To filter records by validity, the resolver
            MUST at least check the expiration time and the FLAGS of the
@@ -2295,7 +2300,7 @@ NICK: john (Supplemental)
          <t>
            GNS PKEY zone keys use ECDSA over Ed25519.
            This is an unconventional choice,
-           as ECDSA is usually used with other curves.  However, traditional
+           as ECDSA is usually used with other curves.  However, standardized
            ECDSA curves are problematic for a range of reasons described in
            the Curve25519 and EdDSA papers.  Using EdDSA directly is also
            not possible, as a hash function is used on the private key which
@@ -2425,7 +2430,7 @@ NICK: john (Supplemental)
            Zone administrators are advised to pre-generate zone revocations
            and to securely store the revocation information in case the zone
            key is lost, compromised or replaced in the future.
-           Pre-calculated revocations may become invalid due to expirations
+           Pre-calculated revocations may cease to be valid due to expirations
            or protocol changes such as epoch adjustments.
            Consequently, implementers and users must take precautions in order
            to manage revocations accordingly.
@@ -2529,8 +2534,9 @@ NICK: john (Supplemental)
          as a descriptive comment as defined above.
        </t>
        <t>
-         GANA is requested to populate this registry as listed in
-         <xref target="figure_rrtypenums"/>.
+         GANA has assigned numbers for the record types defined in this
+         specification in the "GNU Name System Record Types" registry
+         as listed in <xref target="figure_rrtypenums"/>.
        </t>
        <figure anchor="figure_rrtypenums" title="The GANA Resource Record 
Registry.">
          <artwork name="" type="" align="left" alt=""><![CDATA[
@@ -2546,8 +2552,9 @@ Number | Name    | Contact | References | Comment
            ]]></artwork>
        </figure>
        <t>
-         GANA is requested to amend the "GNUnet Signature Purpose" registry
-           as illustrated in <xref target="figure_purposenums"/>.
+         GANA has assigned signature purposes in its
+         "GNUnet Signature Purpose" registry as listed in
+         <xref target="figure_purposenums"/>.
        </t>
        <figure anchor="figure_purposenums" title="Requested Changes in the 
GANA GNUnet Signature Purpose Registry.">
          <artwork name="" type="" align="left" alt=""><![CDATA[

-- 
To stop receiving notification emails like this one, please contact
gnunet@gnunet.org.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]