From a30ac325dc647adbe674eb32cd15fff9f04d1ad0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pascal=20Eng=C3=A9libert?= <tuxmain@zettascript.org> Date: Wed, 5 May 2021 13:54:31 +0000 Subject: [PATCH] unsigned-varint for prefix, change message type codes --- rfc/0017_transaction_comment_encryption.md | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/rfc/0017_transaction_comment_encryption.md b/rfc/0017_transaction_comment_encryption.md index d57d9d9..39d4041 100644 --- a/rfc/0017_transaction_comment_encryption.md +++ b/rfc/0017_transaction_comment_encryption.md @@ -32,24 +32,24 @@ Encrypt bit per bit with XOR cipher. ## Serialize encrypted message with meta data -| Prefix | Message type | Message length | Nonce | Encrypted message | Padding | -|:-------:|:------------:|:--------------:|:--------:|:-----------------:|:--------------------------:| -| 2 bytes | 1 byte | 1 byte | 12 bytes | Any bytes | `Message length % 4` bytes | +| Prefix | Message type | Message length | Nonce | Encrypted message | Padding | +|:------:|:------------:|:--------------:|:--------:|:-----------------:|:--------------------------------:| +| 1 byte | 1 byte | 1 byte | 12 bytes | Any bytes | `(1 - Message length) % 4` bytes | The padding is used so that the quantity of bytes to be serialized is always a multiple of 4. This is necessary for the encoding in base z85. ### Prefix -A constant value that indicates the type of format. For the present format defined in this RFC, the prefix is `0x0100`. A possible future new format should choose a different prefix. This prefix can also be incremented for a future version of the present format. +A constant value that indicates the type of format. For the present format defined in this RFC, the prefix is _1_ in [unsigned-varint] format, i.e. `0x01`. A possible future new format should choose a different prefix. This prefix can also be incremented for a future version of the present format. Due to [unsigned-varint], the prefix may be longer in future versions. ### Message type -| Code | Significance | -|:----:|:--------------------------------:| -| 0x00 | Write by a human for a human | -| 0x01 | Write by a human for a machine | -| 0x10 | Write by a machine for a human | -| 0x11 | Write by a machine for a machine | +| Code | Significance | +|:----:|:---------------------------------:| +| 0x00 | Written by a human to a human | +| 0x01 | Written by a human to a machine | +| 0x02 | Written by a machine to a human | +| 0x03 | Written by a machine to a machine | ## Encodinq in transaction document @@ -59,4 +59,5 @@ DUBP protocol accept all [base z85] characters except `$`. We replace `$` by `_` [base z85]: https://rfc.zeromq.org/spec/32/ [crypto_box_beforenm]: https://nacl.cr.yp.to/box.html +[unsigned-varint]: https://github.com/multiformats/unsigned-varint [XOR cipher]: https://en.wikipedia.org/wiki/XOR_cipher -- GitLab