aboutsummaryrefslogtreecommitdiff
path: root/src/util/test_crypto_random.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/util/test_crypto_random.c')
-rw-r--r--src/util/test_crypto_random.c73
1 files changed, 0 insertions, 73 deletions
diff --git a/src/util/test_crypto_random.c b/src/util/test_crypto_random.c
deleted file mode 100644
index b9cbbdf76..000000000
--- a/src/util/test_crypto_random.c
+++ /dev/null
@@ -1,73 +0,0 @@
1/*
2 This file is part of GNUnet.
3 Copyright (C) 2009 GNUnet e.V.
4
5 GNUnet is free software: you can redistribute it and/or modify it
6 under the terms of the GNU Affero General Public License as published
7 by the Free Software Foundation, either version 3 of the License,
8 or (at your option) any later version.
9
10 GNUnet is distributed in the hope that it will be useful, but
11 WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Affero General Public License for more details.
14
15 You should have received a copy of the GNU Affero General Public License
16 along with this program. If not, see <http://www.gnu.org/licenses/>.
17
18 SPDX-License-Identifier: AGPL3.0-or-later
19
20 */
21
22/**
23 * @file util/test_crypto_random.c
24 * @brief testcase for crypto_random.c
25 */
26#include "platform.h"
27#include "gnunet_util_lib.h"
28
29static int
30test (enum GNUNET_CRYPTO_Quality mode)
31{
32 int buf[1024];
33 unsigned int *b2;
34 int i;
35 unsigned long long n;
36 struct GNUNET_Uuid tf;
37
38 for (i = 0; i < 1024; i++)
39 GNUNET_break (1024 > (buf[i] = GNUNET_CRYPTO_random_u32 (mode, 1024)));
40 for (i = 0; i < 10; i++)
41 {
42 b2 = GNUNET_CRYPTO_random_permute (mode, 1024);
43 if (0 == memcmp (b2, buf, sizeof(buf)))
44 {
45 fprintf (stderr, "%s", "!");
46 GNUNET_free (b2);
47 continue;
48 }
49 GNUNET_free (b2);
50 break;
51 }
52 if (i == 10)
53 return 1; /* virtually impossible... */
54
55 for (n = 10; n < 1024LL * 1024LL * 1024LL; n *= 10)
56 GNUNET_break (n > GNUNET_CRYPTO_random_u64 (mode, n));
57 GNUNET_CRYPTO_random_timeflake (mode,
58 &tf);
59 return 0;
60}
61
62
63int
64main (int argc, char *argv[])
65{
66 GNUNET_log_setup ("test-crypto-random", "WARNING", NULL);
67 if (0 != test (GNUNET_CRYPTO_QUALITY_WEAK))
68 return 1;
69 if (0 != test (GNUNET_CRYPTO_QUALITY_STRONG))
70 return 1;
71
72 return 0;
73}