~ubuntu-branches/ubuntu/utopic/dropbear/utopic-proposed

« back to all changes in this revision

Viewing changes to libtomcrypt/demos/test/cipher_hash_test.c

  • Committer: Bazaar Package Importer
  • Author(s): Matt Johnston
  • Date: 2005-12-08 19:20:21 UTC
  • mfrom: (1.2.2 upstream)
  • Revision ID: james.westby@ubuntu.com-20051208192021-nyp9rwnt77nsg6ty
Tags: 0.47-1
* New upstream release.
* SECURITY: Fix incorrect buffer sizing.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
/* test the ciphers and hashes using their built-in self-tests */
2
 
 
3
 
#include "test.h"
4
 
 
5
 
int cipher_hash_test(void)
6
 
{
7
 
   int           x;
8
 
   unsigned char buf[4096];
9
 
   unsigned long n;
10
 
   prng_state    nprng;
11
 
   
12
 
   /* test ciphers */
13
 
   for (x = 0; cipher_descriptor[x].name != NULL; x++) {
14
 
      DO(cipher_descriptor[x].test());
15
 
   }
16
 
   
17
 
   /* test hashes */
18
 
   for (x = 0; hash_descriptor[x].name != NULL; x++) {
19
 
      DO(hash_descriptor[x].test());
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
 
   }
39
 
   
40
 
   return 0;
41
 
}