[tor-commits] [tor/master] Add two new test vectors for ed25519 key blinding.

nickm at torproject.org nickm at torproject.org
Mon Mar 29 21:11:10 UTC 2021


commit 769d54c5d7933ccb4c8638e71ce4b928298ac66a
Author: George Kadianakis <desnacked at riseup.net>
Date:   Tue Mar 30 00:03:27 2021 +0300

    Add two new test vectors for ed25519 key blinding.
    
    - Also fix the vector producing script to work with python3.
---
 src/test/ed25519_exts_ref.py | 12 ++++++++----
 src/test/ed25519_vectors.inc | 22 ++++++++++++++++++++++
 2 files changed, 30 insertions(+), 4 deletions(-)

diff --git a/src/test/ed25519_exts_ref.py b/src/test/ed25519_exts_ref.py
index dcc0a7c25a..abc9a1de7f 100644
--- a/src/test/ed25519_exts_ref.py
+++ b/src/test/ed25519_exts_ref.py
@@ -42,7 +42,7 @@ def blindESK(esk, param):
     s_prime = (s * mult) % ell
     k = esk[32:]
     assert(len(k) == 32)
-    k_prime = H("Derive temporary signing key hash input" + k)[:32]
+    k_prime = H(b"Derive temporary signing key hash input" + k)[:32]
     return encodeint(s_prime) + k_prime
 
 def blindPK(pk, param):
@@ -170,6 +170,8 @@ RAND_INPUTS = [
   '5c8eac469bb3f1b85bc7cd893f52dc42a9ab66f1b02b5ce6a68e9b175d3bb433',
   'eda433d483059b6d1ff8b7cfbd0fe406bfb23722c8f3c8252629284573b61b86',
   '4377c40431c30883c5fbd9bc92ae48d1ed8a47b81d13806beac5351739b5533d',
+  'c6bbcce615839756aed2cc78b1de13884dd3618f48367a17597a16c1cd7a290b',
+  'c6bbcce615839756aed2cc78b1de13884dd3618f48367a17597a16c1cd7a290b',
   'c6bbcce615839756aed2cc78b1de13884dd3618f48367a17597a16c1cd7a290b']
 
 # From pprint.pprint([ binascii.b2a_hex(os.urandom(32)) for _ in xrange(8) ])
@@ -181,7 +183,9 @@ BLINDING_PARAMS = [
   'b1fe79d1dec9bc108df69f6612c72812755751f21ecc5af99663b30be8b9081f',
   '81f1512b63ab5fb5c1711a4ec83d379c420574aedffa8c3368e1c3989a3a0084',
   '97f45142597c473a4b0e9a12d64561133ad9e1155fe5a9807fe6af8a93557818',
-  '3f44f6a5a92cde816635dfc12ade70539871078d2ff097278be2a555c9859cd0']
+  '3f44f6a5a92cde816635dfc12ade70539871078d2ff097278be2a555c9859cd0',
+  '0000000000000000000000000000000000000000000000000000000000000000',
+  '1111111111111111111111111111111111111111111111111111111111111111']
 
 PREFIX = "ED25519_"
 
@@ -193,9 +197,9 @@ def writeArray(name, array):
         if len(h) > 70:
             h1 = h[:70]
             h2 = h[70:]
-            print('  "{0}"\n      "{1}",'.format(h1,h2))
+            print('  "{0}"\n      "{1}",'.format(h1.decode('utf-8'),h2.decode('utf-8')))
         else:
-            print('  "{0}",'.format(h))
+            print('  "{0}",'.format(h.decode('utf-8')))
     print("};\n")
 
 def comment(text, initial="/**"):
diff --git a/src/test/ed25519_vectors.inc b/src/test/ed25519_vectors.inc
index 60c863beba..3813282e00 100644
--- a/src/test/ed25519_vectors.inc
+++ b/src/test/ed25519_vectors.inc
@@ -16,6 +16,8 @@ static const char *ED25519_SECRET_KEYS[] = {
   "eda433d483059b6d1ff8b7cfbd0fe406bfb23722c8f3c8252629284573b61b86",
   "4377c40431c30883c5fbd9bc92ae48d1ed8a47b81d13806beac5351739b5533d",
   "c6bbcce615839756aed2cc78b1de13884dd3618f48367a17597a16c1cd7a290b",
+  "c6bbcce615839756aed2cc78b1de13884dd3618f48367a17597a16c1cd7a290b",
+  "c6bbcce615839756aed2cc78b1de13884dd3618f48367a17597a16c1cd7a290b",
 };
 
 /**
@@ -39,6 +41,10 @@ static const char *ED25519_EXPANDED_SECRET_KEYS[] = {
       "e5fd7ac43794394507ad440ecfdf59c4c255f19b768a273109e06d7d8e",
   "b003077c1e52a62308eef7950b2d532e1d4a7eea50ad22d8ac11b892851f1c40ffb9c9"
       "ff8dcd0c6c233f665a2e176324d92416bfcfcd1f787424c0c667452d86",
+  "b003077c1e52a62308eef7950b2d532e1d4a7eea50ad22d8ac11b892851f1c40ffb9c9"
+      "ff8dcd0c6c233f665a2e176324d92416bfcfcd1f787424c0c667452d86",
+  "b003077c1e52a62308eef7950b2d532e1d4a7eea50ad22d8ac11b892851f1c40ffb9c9"
+      "ff8dcd0c6c233f665a2e176324d92416bfcfcd1f787424c0c667452d86",
 };
 
 /**
@@ -53,6 +59,8 @@ static const char *ED25519_PUBLIC_KEYS[] = {
   "d21c294db0e64cb2d8976625786ede1d9754186ae8197a64d72f68c792eecc19",
   "c4d58b4cf85a348ff3d410dd936fa460c4f18da962c01b1963792b9dcc8a6ea6",
   "95126f14d86494020665face03f2d42ee2b312a85bc729903eb17522954a1c4a",
+  "95126f14d86494020665face03f2d42ee2b312a85bc729903eb17522954a1c4a",
+  "95126f14d86494020665face03f2d42ee2b312a85bc729903eb17522954a1c4a",
 };
 
 /**
@@ -69,6 +77,8 @@ static const char *ED25519_CURVE25519_PUBLIC_KEYS[] = {
   "59e20dcb691c4a345fe86c8a79ac817e5b514d84bbf0512a842a08e43f7f087e",
   "9e43b820b320eda35f66f122c155b2bf8e2192c468617b7115bf067d19e08369",
   "861f33296cb57f8f01e4a5e8a7e5d5d7043a6247586ab36dea8a1a3c4403ee30",
+  "861f33296cb57f8f01e4a5e8a7e5d5d7043a6247586ab36dea8a1a3c4403ee30",
+  "861f33296cb57f8f01e4a5e8a7e5d5d7043a6247586ab36dea8a1a3c4403ee30",
 };
 
 /**
@@ -83,6 +93,8 @@ static const char *ED25519_BLINDING_PARAMS[] = {
   "81f1512b63ab5fb5c1711a4ec83d379c420574aedffa8c3368e1c3989a3a0084",
   "97f45142597c473a4b0e9a12d64561133ad9e1155fe5a9807fe6af8a93557818",
   "3f44f6a5a92cde816635dfc12ade70539871078d2ff097278be2a555c9859cd0",
+  "0000000000000000000000000000000000000000000000000000000000000000",
+  "1111111111111111111111111111111111111111111111111111111111111111",
 };
 
 /**
@@ -107,6 +119,10 @@ static const char *ED25519_BLINDED_SECRET_KEYS[] = {
       "8f8e556d78f4bdcb9a13b6f6066fe81d3134ae965dc48cd0785b3af2b8",
   "288cbfd923cb286d48c084555b5bdd06c05e92fb81acdb45271367f57515380e053d9c"
       "00c81e1331c06ab50087be8cfc7dc11691b132614474f1aa9c2503cccd",
+  "e5cd03eb4cc456e11bc36724b558873df0045729b22d8b748360067a7770ac02053d9c"
+      "00c81e1331c06ab50087be8cfc7dc11691b132614474f1aa9c2503cccd",
+  "2cf7ed8b163f5af960d2fc62e1883aa422a6090736b4f18a5456ddcaf78ede0c053d9c"
+      "00c81e1331c06ab50087be8cfc7dc11691b132614474f1aa9c2503cccd",
 };
 
 /**
@@ -123,6 +139,8 @@ static const char *ED25519_BLINDED_PUBLIC_KEYS[] = {
   "2b946a484344eb1c17c89dd8b04196a84f3b7222c876a07a4cece85f676f87d9",
   "c6b585129b135f8769df2eba987e76e089e80ba3a2a6729134d3b28008ac098e",
   "0eefdc795b59cabbc194c6174e34ba9451e8355108520554ec285acabebb34ac",
+  "312404d06a0a9de489904b18d5233e83a50b225977fa8734f2c897a73c067952",
+  "952a908a4a9e0e5176a2549f8f328955aca6817a9fdc59e3acec5dec50838108",
 };
 
 /**
@@ -146,5 +164,9 @@ static const char *ED25519_SELF_SIGNATURES[] = {
       "4867daa60f2a82d09ba9652d41e8dde292b624afc8d2c26441b95e3c0e",
   "815213640a643d198bd056e02bba74e1c8d2d931643e84497adf3347eb485079c9afe0"
       "afce9284cdc084946b561abbb214f1304ca11228ff82702185cf28f60d",
+  "815213640a643d198bd056e02bba74e1c8d2d931643e84497adf3347eb485079c9afe0"
+      "afce9284cdc084946b561abbb214f1304ca11228ff82702185cf28f60d",
+  "815213640a643d198bd056e02bba74e1c8d2d931643e84497adf3347eb485079c9afe0"
+      "afce9284cdc084946b561abbb214f1304ca11228ff82702185cf28f60d",
 };
 



More information about the tor-commits mailing list