diff options
Diffstat (limited to 'src/scalarproduct/test_ecc_scalarproduct.c')
-rw-r--r-- | src/scalarproduct/test_ecc_scalarproduct.c | 176 |
1 files changed, 88 insertions, 88 deletions
diff --git a/src/scalarproduct/test_ecc_scalarproduct.c b/src/scalarproduct/test_ecc_scalarproduct.c index 543ac4c7e..1117f0811 100644 --- a/src/scalarproduct/test_ecc_scalarproduct.c +++ b/src/scalarproduct/test_ecc_scalarproduct.c | |||
@@ -41,8 +41,8 @@ static struct GNUNET_CRYPTO_EccDlogContext *edc; | |||
41 | * @return avec * bvec | 41 | * @return avec * bvec |
42 | */ | 42 | */ |
43 | static int | 43 | static int |
44 | test_sp(const unsigned int *avec, | 44 | test_sp (const unsigned int *avec, |
45 | const unsigned int *bvec) | 45 | const unsigned int *bvec) |
46 | { | 46 | { |
47 | unsigned int len; | 47 | unsigned int len; |
48 | unsigned int i; | 48 | unsigned int i; |
@@ -67,109 +67,109 @@ test_sp(const unsigned int *avec, | |||
67 | return 0; | 67 | return 0; |
68 | 68 | ||
69 | /* Alice */ | 69 | /* Alice */ |
70 | GNUNET_CRYPTO_ecc_rnd_mpi(edc, | 70 | GNUNET_CRYPTO_ecc_rnd_mpi (edc, |
71 | &a, &a_inv); | 71 | &a, &a_inv); |
72 | g = GNUNET_new_array(len, | 72 | g = GNUNET_new_array (len, |
73 | gcry_mpi_point_t); | 73 | gcry_mpi_point_t); |
74 | h = GNUNET_new_array(len, | 74 | h = GNUNET_new_array (len, |
75 | gcry_mpi_point_t); | 75 | gcry_mpi_point_t); |
76 | ria = gcry_mpi_new(0); | 76 | ria = gcry_mpi_new (0); |
77 | tmp = gcry_mpi_new(0); | 77 | tmp = gcry_mpi_new (0); |
78 | for (i = 0; i < len; i++) | 78 | for (i = 0; i < len; i++) |
79 | { | 79 | { |
80 | ri = GNUNET_CRYPTO_ecc_random_mod_n(edc); | 80 | ri = GNUNET_CRYPTO_ecc_random_mod_n (edc); |
81 | g[i] = GNUNET_CRYPTO_ecc_dexp_mpi(edc, | 81 | g[i] = GNUNET_CRYPTO_ecc_dexp_mpi (edc, |
82 | ri); | 82 | ri); |
83 | /* ria = ri * a */ | 83 | /* ria = ri * a */ |
84 | gcry_mpi_mul(ria, | 84 | gcry_mpi_mul (ria, |
85 | ri, | 85 | ri, |
86 | a); | 86 | a); |
87 | /* tmp = ria + avec[i] */ | 87 | /* tmp = ria + avec[i] */ |
88 | gcry_mpi_add_ui(tmp, | 88 | gcry_mpi_add_ui (tmp, |
89 | ria, | 89 | ria, |
90 | avec[i]); | 90 | avec[i]); |
91 | h[i] = GNUNET_CRYPTO_ecc_dexp_mpi(edc, | 91 | h[i] = GNUNET_CRYPTO_ecc_dexp_mpi (edc, |
92 | tmp); | 92 | tmp); |
93 | } | 93 | } |
94 | gcry_mpi_release(ria); | 94 | gcry_mpi_release (ria); |
95 | gcry_mpi_release(tmp); | 95 | gcry_mpi_release (tmp); |
96 | 96 | ||
97 | /* Bob */ | 97 | /* Bob */ |
98 | val = gcry_mpi_new(0); | 98 | val = gcry_mpi_new (0); |
99 | gcry_mpi_set_ui(val, bvec[0]); | 99 | gcry_mpi_set_ui (val, bvec[0]); |
100 | pg = GNUNET_CRYPTO_ecc_pmul_mpi(edc, | 100 | pg = GNUNET_CRYPTO_ecc_pmul_mpi (edc, |
101 | g[0], | 101 | g[0], |
102 | val); | 102 | val); |
103 | ph = GNUNET_CRYPTO_ecc_pmul_mpi(edc, | 103 | ph = GNUNET_CRYPTO_ecc_pmul_mpi (edc, |
104 | h[0], | 104 | h[0], |
105 | val); | 105 | val); |
106 | for (i = 1; i < len; i++) | 106 | for (i = 1; i < len; i++) |
107 | { | 107 | { |
108 | gcry_mpi_point_t m; | 108 | gcry_mpi_point_t m; |
109 | gcry_mpi_point_t tmp; | 109 | gcry_mpi_point_t tmp; |
110 | 110 | ||
111 | gcry_mpi_set_ui(val, bvec[i]); | 111 | gcry_mpi_set_ui (val, bvec[i]); |
112 | m = GNUNET_CRYPTO_ecc_pmul_mpi(edc, | 112 | m = GNUNET_CRYPTO_ecc_pmul_mpi (edc, |
113 | g[i], | 113 | g[i], |
114 | val); | 114 | val); |
115 | tmp = GNUNET_CRYPTO_ecc_add(edc, | 115 | tmp = GNUNET_CRYPTO_ecc_add (edc, |
116 | m, | 116 | m, |
117 | pg); | 117 | pg); |
118 | gcry_mpi_point_release(m); | 118 | gcry_mpi_point_release (m); |
119 | gcry_mpi_point_release(pg); | 119 | gcry_mpi_point_release (pg); |
120 | gcry_mpi_point_release(g[i]); | 120 | gcry_mpi_point_release (g[i]); |
121 | pg = tmp; | 121 | pg = tmp; |
122 | 122 | ||
123 | m = GNUNET_CRYPTO_ecc_pmul_mpi(edc, | 123 | m = GNUNET_CRYPTO_ecc_pmul_mpi (edc, |
124 | h[i], | 124 | h[i], |
125 | val); | 125 | val); |
126 | tmp = GNUNET_CRYPTO_ecc_add(edc, | 126 | tmp = GNUNET_CRYPTO_ecc_add (edc, |
127 | m, | 127 | m, |
128 | ph); | 128 | ph); |
129 | gcry_mpi_point_release(m); | 129 | gcry_mpi_point_release (m); |
130 | gcry_mpi_point_release(ph); | 130 | gcry_mpi_point_release (ph); |
131 | gcry_mpi_point_release(h[i]); | 131 | gcry_mpi_point_release (h[i]); |
132 | ph = tmp; | 132 | ph = tmp; |
133 | } | 133 | } |
134 | gcry_mpi_release(val); | 134 | gcry_mpi_release (val); |
135 | GNUNET_free(g); | 135 | GNUNET_free (g); |
136 | GNUNET_free(h); | 136 | GNUNET_free (h); |
137 | 137 | ||
138 | /* Alice */ | 138 | /* Alice */ |
139 | pgi = GNUNET_CRYPTO_ecc_pmul_mpi(edc, | 139 | pgi = GNUNET_CRYPTO_ecc_pmul_mpi (edc, |
140 | pg, | 140 | pg, |
141 | a_inv); | 141 | a_inv); |
142 | gsp = GNUNET_CRYPTO_ecc_add(edc, | 142 | gsp = GNUNET_CRYPTO_ecc_add (edc, |
143 | pgi, | 143 | pgi, |
144 | ph); | 144 | ph); |
145 | gcry_mpi_point_release(pgi); | 145 | gcry_mpi_point_release (pgi); |
146 | gcry_mpi_point_release(ph); | 146 | gcry_mpi_point_release (ph); |
147 | sp = GNUNET_CRYPTO_ecc_dlog(edc, | 147 | sp = GNUNET_CRYPTO_ecc_dlog (edc, |
148 | gsp); | 148 | gsp); |
149 | gcry_mpi_point_release(gsp); | 149 | gcry_mpi_point_release (gsp); |
150 | return sp; | 150 | return sp; |
151 | } | 151 | } |
152 | 152 | ||
153 | 153 | ||
154 | int | 154 | int |
155 | main(int argc, char *argv[]) | 155 | main (int argc, char *argv[]) |
156 | { | 156 | { |
157 | static unsigned int v11[] = { 1, 1, 0 }; | 157 | static unsigned int v11[] = { 1, 1, 0 }; |
158 | static unsigned int v22[] = { 2, 2, 0 }; | 158 | static unsigned int v22[] = { 2, 2, 0 }; |
159 | static unsigned int v35[] = { 3, 5, 0 }; | 159 | static unsigned int v35[] = { 3, 5, 0 }; |
160 | static unsigned int v24[] = { 2, 4, 0 }; | 160 | static unsigned int v24[] = { 2, 4, 0 }; |
161 | 161 | ||
162 | GNUNET_log_setup("test-ecc-scalarproduct", | 162 | GNUNET_log_setup ("test-ecc-scalarproduct", |
163 | "WARNING", | 163 | "WARNING", |
164 | NULL); | 164 | NULL); |
165 | edc = GNUNET_CRYPTO_ecc_dlog_prepare(128, 128); | 165 | edc = GNUNET_CRYPTO_ecc_dlog_prepare (128, 128); |
166 | GNUNET_assert(2 == test_sp(v11, v11)); | 166 | GNUNET_assert (2 == test_sp (v11, v11)); |
167 | GNUNET_assert(4 == test_sp(v22, v11)); | 167 | GNUNET_assert (4 == test_sp (v22, v11)); |
168 | GNUNET_assert(8 == test_sp(v35, v11)); | 168 | GNUNET_assert (8 == test_sp (v35, v11)); |
169 | GNUNET_assert(26 == test_sp(v35, v24)); | 169 | GNUNET_assert (26 == test_sp (v35, v24)); |
170 | GNUNET_assert(26 == test_sp(v24, v35)); | 170 | GNUNET_assert (26 == test_sp (v24, v35)); |
171 | GNUNET_assert(16 == test_sp(v22, v35)); | 171 | GNUNET_assert (16 == test_sp (v22, v35)); |
172 | GNUNET_CRYPTO_ecc_dlog_release(edc); | 172 | GNUNET_CRYPTO_ecc_dlog_release (edc); |
173 | return 0; | 173 | return 0; |
174 | } | 174 | } |
175 | 175 | ||