2 This file is part of GNUnet.
3 Copyright (C) 2002, 2003, 2004, 2006 GNUnet e.V.
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.
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.
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/>.
20 * @author Martin Schanzenbach
21 * @file util/test_crypto_abe.c
22 * @brief test for ABE ciphers
25 #include "gnunet_util_lib.h"
26 #include "gnunet_abe_lib.h"
28 #define TESTSTRING "Hello World!"
33 struct GNUNET_ABE_AbeMasterKey *msk;
34 struct GNUNET_ABE_AbeKey *key;
39 msk = GNUNET_ABE_cpabe_create_master_key ();
40 size = GNUNET_ABE_cpabe_encrypt (TESTSTRING, strlen (TESTSTRING) + 1,
44 GNUNET_assert (-1 != size);
45 attrs = GNUNET_malloc (2 * sizeof (char*));
46 attrs[0] = "testattr";
48 key = GNUNET_ABE_cpabe_create_key (msk,
51 size = GNUNET_ABE_cpabe_decrypt (result, size,
54 if (strlen (TESTSTRING) + 1 != size)
56 printf ("abeciphertest failed: decryptBlock returned %d\n", size);
59 if (0 != strcmp (res, TESTSTRING))
61 printf ("abeciphertest failed: %s != %s\n", res, TESTSTRING);
70 main (int argc, char *argv[])
74 GNUNET_log_setup ("test-crypto-abe", "WARNING", NULL);
75 failureCount += testAbecipher ();
77 if (failureCount != 0)
79 printf ("%d TESTS FAILED!\n", failureCount);
85 /* end of test_crypto_aes.c */