|
30 | 30 | #include "../include/secp256k1_schnorrsig.h"
|
31 | 31 | #endif
|
32 | 32 |
|
| 33 | +#ifdef ENABLE_MODULE_ELLSWIFT |
| 34 | +#include "../include/secp256k1_ellswift.h" |
| 35 | +#endif |
| 36 | + |
33 | 37 | static void run_tests(secp256k1_context *ctx, unsigned char *key);
|
34 | 38 |
|
35 | 39 | int main(void) {
|
@@ -80,6 +84,10 @@ static void run_tests(secp256k1_context *ctx, unsigned char *key) {
|
80 | 84 | #ifdef ENABLE_MODULE_EXTRAKEYS
|
81 | 85 | secp256k1_keypair keypair;
|
82 | 86 | #endif
|
| 87 | +#ifdef ENABLE_MODULE_ELLSWIFT |
| 88 | + unsigned char ellswift[64]; |
| 89 | + static const unsigned char prefix[64] = {'t', 'e', 's', 't'}; |
| 90 | +#endif |
83 | 91 |
|
84 | 92 | for (i = 0; i < 32; i++) {
|
85 | 93 | msg[i] = i + 1;
|
@@ -171,4 +179,31 @@ static void run_tests(secp256k1_context *ctx, unsigned char *key) {
|
171 | 179 | SECP256K1_CHECKMEM_DEFINE(&ret, sizeof(ret));
|
172 | 180 | CHECK(ret == 1);
|
173 | 181 | #endif
|
| 182 | + |
| 183 | +#ifdef ENABLE_MODULE_ELLSWIFT |
| 184 | + VALGRIND_MAKE_MEM_UNDEFINED(key, 32); |
| 185 | + ret = secp256k1_ellswift_create(ctx, ellswift, key, NULL); |
| 186 | + VALGRIND_MAKE_MEM_DEFINED(&ret, sizeof(ret)); |
| 187 | + CHECK(ret == 1); |
| 188 | + |
| 189 | + VALGRIND_MAKE_MEM_UNDEFINED(key, 32); |
| 190 | + ret = secp256k1_ellswift_create(ctx, ellswift, key, ellswift); |
| 191 | + VALGRIND_MAKE_MEM_DEFINED(&ret, sizeof(ret)); |
| 192 | + CHECK(ret == 1); |
| 193 | + |
| 194 | + for (i = 0; i < 2; i++) { |
| 195 | + VALGRIND_MAKE_MEM_UNDEFINED(key, 32); |
| 196 | + VALGRIND_MAKE_MEM_DEFINED(&ellswift, sizeof(ellswift)); |
| 197 | + ret = secp256k1_ellswift_xdh(ctx, msg, ellswift, ellswift, key, i, secp256k1_ellswift_xdh_hash_function_bip324, NULL); |
| 198 | + VALGRIND_MAKE_MEM_DEFINED(&ret, sizeof(ret)); |
| 199 | + CHECK(ret == 1); |
| 200 | + |
| 201 | + VALGRIND_MAKE_MEM_UNDEFINED(key, 32); |
| 202 | + VALGRIND_MAKE_MEM_DEFINED(&ellswift, sizeof(ellswift)); |
| 203 | + ret = secp256k1_ellswift_xdh(ctx, msg, ellswift, ellswift, key, i, secp256k1_ellswift_xdh_hash_function_prefix, (void *)prefix); |
| 204 | + VALGRIND_MAKE_MEM_DEFINED(&ret, sizeof(ret)); |
| 205 | + CHECK(ret == 1); |
| 206 | + } |
| 207 | + |
| 208 | +#endif |
174 | 209 | }
|
0 commit comments