commit 782e062c67eb19ee05dc2bb0b6c52996743e8d79
parent 28f6a1342a9e34b943ca2d6cf2f7862ff577a41e
Author: Martin Schanzenbach <schanzen@gnunet.org>
Date: Wed, 9 Feb 2022 13:52:49 +0100
minor
Diffstat:
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