aboutsummaryrefslogtreecommitdiff
path: root/src/util/crypto_ksk.c
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2010-10-14 09:51:29 +0000
committerChristian Grothoff <christian@grothoff.org>2010-10-14 09:51:29 +0000
commit561a3a54710db9698e3405b496808af43682931c (patch)
tree7b6733fd4499b101b31899ae835bd1f45e3e645b /src/util/crypto_ksk.c
parentf7de546a5f6027642d1145163bc91b5792babd11 (diff)
downloadgnunet-561a3a54710db9698e3405b496808af43682931c.tar.gz
gnunet-561a3a54710db9698e3405b496808af43682931c.zip
stuff
Diffstat (limited to 'src/util/crypto_ksk.c')
-rw-r--r--src/util/crypto_ksk.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/src/util/crypto_ksk.c b/src/util/crypto_ksk.c
index 07ac939b4..b44c8e992 100644
--- a/src/util/crypto_ksk.c
+++ b/src/util/crypto_ksk.c
@@ -201,6 +201,22 @@ leave:
201 return rc; 201 return rc;
202} 202}
203 203
204/**
205 * If target != size, move target bytes to the
206 * end of the size-sized buffer and zero out the
207 * first target-size bytes.
208 */
209static void
210adjust (unsigned char *buf, size_t size, size_t target)
211{
212 if (size < target)
213 {
214 memmove (&buf[target - size], buf, size);
215 memset (buf, 0, target - size);
216 }
217}
218
219
204static void 220static void
205gen_prime (gcry_mpi_t *ptest, unsigned int nbits, GNUNET_HashCode * hc) 221gen_prime (gcry_mpi_t *ptest, unsigned int nbits, GNUNET_HashCode * hc)
206{ 222{
@@ -334,6 +350,8 @@ gen_prime (gcry_mpi_t *ptest, unsigned int nbits, GNUNET_HashCode * hc)
334 gcry_mpi_print (GCRYMPI_FMT_USG, 350 gcry_mpi_print (GCRYMPI_FMT_USG,
335 (unsigned char*) &mods[i], written, &written, 351 (unsigned char*) &mods[i], written, &written,
336 tmp)); 352 tmp));
353 adjust ( (unsigned char*) &mods[i], written, sizeof (unsigned int));
354 mods[i] = ntohl (mods[i]);
337 } 355 }
338 /* Now try some primes starting with prime. */ 356 /* Now try some primes starting with prime. */
339 for (step = 0; step < 20000; step += 2) 357 for (step = 0; step < 20000; step += 2)