gnutls_global_init();
if (argc != 4) {
- fprintf(stderr, "usage: %s [nonce|key] [nbytes] [outfile]\n", argv[0]);
+ fprintf(stderr, "args %d\nusage: %s [nonce|key] [nbytes] [outfile]\n", argc, argv[0]);
exit(1);
}
- if (strcasecmp(argv[1], "nonce")) {
+ if (strcasecmp(argv[1], "nonce") == 0) {
level = GNUTLS_RND_NONCE;
- } else if (strcasecmp(argv[1], "key")) {
+ } else if (strcasecmp(argv[1], "key") == 0) {
level = GNUTLS_RND_KEY;
} else {
+ fprintf(stderr, "don't know %s\n", argv[1]);
fprintf(stderr, "usage: %s [nonce|key] [nbytes] [outfile]\n", argv[0]);
exit(1);
}
fi
OUTFILE=rng.log
-RNGFILE=rng.rng
+RNGFILE=rng.out
+RNGFILE2=rng2.out
rm -f $OUTFILE
rm -f $RNGFILE
+rm -f $RNGFILE2
. $srcdir/../scripts/common.sh
echo "Testing nonce PRNG"
+./rng nonce 64 $RNGFILE
+./rng nonce 64 $RNGFILE2
+cmp $RNGFILE $RNGFILE2 >/dev/null 2>&1
+ret=$?
+
+if test $ret = 0;then
+ echo "numbers are repeated in nonce!"
+ exit 1
+fi
+
./rng nonce 100000000 $RNGFILE
dieharder -q -f $RNGFILE -g $RINPUTNO $OPTIONS >$OUTFILE 2>&1
rm -f $OUTFILE
echo "Testing key PRNG"
+
+./rng key 64 $RNGFILE
+./rng key 64 $RNGFILE2
+cmp $RNGFILE $RNGFILE2 >/dev/null 2>&1
+ret=$?
+
+if test $ret = 0;then
+ echo "numbers are repeated in nonce!"
+ exit 1
+fi
+
./rng key 100000000 $RNGFILE
dieharder -q -f $RNGFILE -g $RINPUTNO $OPTIONS >$OUTFILE 2>&1
rm -f $OUTFILE
rm -f $RNGFILE
+rm -f $RNGFILE2
exit 0