diff libtomcrypt/testprof/pkcs_1_test.c @ 382:0cbe8f6dbf9e

propagate from branch 'au.asn.ucc.matt.ltc.dropbear' (head 2af22fb4e878750b88f80f90d439b316d229796f) to branch 'au.asn.ucc.matt.dropbear' (head 02c413252c90e9de8e03d91e9939dde3029f5c0a)
author Matt Johnston <matt@ucc.asn.au>
date Thu, 11 Jan 2007 02:41:05 +0000
parents 1b9e69c058d2
children f849a5ca2efc
line wrap: on
line diff
--- a/libtomcrypt/testprof/pkcs_1_test.c	Thu Jan 04 02:01:09 2007 +0000
+++ b/libtomcrypt/testprof/pkcs_1_test.c	Thu Jan 11 02:41:05 2007 +0000
@@ -5,7 +5,7 @@
 int pkcs_1_test(void)
 {
    unsigned char buf[3][128];
-   int res1, res2, res3, prng_idx, hash_idx;
+   int res1, res2, res3, prng_idx, hash_idx, err;
    unsigned long x, y, l1, l2, l3, i1, i2, lparamlen, saltlen, modlen;
    static const unsigned char lparam[] = { 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16 };
 
@@ -18,6 +18,7 @@
       return 1;
    }   
 
+   srand(time(NULL));
    /* do many tests */
    for (x = 0; x < 100; x++) {
       zeromem(buf, sizeof(buf));
@@ -26,9 +27,6 @@
       l3 = (rand() & 31) + 8;
       for (y = 0; y < l3; y++) buf[0][y] = rand() & 255;
 
-      /* random modulus len (v1.5 must be multiple of 8 though arbitrary sizes seem to work) */
-      modlen = 800 + 8 * (abs(rand()) % 28);
-
       /* pick a random lparam len [0..16] */
       lparamlen = abs(rand()) % 17;
 
@@ -69,9 +67,8 @@
       DO(pkcs_1_pss_decode(buf[0], l3, buf[1], l1, saltlen, hash_idx, modlen, &res2));
 
       buf[0][i1] ^= 1;
-      buf[1][i2 = abs(rand()) % l1] ^= 1;
-      DO(pkcs_1_pss_decode(buf[0], l3, buf[1], l1, saltlen, hash_idx, modlen, &res3));
-
+      buf[1][i2 = abs(rand()) % (l1 - 1)] ^= 1;
+      pkcs_1_pss_decode(buf[0], l3, buf[1], l1, saltlen, hash_idx, modlen, &res3);
       if (!(res1 == 1 && res2 == 0 && res3 == 0)) {
          fprintf(stderr, "PSS failed: %d, %d, %d, %lu, %lu\n", res1, res2, res3, l3, saltlen);
          return 1;
@@ -92,5 +89,5 @@
 
 
 /* $Source: /cvs/libtom/libtomcrypt/testprof/pkcs_1_test.c,v $ */
-/* $Revision: 1.6 $ */
-/* $Date: 2005/05/21 12:51:25 $ */
+/* $Revision: 1.7 $ */
+/* $Date: 2006/11/30 03:30:45 $ */