lsd0001

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

commit 782e062c67eb19ee05dc2bb0b6c52996743e8d79
parent 28f6a1342a9e34b943ca2d6cf2f7862ff577a41e
Author: Martin Schanzenbach <schanzen@gnunet.org>
Date:   Wed,  9 Feb 2022 13:52:49 +0100

minor

Diffstat:
Mdraft-schanzen-gns.xml | 102+++++++++++++++++++++++++++++++++++++++++++++----------------------------------
1 file changed, 58 insertions(+), 44 deletions(-)

diff --git a/draft-schanzen-gns.xml b/draft-schanzen-gns.xml @@ -452,56 +452,16 @@ namespace in the process of name resolution. To encode the zone key, a zone key label zkl is derived from a concatenation of the zone type and zone key (see <xref target="figure_zid"/>). - The result is encoded using a variation of the Crockford Base32 encoding <xref target="CrockfordB32"/>. + The result is encoded using a variation of the Crockford Base32 encoding <xref target="CrockfordB32"/> + called Base32GNS. In order to further increase tolerance for failures in character recognition, the letter "U" MUST be decoded to the same Base32 value as the - letter "V". - The encoding and decoding symbols for Crockford Base32 including this modification are defined in + letter "V" in Base32GNS. + The encoding and decoding symbols for Base32GNS including this modification are defined in <xref target="CrockfordB32Encode"/>. The functions for encoding and decoding based on this table are called Base32GNS-Encode and Base32GNS-Decode, respectively. </t> - <figure anchor="CrockfordB32Encode"> - <artwork name="" type="" align="left" alt=""><![CDATA[ -Symbol Decode Encode -Value Symbol Symbol -0 0 O o 0 -1 1 I i L l 1 -2 2 2 -3 3 3 -4 4 4 -5 5 5 -6 6 6 -7 7 7 -8 8 8 -9 9 9 -10 A a A -11 B b B -12 C c C -13 D d D -14 E e E -15 F f F -16 G g G -17 H h H -18 J j J -19 K k K -20 M m M -21 N n N -22 P p P -23 Q q Q -24 R r R -25 S s S -26 T t T -27 V v U u V -28 W w W -29 X x X -30 Y y Y -31 Z z Z - ]]></artwork> - </figure> - <t> - The Base32GNS Alphabet Including the Additional U Encode Symbol. - </t> <t> For the string representation of a zTLD we define: </t> @@ -2945,6 +2905,60 @@ Purpose | Name | References | Comment </references> <section> + <name>Base32GNS</name> + <t> + This table defines the encode symbol and decode symbol for a given + symbol value. + It can be used to implement the encoding by reading it as: + A character "A" or "a" it is decoded to the value 10 when decoding. + A 5 bit block with a value of 18 is encoded to the character "J" when encoding. + If the bit length of the byte string to encode is not a multiple of 5 + it is padded to the next multiple with zeros. + </t> + <figure anchor="CrockfordB32Encode"> + <artwork name="" type="" align="left" alt=""><![CDATA[ +Symbol Decode Encode +Value Symbol Symbol +0 0 O o 0 +1 1 I i L l 1 +2 2 2 +3 3 3 +4 4 4 +5 5 5 +6 6 6 +7 7 7 +8 8 8 +9 9 9 +10 A a A +11 B b B +12 C c C +13 D d D +14 E e E +15 F f F +16 G g G +17 H h H +18 J j J +19 K k K +20 M m M +21 N n N +22 P p P +23 Q q Q +24 R r R +25 S s S +26 T t T +27 V v U u V +28 W w W +29 X x X +30 Y y Y +31 Z z Z + ]]></artwork> + </figure> + <t> + The Base32GNS Alphabet Including the Additional U Encode Symbol. + </t> + + </section> + <section> <name>Test Vectors</name> <t> The following are test vectors for the Base32 variation of a