lsd0013

LSD0013: The donau:// scheme
Log | Files | Refs

commit c6f7f99afac1ea174f4d4935dfbf3362fe9af066
parent 23fcffb83cb7b139ac7ca0f1364625dbe8c757ce
Author: Emmanuel Benoist <emmanuel.benoist@bfh.ch>
Date:   Wed,  2 Jul 2025 10:48:08 +0200

adding the verification

Diffstat:
Mdraft-donau.xml | 77+++++++++++++++++++++++++++++++++++++++++++++++++++++------------------------
1 file changed, 53 insertions(+), 24 deletions(-)

diff --git a/draft-donau.xml b/draft-donau.xml @@ -351,15 +351,44 @@ Example of an element of USD 100.00 : </t> </section> +<section anchor="signature" title="Signature of the donation statement "> + <t> + The server signing the donation statement <bcp14>MUST</bcp14> use the Sign(d,message) procedure implemented as defined in <xref target="RFC8032" />. + </t> + <figure anchor="figure_signature_data" title="The binary representation of the data to sign"> + <artwork name="" type="" align="left" alt=""><![CDATA[ +0 8 16 24 32 40 48 56 ++-----+-----+-----+-----+-----+-----+-----+-----+ +| number 1500 / ++-----+-----+-----+-----+-----+-----+-----+-----+ +/ size of the confirmation / ++-----+-----+-----+-----+-----+-----+-----+-----+ +/ Year / ++-----+-----+-----+-----+-----+-----+-----+-----+ +/ SHA256 of the donor ID / +/ / +/ / +/ / ++-----+-----+-----+-----+-----+-----+-----+-----+ + +]]></artwork> + </figure> -<section anchor="signature-verification" title="Signature verification"> + +</section> +<section anchor="signature-verification" title="Signature verification for a donation statement"> <t> -The signature verification step is taking the json as +The signature verification step is taking the data presented in the figure <xref target="figure_signature_data" /> as input. Signature MUST be verified using the EdDSA scheme described in -<xref target="RFC8032" />. Public key and signature that are given -encoded in Base 32 U Crockford must first be decoded to get a binary +<xref target="RFC8032" /> the procedure is Verify(zk,message,signature). Public key and signature are given +encoded in Base 32 U Crockford MUST first be decoded to get a binary out of it. </t> + <t> + The Sign(d,message) and Verify(zk,message,signature) procedures <bcp14>MUST</bcp14> + be implemented as defined in <xref target="RFC8032" />. + </t> + </section> <section anchor="base32-U-crockford" title="Base 32 representation of @@ -376,16 +405,16 @@ Alphabet. The new alphabet is given in the Table <xref target="figure_base32_enc <figure anchor="figure_base32_encoding" title="The Base 32 Encoding Alphabet."> <artwork name="" type="" align="left" alt="table where value beween 0 and 9 are encoded with the character corresponding to the number. Then between 10 and 31, we have all the letters expect I, L, O, U that could be missleading (OCR may not recognize them properly). Pading is the char ="><![CDATA[ - Value Encoding Value Encoding Value Encoding Value Encoding - 0 0 9 9 18 J 27 V - 1 1 10 A 19 K 28 W - 2 2 11 B 20 M 29 X - 3 3 12 C 21 N 30 Y - 4 4 13 D 22 P 31 Z - 5 5 14 E 23 Q - 6 6 15 F 24 R (pad) = - 7 7 16 G 25 S - 8 8 17 H 26 T +Value Encoding Value Encoding Value Encoding Value Encoding + 0 0 9 9 18 J 27 V + 1 1 10 A 19 K 28 W + 2 2 11 B 20 M 29 X + 3 3 12 C 21 N 30 Y + 4 4 13 D 22 P 31 Z + 5 5 14 E 23 Q + 6 6 15 F 24 R (pad) = + 7 7 16 G 25 S + 8 8 17 H 26 T ]]> </artwork> @@ -399,16 +428,16 @@ MUST evaluate it as a V. <figure anchor="figure_base32_decoding" title="The Base 32 Decoding Alphabet."> <artwork name="" type="" align="left" alt=""><![CDATA[ - Value Encoding Value Encoding Value Encoding Value Encoding - 0 0 9 9 18 J|j 27 V|v|u|U - 1 1|i|I|l|L 10 A|a 19 K|k 28 W|w - 2 2 11 B|b 20 M|m 29 X|x - 3 3 12 C|c 21 N|n 30 Y|y - 4 4 13 D|d 22 P|p 31 Z|z - 5 5 14 E|e 23 Q|q - 6 6 15 F|f 24 R|r (pad) = - 7 7 16 G|g 25 S|s - 8 8 17 H|h 26 T|t +Value Encoding Value Encoding Value Encoding Value Encoding + 0 0 9 9 18 J|j 27 V|v|u|U + 1 1|i|I|l|L 10 A|a 19 K|k 28 W|w + 2 2 11 B|b 20 M|m 29 X|x + 3 3 12 C|c 21 N|n 30 Y|y + 4 4 13 D|d 22 P|p 31 Z|z + 5 5 14 E|e 23 Q|q + 6 6 15 F|f 24 R|r (pad) = + 7 7 16 G|g 25 S|s + 8 8 17 H|h 26 T|t ]]></artwork> </figure>