Mercurial > dropbear
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 $ */