summaryrefslogtreecommitdiff
path: root/asdcplib/src/fips-186-rng-test.cpp
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2016-01-16 15:58:56 +0000
committerCarl Hetherington <cth@carlh.net>2016-01-16 15:58:56 +0000
commite04eced93da1907e803c065a953ffe0d6540e1cb (patch)
treecab897dea7c1a50c141ff948ff21e401038d0c07 /asdcplib/src/fips-186-rng-test.cpp
parent485794f8322b090a22da841961025b19642e42a2 (diff)
Use asdclib-cth rather than in-tree copy.
Diffstat (limited to 'asdcplib/src/fips-186-rng-test.cpp')
-rwxr-xr-xasdcplib/src/fips-186-rng-test.cpp96
1 files changed, 0 insertions, 96 deletions
diff --git a/asdcplib/src/fips-186-rng-test.cpp b/asdcplib/src/fips-186-rng-test.cpp
deleted file mode 100755
index aef3b87..0000000
--- a/asdcplib/src/fips-186-rng-test.cpp
+++ /dev/null
@@ -1,96 +0,0 @@
-/*
-Copyright (c) 2007-2009, John Hurst
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions
-are met:
-1. Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
-2. Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
-3. The name of the author may not be used to endorse or promote products
- derived from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
-IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
-IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
-INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
-NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
-THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-*/
-/*! \file fips-186-rng-test.cpp
- \version $Id: fips-186-rng-test.cpp,v 1.4 2009/10/08 15:58:16 jhurst Exp $
- \brief FIPS 186-2 RNG test wrapper
-*/
-
-#include <KM_util.h>
-#include <KM_prng.h>
-#include <openssl/sha.h>
-
-using namespace Kumu;
-
-//
-int
-main(int argc, const char** argv)
-{
- if ( argc != 5 )
- {
- fprintf(stderr, "USAGE: fips-186-test <rounds> <b> <XKey-hex> <X-hex>\n");
- return 2;
- }
-
- ui32_t const X_buf_len = 1024;
- byte_t XKey_buf[X_buf_len];
- byte_t X_test_buf[X_buf_len];
- ui32_t char_count;
-
- char* end = 0;
- ui32_t rounds = strtol(argv[1], &end, 10);
- ui32_t B = strtol(argv[2], &end, 10) / 8;
-
- if ( hex2bin(argv[3], XKey_buf, X_buf_len, &char_count) != 0 )
- {
- fprintf(stderr, "Error parsing <XKey-hex> value\n");
- return 3;
- }
-
- if ( char_count != B )
- {
- fprintf(stderr, "Incorrect length for <XKey-hex> value (expecting %d decoded bytes)\n", B);
- return 3;
- }
-
- if ( hex2bin(argv[4], X_test_buf, X_buf_len, &char_count) != 0 )
- {
- fprintf(stderr, "Error parsing <X-hex> value\n");
- return 3;
- }
-
- ui32_t const meg = 1024*1024;
- ui32_t out_size = char_count;
- byte_t X_buf[meg];
- ui32_t fill_size = rounds * 20;
- assert(fill_size < meg);
- Gen_FIPS_186_Value(XKey_buf, B, X_buf, fill_size);
-
- byte_t* test_key = &X_buf[fill_size - out_size];
-
- if ( memcmp(test_key, X_test_buf, char_count) != 0 )
- {
- fprintf(stderr, "Test vector value does not match:\n");
- hexdump(test_key, char_count);
- return 4;
- }
-
- return 0;
-}
-
-//
-// end rng.cpp
-//