aboutsummaryrefslogtreecommitdiff
path: root/src/util/crypto_ksk.c
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2010-06-18 14:09:55 +0000
committerChristian Grothoff <christian@grothoff.org>2010-06-18 14:09:55 +0000
commit200aaa0dd6813f19eb7ed67a0fdc301d091fc2d7 (patch)
treef89388586fbf00a3b7c985b2b28bb74abda3a364 /src/util/crypto_ksk.c
parent640ae593fd34d27034f994a2e945a8942f1a4d5d (diff)
downloadgnunet-200aaa0dd6813f19eb7ed67a0fdc301d091fc2d7.tar.gz
gnunet-200aaa0dd6813f19eb7ed67a0fdc301d091fc2d7.zip
localization
of scopes
Diffstat (limited to 'src/util/crypto_ksk.c')
-rw-r--r--src/util/crypto_ksk.c176
1 files changed, 87 insertions, 89 deletions
diff --git a/src/util/crypto_ksk.c b/src/util/crypto_ksk.c
index 4960df9e2..888c08384 100644
--- a/src/util/crypto_ksk.c
+++ b/src/util/crypto_ksk.c
@@ -67,95 +67,6 @@ struct GNUNET_CRYPTO_RsaPrivateKey
67}; 67};
68 68
69 69
70/* Note: 2 is not included because it can be tested more easily by
71 looking at bit 0. The last entry in this list is marked by a zero */
72static uint16_t small_prime_numbers[] = {
73 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43,
74 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97, 101,
75 103, 107, 109, 113, 127, 131, 137, 139, 149, 151,
76 157, 163, 167, 173, 179, 181, 191, 193, 197, 199,
77 211, 223, 227, 229, 233, 239, 241, 251, 257, 263,
78 269, 271, 277, 281, 283, 293, 307, 311, 313, 317,
79 331, 337, 347, 349, 353, 359, 367, 373, 379, 383,
80 389, 397, 401, 409, 419, 421, 431, 433, 439, 443,
81 449, 457, 461, 463, 467, 479, 487, 491, 499, 503,
82 509, 521, 523, 541, 547, 557, 563, 569, 571, 577,
83 587, 593, 599, 601, 607, 613, 617, 619, 631, 641,
84 643, 647, 653, 659, 661, 673, 677, 683, 691, 701,
85 709, 719, 727, 733, 739, 743, 751, 757, 761, 769,
86 773, 787, 797, 809, 811, 821, 823, 827, 829, 839,
87 853, 857, 859, 863, 877, 881, 883, 887, 907, 911,
88 919, 929, 937, 941, 947, 953, 967, 971, 977, 983,
89 991, 997, 1009, 1013, 1019, 1021, 1031, 1033,
90 1039, 1049, 1051, 1061, 1063, 1069, 1087, 1091,
91 1093, 1097, 1103, 1109, 1117, 1123, 1129, 1151,
92 1153, 1163, 1171, 1181, 1187, 1193, 1201, 1213,
93 1217, 1223, 1229, 1231, 1237, 1249, 1259, 1277,
94 1279, 1283, 1289, 1291, 1297, 1301, 1303, 1307,
95 1319, 1321, 1327, 1361, 1367, 1373, 1381, 1399,
96 1409, 1423, 1427, 1429, 1433, 1439, 1447, 1451,
97 1453, 1459, 1471, 1481, 1483, 1487, 1489, 1493,
98 1499, 1511, 1523, 1531, 1543, 1549, 1553, 1559,
99 1567, 1571, 1579, 1583, 1597, 1601, 1607, 1609,
100 1613, 1619, 1621, 1627, 1637, 1657, 1663, 1667,
101 1669, 1693, 1697, 1699, 1709, 1721, 1723, 1733,
102 1741, 1747, 1753, 1759, 1777, 1783, 1787, 1789,
103 1801, 1811, 1823, 1831, 1847, 1861, 1867, 1871,
104 1873, 1877, 1879, 1889, 1901, 1907, 1913, 1931,
105 1933, 1949, 1951, 1973, 1979, 1987, 1993, 1997,
106 1999, 2003, 2011, 2017, 2027, 2029, 2039, 2053,
107 2063, 2069, 2081, 2083, 2087, 2089, 2099, 2111,
108 2113, 2129, 2131, 2137, 2141, 2143, 2153, 2161,
109 2179, 2203, 2207, 2213, 2221, 2237, 2239, 2243,
110 2251, 2267, 2269, 2273, 2281, 2287, 2293, 2297,
111 2309, 2311, 2333, 2339, 2341, 2347, 2351, 2357,
112 2371, 2377, 2381, 2383, 2389, 2393, 2399, 2411,
113 2417, 2423, 2437, 2441, 2447, 2459, 2467, 2473,
114 2477, 2503, 2521, 2531, 2539, 2543, 2549, 2551,
115 2557, 2579, 2591, 2593, 2609, 2617, 2621, 2633,
116 2647, 2657, 2659, 2663, 2671, 2677, 2683, 2687,
117 2689, 2693, 2699, 2707, 2711, 2713, 2719, 2729,
118 2731, 2741, 2749, 2753, 2767, 2777, 2789, 2791,
119 2797, 2801, 2803, 2819, 2833, 2837, 2843, 2851,
120 2857, 2861, 2879, 2887, 2897, 2903, 2909, 2917,
121 2927, 2939, 2953, 2957, 2963, 2969, 2971, 2999,
122 3001, 3011, 3019, 3023, 3037, 3041, 3049, 3061,
123 3067, 3079, 3083, 3089, 3109, 3119, 3121, 3137,
124 3163, 3167, 3169, 3181, 3187, 3191, 3203, 3209,
125 3217, 3221, 3229, 3251, 3253, 3257, 3259, 3271,
126 3299, 3301, 3307, 3313, 3319, 3323, 3329, 3331,
127 3343, 3347, 3359, 3361, 3371, 3373, 3389, 3391,
128 3407, 3413, 3433, 3449, 3457, 3461, 3463, 3467,
129 3469, 3491, 3499, 3511, 3517, 3527, 3529, 3533,
130 3539, 3541, 3547, 3557, 3559, 3571, 3581, 3583,
131 3593, 3607, 3613, 3617, 3623, 3631, 3637, 3643,
132 3659, 3671, 3673, 3677, 3691, 3697, 3701, 3709,
133 3719, 3727, 3733, 3739, 3761, 3767, 3769, 3779,
134 3793, 3797, 3803, 3821, 3823, 3833, 3847, 3851,
135 3853, 3863, 3877, 3881, 3889, 3907, 3911, 3917,
136 3919, 3923, 3929, 3931, 3943, 3947, 3967, 3989,
137 4001, 4003, 4007, 4013, 4019, 4021, 4027, 4049,
138 4051, 4057, 4073, 4079, 4091, 4093, 4099, 4111,
139 4127, 4129, 4133, 4139, 4153, 4157, 4159, 4177,
140 4201, 4211, 4217, 4219, 4229, 4231, 4241, 4243,
141 4253, 4259, 4261, 4271, 4273, 4283, 4289, 4297,
142 4327, 4337, 4339, 4349, 4357, 4363, 4373, 4391,
143 4397, 4409, 4421, 4423, 4441, 4447, 4451, 4457,
144 4463, 4481, 4483, 4493, 4507, 4513, 4517, 4519,
145 4523, 4547, 4549, 4561, 4567, 4583, 4591, 4597,
146 4603, 4621, 4637, 4639, 4643, 4649, 4651, 4657,
147 4663, 4673, 4679, 4691, 4703, 4721, 4723, 4729,
148 4733, 4751, 4759, 4783, 4787, 4789, 4793, 4799,
149 4801, 4813, 4817, 4831, 4861, 4871, 4877, 4889,
150 4903, 4909, 4919, 4931, 4933, 4937, 4943, 4951,
151 4957, 4967, 4969, 4973, 4987, 4993, 4999,
152 0
153};
154
155#define DIM(v) (sizeof(v)/sizeof((v)[0]))
156static int no_of_small_prime_numbers = DIM (small_prime_numbers) - 1;
157
158
159static unsigned int 70static unsigned int
160get_nbits (mpz_t a) 71get_nbits (mpz_t a)
161{ 72{
@@ -258,6 +169,93 @@ leave:
258static void 169static void
259gen_prime (mpz_t ptest, unsigned int nbits, GNUNET_HashCode * hc) 170gen_prime (mpz_t ptest, unsigned int nbits, GNUNET_HashCode * hc)
260{ 171{
172 /* Note: 2 is not included because it can be tested more easily by
173 looking at bit 0. The last entry in this list is marked by a zero */
174 static const uint16_t small_prime_numbers[] = {
175 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43,
176 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97, 101,
177 103, 107, 109, 113, 127, 131, 137, 139, 149, 151,
178 157, 163, 167, 173, 179, 181, 191, 193, 197, 199,
179 211, 223, 227, 229, 233, 239, 241, 251, 257, 263,
180 269, 271, 277, 281, 283, 293, 307, 311, 313, 317,
181 331, 337, 347, 349, 353, 359, 367, 373, 379, 383,
182 389, 397, 401, 409, 419, 421, 431, 433, 439, 443,
183 449, 457, 461, 463, 467, 479, 487, 491, 499, 503,
184 509, 521, 523, 541, 547, 557, 563, 569, 571, 577,
185 587, 593, 599, 601, 607, 613, 617, 619, 631, 641,
186 643, 647, 653, 659, 661, 673, 677, 683, 691, 701,
187 709, 719, 727, 733, 739, 743, 751, 757, 761, 769,
188 773, 787, 797, 809, 811, 821, 823, 827, 829, 839,
189 853, 857, 859, 863, 877, 881, 883, 887, 907, 911,
190 919, 929, 937, 941, 947, 953, 967, 971, 977, 983,
191 991, 997, 1009, 1013, 1019, 1021, 1031, 1033,
192 1039, 1049, 1051, 1061, 1063, 1069, 1087, 1091,
193 1093, 1097, 1103, 1109, 1117, 1123, 1129, 1151,
194 1153, 1163, 1171, 1181, 1187, 1193, 1201, 1213,
195 1217, 1223, 1229, 1231, 1237, 1249, 1259, 1277,
196 1279, 1283, 1289, 1291, 1297, 1301, 1303, 1307,
197 1319, 1321, 1327, 1361, 1367, 1373, 1381, 1399,
198 1409, 1423, 1427, 1429, 1433, 1439, 1447, 1451,
199 1453, 1459, 1471, 1481, 1483, 1487, 1489, 1493,
200 1499, 1511, 1523, 1531, 1543, 1549, 1553, 1559,
201 1567, 1571, 1579, 1583, 1597, 1601, 1607, 1609,
202 1613, 1619, 1621, 1627, 1637, 1657, 1663, 1667,
203 1669, 1693, 1697, 1699, 1709, 1721, 1723, 1733,
204 1741, 1747, 1753, 1759, 1777, 1783, 1787, 1789,
205 1801, 1811, 1823, 1831, 1847, 1861, 1867, 1871,
206 1873, 1877, 1879, 1889, 1901, 1907, 1913, 1931,
207 1933, 1949, 1951, 1973, 1979, 1987, 1993, 1997,
208 1999, 2003, 2011, 2017, 2027, 2029, 2039, 2053,
209 2063, 2069, 2081, 2083, 2087, 2089, 2099, 2111,
210 2113, 2129, 2131, 2137, 2141, 2143, 2153, 2161,
211 2179, 2203, 2207, 2213, 2221, 2237, 2239, 2243,
212 2251, 2267, 2269, 2273, 2281, 2287, 2293, 2297,
213 2309, 2311, 2333, 2339, 2341, 2347, 2351, 2357,
214 2371, 2377, 2381, 2383, 2389, 2393, 2399, 2411,
215 2417, 2423, 2437, 2441, 2447, 2459, 2467, 2473,
216 2477, 2503, 2521, 2531, 2539, 2543, 2549, 2551,
217 2557, 2579, 2591, 2593, 2609, 2617, 2621, 2633,
218 2647, 2657, 2659, 2663, 2671, 2677, 2683, 2687,
219 2689, 2693, 2699, 2707, 2711, 2713, 2719, 2729,
220 2731, 2741, 2749, 2753, 2767, 2777, 2789, 2791,
221 2797, 2801, 2803, 2819, 2833, 2837, 2843, 2851,
222 2857, 2861, 2879, 2887, 2897, 2903, 2909, 2917,
223 2927, 2939, 2953, 2957, 2963, 2969, 2971, 2999,
224 3001, 3011, 3019, 3023, 3037, 3041, 3049, 3061,
225 3067, 3079, 3083, 3089, 3109, 3119, 3121, 3137,
226 3163, 3167, 3169, 3181, 3187, 3191, 3203, 3209,
227 3217, 3221, 3229, 3251, 3253, 3257, 3259, 3271,
228 3299, 3301, 3307, 3313, 3319, 3323, 3329, 3331,
229 3343, 3347, 3359, 3361, 3371, 3373, 3389, 3391,
230 3407, 3413, 3433, 3449, 3457, 3461, 3463, 3467,
231 3469, 3491, 3499, 3511, 3517, 3527, 3529, 3533,
232 3539, 3541, 3547, 3557, 3559, 3571, 3581, 3583,
233 3593, 3607, 3613, 3617, 3623, 3631, 3637, 3643,
234 3659, 3671, 3673, 3677, 3691, 3697, 3701, 3709,
235 3719, 3727, 3733, 3739, 3761, 3767, 3769, 3779,
236 3793, 3797, 3803, 3821, 3823, 3833, 3847, 3851,
237 3853, 3863, 3877, 3881, 3889, 3907, 3911, 3917,
238 3919, 3923, 3929, 3931, 3943, 3947, 3967, 3989,
239 4001, 4003, 4007, 4013, 4019, 4021, 4027, 4049,
240 4051, 4057, 4073, 4079, 4091, 4093, 4099, 4111,
241 4127, 4129, 4133, 4139, 4153, 4157, 4159, 4177,
242 4201, 4211, 4217, 4219, 4229, 4231, 4241, 4243,
243 4253, 4259, 4261, 4271, 4273, 4283, 4289, 4297,
244 4327, 4337, 4339, 4349, 4357, 4363, 4373, 4391,
245 4397, 4409, 4421, 4423, 4441, 4447, 4451, 4457,
246 4463, 4481, 4483, 4493, 4507, 4513, 4517, 4519,
247 4523, 4547, 4549, 4561, 4567, 4583, 4591, 4597,
248 4603, 4621, 4637, 4639, 4643, 4649, 4651, 4657,
249 4663, 4673, 4679, 4691, 4703, 4721, 4723, 4729,
250 4733, 4751, 4759, 4783, 4787, 4789, 4793, 4799,
251 4801, 4813, 4817, 4831, 4861, 4871, 4877, 4889,
252 4903, 4909, 4919, 4931, 4933, 4937, 4943, 4951,
253 4957, 4967, 4969, 4973, 4987, 4993, 4999,
254 0
255 };
256#define DIM(v) (sizeof(v)/sizeof((v)[0]))
257 static int no_of_small_prime_numbers = DIM (small_prime_numbers) - 1;
258
261 mpz_t prime, pminus1, val_2, val_3, result; 259 mpz_t prime, pminus1, val_2, val_3, result;
262 int i; 260 int i;
263 unsigned x, step; 261 unsigned x, step;