comparison demos/test/cipher_hash_test.c @ 143:5d99163f7e32 libtomcrypt-orig

import of libtomcrypt 0.99
author Matt Johnston <matt@ucc.asn.au>
date Sun, 19 Dec 2004 11:34:45 +0000
parents 6362d3854bb4
children
comparison
equal deleted inserted replaced
15:6362d3854bb4 143:5d99163f7e32
2 2
3 #include "test.h" 3 #include "test.h"
4 4
5 int cipher_hash_test(void) 5 int cipher_hash_test(void)
6 { 6 {
7 int x; 7 int x;
8 unsigned char buf[4096];
9 unsigned long n;
10 prng_state nprng;
8 11
9 /* test ciphers */ 12 /* test ciphers */
10 for (x = 0; cipher_descriptor[x].name != NULL; x++) { 13 for (x = 0; cipher_descriptor[x].name != NULL; x++) {
11 DO(cipher_descriptor[x].test()); 14 DO(cipher_descriptor[x].test());
12 } 15 }
13 16
14 /* test hashes */ 17 /* test hashes */
15 for (x = 0; hash_descriptor[x].name != NULL; x++) { 18 for (x = 0; hash_descriptor[x].name != NULL; x++) {
16 DO(hash_descriptor[x].test()); 19 DO(hash_descriptor[x].test());
17 } 20 }
21
22 /* test prngs (test, import/export */
23 for (x = 0; prng_descriptor[x].name != NULL; x++) {
24 DO(prng_descriptor[x].test());
25 DO(prng_descriptor[x].start(&nprng));
26 DO(prng_descriptor[x].add_entropy((unsigned char *)"helloworld12", 12, &nprng));
27 DO(prng_descriptor[x].ready(&nprng));
28 n = sizeof(buf);
29 DO(prng_descriptor[x].pexport(buf, &n, &nprng));
30 prng_descriptor[x].done(&nprng);
31 DO(prng_descriptor[x].pimport(buf, n, &nprng));
32 DO(prng_descriptor[x].ready(&nprng));
33 if (prng_descriptor[x].read(buf, 100, &nprng) != 100) {
34 fprintf(stderr, "Error reading from imported PRNG!\n");
35 exit(EXIT_FAILURE);
36 }
37 prng_descriptor[x].done(&nprng);
38 }
18 39
19 return 0; 40 return 0;
20 } 41 }