lsd0001

LSD0001: GNU Name System
Log | Files | Refs | README

commit b60c26d85474c6881a790563be5e40dfdf588ded
parent 5f177e79dd6bb25109cedcd5ffdd914c1983e9b3
Author: Martin Schanzenbach <mschanzenbach@posteo.de>
Date:   Fri,  4 Sep 2020 23:48:03 +0200

cleanup

Diffstat:
Mdraft-schanzen-gns.xml | 120++++++++++++++++++++++++++++---------------------------------------------------
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.: + "&lt;zname&gt;-&lt;encode(zk)&gt;" </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