[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[gnunet] branch master updated: GNS: Forgot to add test vector test file
From: |
gnunet |
Subject: |
[gnunet] branch master updated: GNS: Forgot to add test vector test file |
Date: |
Tue, 04 Jul 2023 15:36:19 +0200 |
This is an automated email from the git hooks/post-receive script.
martin-schanzenbach pushed a commit to branch master
in repository gnunet.
The following commit(s) were added to refs/heads/master by this push:
new 5b7f489a7 GNS: Forgot to add test vector test file
5b7f489a7 is described below
commit 5b7f489a7d40fb8565e05c229d1536d059c249cf
Author: Martin Schanzenbach <schanzen@gnunet.org>
AuthorDate: Tue Jul 4 15:36:06 2023 +0200
GNS: Forgot to add test vector test file
---
src/revocation/test_revocation_testvectors.c | 297 +++++++++++++++++++++++++++
1 file changed, 297 insertions(+)
diff --git a/src/revocation/test_revocation_testvectors.c
b/src/revocation/test_revocation_testvectors.c
new file mode 100644
index 000000000..355576fb7
--- /dev/null
+++ b/src/revocation/test_revocation_testvectors.c
@@ -0,0 +1,297 @@
+#include "platform.h"
+#include "gnunet_util_lib.h"
+#include "gnunet_revocation_service.h"
+#include "gnunet_gnsrecord_lib.h"
+#include <inttypes.h>
+
+int res;
+
+struct RevocationTv
+{
+ char *d;
+ char *zid;
+ char *ztld;
+ char *m;
+ char *proof;
+ int diff;
+ int epochs;
+};
+
+struct RevocationTv rtvs[] = {
+ {
+ .d =
+ "6f ea 32 c0 5a f5 8b fa"
+ "97 95 53 d1 88 60 5f d5"
+ "7d 8b f9 cc 26 3b 78 d5"
+ "f7 47 8c 07 b9 98 ed 70",
+ .zid =
+ "00 01 00 00 2c a2 23 e8"
+ "79 ec c4 bb de b5 da 17"
+ "31 92 81 d6 3b 2e 3b 69"
+ "55 f1 c3 77 5c 80 4a 98"
+ "d5 f8 dd aa",
+ .ztld =
+ "000G001CM8HYGYFCRJXXXDET2WRS50EP7CQ3PTANY71QEQ409ACDBY6XN8",
+ .m =
+ "00 00 00 34 00 00 00 03"
+ "00 05 fe b4 6d 86 5c 1c"
+ "00 01 00 00 2c a2 23 e8"
+ "79 ec c4 bb de b5 da 17"
+ "31 92 81 d6 3b 2e 3b 69"
+ "55 f1 c3 77 5c 80 4a 98"
+ "d5 f8 dd aa",
+ .proof =
+ "00 05 ff 1c 56 e4 b2 68"
+ "00 00 39 5d 18 27 c0 00"
+ "38 0b 54 aa 70 16 ac a2"
+ "38 0b 54 aa 70 16 ad 62"
+ "38 0b 54 aa 70 16 af 3e"
+ "38 0b 54 aa 70 16 af 93"
+ "38 0b 54 aa 70 16 b0 bf"
+ "38 0b 54 aa 70 16 b0 ee"
+ "38 0b 54 aa 70 16 b1 c9"
+ "38 0b 54 aa 70 16 b1 e5"
+ "38 0b 54 aa 70 16 b2 78"
+ "38 0b 54 aa 70 16 b2 b2"
+ "38 0b 54 aa 70 16 b2 d6"
+ "38 0b 54 aa 70 16 b2 e4"
+ "38 0b 54 aa 70 16 b3 2c"
+ "38 0b 54 aa 70 16 b3 5a"
+ "38 0b 54 aa 70 16 b3 9d"
+ "38 0b 54 aa 70 16 b3 c0"
+ "38 0b 54 aa 70 16 b3 dd"
+ "38 0b 54 aa 70 16 b3 f4"
+ "38 0b 54 aa 70 16 b4 42"
+ "38 0b 54 aa 70 16 b4 76"
+ "38 0b 54 aa 70 16 b4 8c"
+ "38 0b 54 aa 70 16 b4 a4"
+ "38 0b 54 aa 70 16 b4 c9"
+ "38 0b 54 aa 70 16 b4 f0"
+ "38 0b 54 aa 70 16 b4 f7"
+ "38 0b 54 aa 70 16 b5 79"
+ "38 0b 54 aa 70 16 b6 34"
+ "38 0b 54 aa 70 16 b6 8e"
+ "38 0b 54 aa 70 16 b7 b4"
+ "38 0b 54 aa 70 16 b8 7e"
+ "38 0b 54 aa 70 16 b8 f8"
+ "38 0b 54 aa 70 16 b9 2a"
+ "00 01 00 00 2c a2 23 e8"
+ "79 ec c4 bb de b5 da 17"
+ "31 92 81 d6 3b 2e 3b 69"
+ "55 f1 c3 77 5c 80 4a 98"
+ "d5 f8 dd aa 08 ca ff de"
+ "3c 6d f1 45 f7 e0 79 81"
+ "15 37 b2 b0 42 2d 5e 1f"
+ "b2 01 97 81 ec a2 61 d1"
+ "f9 d8 ea 81 0a bc 2f 33"
+ "47 7f 04 e3 64 81 11 be"
+ "71 c2 48 82 1a d6 04 f4"
+ "94 e7 4d 0b f5 11 d2 c1"
+ "62 77 2e 81",
+ .diff = 5,
+ .epochs = 2
+ },
+ {
+ .d =
+ "5a f7 02 0e e1 91 60 32"
+ "88 32 35 2b bc 6a 68 a8"
+ "d7 1a 7c be 1b 92 99 69"
+ "a7 c6 6d 41 5a 0d 8f 65",
+ .zid =
+ "00 01 00 14 3c f4 b9 24"
+ "03 20 22 f0 dc 50 58 14"
+ "53 b8 5d 93 b0 47 b6 3d"
+ "44 6c 58 45 cb 48 44 5d"
+ "db 96 68 8f",
+ .ztld =
+ "000G051WYJWJ80S04BRDRM2R2H9VGQCKP13VCFA4DHC4BJT88HEXQ5K8HW",
+ .diff = 5,
+ .epochs = 2,
+ .m =
+ "00 00 00 34 00 00 00 03"
+ "00 05 ff 1c 57 35 42 bd"
+ "00 01 00 14 3c f4 b9 24"
+ "03 20 22 f0 dc 50 58 14"
+ "53 b8 5d 93 b0 47 b6 3d"
+ "44 6c 58 45 cb 48 44 5d"
+ "db 96 68 8f",
+ .proof =
+ "00 05 ff 1c 57 35 42 bd"
+ "00 00 39 5d 18 27 c0 00"
+ "58 4c 93 3c b0 99 2a 08"
+ "58 4c 93 3c b0 99 2d f7"
+ "58 4c 93 3c b0 99 2e 21"
+ "58 4c 93 3c b0 99 2e 2a"
+ "58 4c 93 3c b0 99 2e 53"
+ "58 4c 93 3c b0 99 2e 8e"
+ "58 4c 93 3c b0 99 2f 13"
+ "58 4c 93 3c b0 99 2f 2d"
+ "58 4c 93 3c b0 99 2f 3c"
+ "58 4c 93 3c b0 99 2f 41"
+ "58 4c 93 3c b0 99 2f fd"
+ "58 4c 93 3c b0 99 30 33"
+ "58 4c 93 3c b0 99 30 82"
+ "58 4c 93 3c b0 99 30 a2"
+ "58 4c 93 3c b0 99 30 e1"
+ "58 4c 93 3c b0 99 31 ce"
+ "58 4c 93 3c b0 99 31 de"
+ "58 4c 93 3c b0 99 32 12"
+ "58 4c 93 3c b0 99 32 4e"
+ "58 4c 93 3c b0 99 32 9f"
+ "58 4c 93 3c b0 99 33 31"
+ "58 4c 93 3c b0 99 33 87"
+ "58 4c 93 3c b0 99 33 8c"
+ "58 4c 93 3c b0 99 33 e5"
+ "58 4c 93 3c b0 99 33 f3"
+ "58 4c 93 3c b0 99 34 26"
+ "58 4c 93 3c b0 99 34 30"
+ "58 4c 93 3c b0 99 34 68"
+ "58 4c 93 3c b0 99 34 88"
+ "58 4c 93 3c b0 99 34 8a"
+ "58 4c 93 3c b0 99 35 4c"
+ "58 4c 93 3c b0 99 35 bd"
+ "00 01 00 14 3c f4 b9 24"
+ "03 20 22 f0 dc 50 58 14"
+ "53 b8 5d 93 b0 47 b6 3d"
+ "44 6c 58 45 cb 48 44 5d"
+ "db 96 68 8f 04 ae 26 f7"
+ "63 56 5a b7 aa ab 01 71"
+ "72 4f 3c a8 bc c5 1a 98"
+ "b7 d4 c9 2e a3 3c d9 34"
+ "4c a8 b6 3e 04 53 3a bf"
+ "1a 3c 05 49 16 b3 68 2c"
+ "5c a8 cb 4d d0 f8 4c 3b"
+ "77 48 7a ac 6e ce 38 48"
+ "0b a9 d5 00"
+ },
+ { .d = NULL }
+};
+
+static void
+print_bytes_ (void *buf,
+ size_t buf_len,
+ int fold,
+ int in_be)
+{
+ int i;
+
+ for (i = 0; i < buf_len; i++)
+ {
+ if (0 != i)
+ {
+ if ((0 != fold) && (i % fold == 0))
+ printf ("\n ");
+ else
+ printf (" ");
+ }
+ else
+ {
+ printf (" ");
+ }
+ if (in_be)
+ printf ("%02x", ((unsigned char*) buf)[buf_len - 1 - i]);
+ else
+ printf ("%02x", ((unsigned char*) buf)[i]);
+ }
+ printf ("\n");
+}
+
+
+static void
+print_bytes (void *buf,
+ size_t buf_len,
+ int fold)
+{
+ print_bytes_ (buf, buf_len, fold, 0);
+}
+
+
+int
+parsehex (char *src, char *dst, size_t dstlen, int invert)
+{
+ int off;
+ int read_byte;
+ int data_len = 0;
+ char data[strlen (src) + 1];
+ char *pos = data;
+ int i = 0;
+ int j = 0;
+
+ for (i = 0; i < strlen (src); i++)
+ {
+ if ((src[i] == ' ') || (src[i] == '\n'))
+ continue;
+ data[j++] = src[i];
+ }
+
+ while (sscanf (pos, " %02x%n", &read_byte, &off) == 1)
+ {
+ if (invert)
+ dst[dstlen - 1 - data_len++] = read_byte;
+ else
+ dst[data_len++] = read_byte;
+ pos += off;
+ }
+ return data_len;
+}
+
+
+int
+main ()
+{
+ struct GNUNET_IDENTITY_PrivateKey priv;
+ struct GNUNET_IDENTITY_PublicKey pub;
+ struct GNUNET_IDENTITY_PublicKey pub_parsed;
+ struct GNUNET_TIME_Relative exprel;
+ struct GNUNET_REVOCATION_PowP *pow;
+ char m[8096];
+ char ztld[128];
+ res = 0;
+
+ for (int i = 0; NULL != rtvs[i].d; i++)
+ {
+ printf ("Revocation test vector #%d\n", i);
+ parsehex (rtvs[i].zid,(char*) &pub_parsed, 36, 0);
+ parsehex (rtvs[i].d,(char*) &priv.ecdsa_key, sizeof (priv.ecdsa_key),
+ (GNUNET_GNSRECORD_TYPE_PKEY == ntohl (pub_parsed.type)) ? 1 : 0);
+ priv.type = pub_parsed.type;
+ GNUNET_IDENTITY_key_get_public (&priv, &pub);
+ if (0 != memcmp (&pub, &pub_parsed, GNUNET_IDENTITY_public_key_get_length (
+ &pub)))
+ {
+ printf ("Wrong pubkey.\n");
+ print_bytes (&pub, 36, 8);
+ print_bytes (&pub_parsed, 36, 8);
+ res = 1;
+ break;
+ }
+ GNUNET_STRINGS_data_to_string (&pub,
+ GNUNET_IDENTITY_public_key_get_length (
+ &pub),
+ ztld,
+ sizeof (ztld));
+ if (0 != strcmp (ztld, rtvs[i].ztld))
+ {
+ printf ("Wrong zTLD: expected %s, got %s\n", rtvs[i].ztld, ztld);
+ res = 1;
+ break;
+ }
+ pow = GNUNET_malloc (GNUNET_REVOCATION_MAX_PROOF_SIZE);
+ parsehex (rtvs[i].proof, (char*) pow, 0, 0);
+ // parsehex (rtvs[i].m, (char*) message, 0, 0);
+
+ exprel = GNUNET_TIME_relative_multiply (GNUNET_TIME_UNIT_YEARS,
+ rtvs[i].epochs);
+ if (GNUNET_OK != GNUNET_REVOCATION_check_pow (pow, rtvs[i].diff,
+ exprel))
+ {
+ printf ("FAIL: Revocation PoW invalid\n");
+ res = 1;
+ break;
+ }
+ printf ("Good.\n");
+ }
+
+finish:
+ return res;
+}
--
To stop receiving notification emails like this one, please contact
gnunet@gnunet.org.
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [gnunet] branch master updated: GNS: Forgot to add test vector test file,
gnunet <=