commit b60c26d85474c6881a790563be5e40dfdf588ded
parent 5f177e79dd6bb25109cedcd5ffdd914c1983e9b3
Author: Martin Schanzenbach <mschanzenbach@posteo.de>
Date: Fri, 4 Sep 2020 23:48:03 +0200
cleanup
Diffstat:
1 file changed, 43 insertions(+), 77 deletions(-)
diff --git a/draft-schanzen-gns.xml b/draft-schanzen-gns.xml
@@ -146,8 +146,7 @@
label.
</t>
<t>
- In this document, we use the following naming convention for our
- cryptographic primitives:
+ The following primitives define a zone in GNS:
</t>
<dl>
<dt>d</dt>
@@ -158,87 +157,46 @@
<dd>
is the public zone key.
</dd>
- <dt>label</dt>
+ <dt>zid</dt>
<dd>
- is a string under which resource records of a zone are published.
+ is the unique identitfier of the zone type as registered in
+ GANA.
</dd>
- </dl>
- <!-- FIXME: We probably want to define more things here such as
- how zone types are registered and identified ? -->
- <t>
- GNS is extensible with respect to the cryptographic scheme used.
- Any zone type must define a function to represent the
- public zone key zk as a label:
- </t>
- <artwork name="" type="" align="left" alt=""><![CDATA[
-GNS-Label(zk) -> zkl
- ]]></artwork>
- <t>
- where:
- </t>
- <dl>
- <dt>zk</dt>
- <dd>
- Is the public zone key input.
- </dd>
- <dt>zkl</dt>
- <dd>
- Is the label representation of zk. It consists of a string prefix
- which uniquely defines the zone type followed by a zone
- type specific string encoding of the public key. The two
- components are concatenated using the character "-". For example:
- "pkey-J9V7TM98P5T3ADC2PH5WPYFHZ9ZXHFBE5FGMMNYV5HSJ0N5GHDD0"
- </dd>
- </dl>
- <t>
- We define that for any type of zone key material the function
- "HDKD-Private" must be defined as:
- </t>
- <artwork name="" type="" align="left" alt=""><![CDATA[
-HDKD-Private(d, label) -> d'
- ]]></artwork>
- <t>
- where:
- </t>
- <dl>
- <dt>d</dt>
- <dd>
- Is the private zone key input.
- </dd>
- <dt>label</dt>
- <dd>
- Is the resource record label.
- </dd>
- <dt>d'</dt>
+ <dt>zname</dt>
<dd>
- Is the derived (blinded) private zone key.
+ is a string representation of the zone type as registered in
+ GANA.
</dd>
- </dl>
- <t>
- Correspondingly, the function "HDKD-Public" must be defined as:
- </t>
- <artwork name="" type="" align="left" alt=""><![CDATA[
-HDKD-Public(zk, label) -> zk'
- ]]></artwork>
- <t>
- where:
- </t>
- <dl>
- <dt>zk</dt>
+ <dt>HDKD-Private(d) -> d'</dt>
<dd>
- Is the public zone key input.
+ is an HDKD function which blinds a private zone key of the
+ respective type.
</dd>
- <dt>label</dt>
+ <dt>HDKD-Public(zk) -> zk'</dt>
<dd>
- Is the resource record label.
+ is a HDKD function which blinds a public zone key "zk" of the
+ respective type.
</dd>
- <dt>zk'</dt>
+ <dt>GNS-Label(zk) -> zkl</dt>
<dd>
- Is the derived (blinded) public zone key.
+ is a function which defines a mapping from zone public key to
+ a string "zkl" of the respective type.
+ It is string which consists of a prefix
+ that uniquely defines the zone type followed by a zone
+ type specific string encoding of the public key, e.g.:
+ "<zname>-<encode(zk)>"
</dd>
</dl>
+ <!-- FIXME: We probably want to define more things here such as
+ how zone types are registered and identified ? -->
<section anchor="zone_types" numbered="true" toc="default">
<name>Zone Types</name>
+ <t>
+ In the following, we define two instantiations of GNS
+ zone types with different cryptographic primitives.
+ Additional zone types may be defined in the future and require
+ registration in the GANA zone type registry.
+ </t>
<section anchor="zone_type_pkey" numbered="true" toc="default">
<name>PKEY Zone</name>
<t>
@@ -254,6 +212,21 @@ HDKD-Public(zk, label) -> zk'
<dd>
is a 256-bit ECDSA private zone key.
</dd>
+ <dt>zk</dt>
+ <dd>
+ is the ECDSA public zone key corresponding to d. It is defined in
+ <xref target="RFC6979" /> as the curve point d*B where B is the group
+ generator of the elliptic curve. The public key is used to uniquely
+ identify a GNS zone and is referred to as the "zone key".
+ </dd>
+ <dt>zid</dt>
+ <dd>
+ is registered with the value "0" in GANA.
+ </dd>
+ <dt>zname</dt>
+ <dd>
+ is registered with the string "pkey" in GANA.
+ </dd>
<dt>p</dt>
<dd>
is the prime of edwards25519 as defined in <xref target="RFC7748" />, i.e.
@@ -268,13 +241,6 @@ HDKD-Public(zk, label) -> zk'
<dd>
is the prime-order subgroup of edwards25519 in <xref target="RFC7748" />.
</dd>
- <dt>zk</dt>
- <dd>
- is the ECDSA public zone key corresponding to d. It is defined in
- <xref target="RFC6979" /> as the curve point d*B where B is the group
- generator of the elliptic curve. The public key is used to uniquely
- identify a GNS zone and is referred to as the "zone key".
- </dd>
</dl>
<t>
Given a label, the output of the HDKD-Private function for zone