/*  test_hmac_prng.c - TinyCrypt implementation of some HMAC-PRNG tests */

/*
 *  Copyright (C) 2017 by Intel Corporation, All Rights Reserved.
 *
 *  Redistribution and use in source and binary forms, with or without
 *  modification, are permitted provided that the following conditions are met:
 *
 *    - Redistributions of source code must retain the above copyright notice,
 *     this list of conditions and the following disclaimer.
 *
 *    - 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.
 *
 *    - Neither the name of Intel Corporation nor the names of its contributors
 *    may be used to endorse or promote products derived from this software
 *    without specific prior written permission.
 *
 *  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "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 COPYRIGHT OWNER OR CONTRIBUTORS 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.
 */

/*
 *  DESCRIPTION
 *  This module tests the following PRNG routines:
 *
 *  Scenarios tested include:
 *  - HMAC-PRNG init
 *  - HMAC-PRNG reseed
 *  - HMAC-PRNG generate
 */

#include <tinycrypt/hmac_prng.h>
#include <tinycrypt/constants.h>

#include <stdio.h>
#include <zephyr/tc_util.h>
#include <zephyr/test_utils.h>
#include <zephyr/ztest.h>

struct hmac_prng_test_vector {
	uint8_t entropyinputlen;
	uint8_t noncelen;
	uint8_t personalizationstringlen;
	uint8_t additionalinputlen;
	uint8_t returnedbitslen;
	uint8_t entropyinput[32];
	uint8_t nonce[16];
	uint8_t personalizationstring[32];
	uint8_t entropyinputreseed[32];
	uint8_t additionalinputreseed[32];
	uint8_t returnedbits[128];
};

unsigned int do_hmac_prng_pr_false_test(unsigned int testnum, const struct
					hmac_prng_test_vector * vec)
{
	struct tc_hmac_prng_struct h;
	uint8_t random[128];
	uint32_t seed_material_size;
	/* entropyinput || nonce || personalizationstring */
	uint8_t seed_material[32 + 16 + 32];
	unsigned int result = TC_PASS;

	uint8_t *p = seed_material;

	memset(&h, 0x0, sizeof(h));

	if (vec->entropyinputlen > 0) {
		memcpy(p, vec->entropyinput, vec->entropyinputlen);
		p += vec->entropyinputlen;
	}

	if (vec->noncelen > 0) {
		memcpy(p, vec->nonce, vec->noncelen);
		p += vec->noncelen;
	}

	if (vec->personalizationstringlen > 0) {
		memcpy(p, vec->personalizationstring,
		vec->personalizationstringlen);
	}

	seed_material_size = vec->entropyinputlen + vec->noncelen +
			     vec->personalizationstringlen;
	(void)tc_hmac_prng_init(&h, seed_material, seed_material_size);
	(void)tc_hmac_prng_reseed(&h, vec->entropyinputreseed,
				  vec->entropyinputlen, 0, 0);
	(void)tc_hmac_prng_generate(random, vec->returnedbitslen, &h);
	(void)tc_hmac_prng_generate(random, vec->returnedbitslen, &h);
	result = check_result(testnum, vec->returnedbits, vec->returnedbitslen,
			      random, vec->returnedbitslen, 1);
	return result;
}

unsigned int test_1(void)
{
	unsigned int result = TC_PASS;
	const struct hmac_prng_test_vector vec = {
		32,
		16,
		0,
		0,
		128,
		{
			0x06, 0x03, 0x2c, 0xd5, 0xee, 0xd3, 0x3f, 0x39, 0x26,
			0x5f, 0x49, 0xec, 0xb1, 0x42, 0xc5, 0x11, 0xda, 0x9a,
			0xff, 0x2a, 0xf7, 0x12, 0x03, 0xbf, 0xfa, 0xf3, 0x4a,
			0x9c, 0xa5, 0xbd, 0x9c, 0x0d,
		},
		{
			0x0e, 0x66, 0xf7, 0x1e, 0xdc, 0x43, 0xe4, 0x2a, 0x45,
			0xad, 0x3c, 0x6f, 0xc6, 0xcd, 0xc4, 0xdf,
		},
		{
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00,
		},
		{
			0x01, 0x92, 0x0a, 0x4e, 0x66, 0x9e, 0xd3, 0xa8, 0x5a,
			0xe8, 0xa3, 0x3b, 0x35, 0xa7, 0x4a, 0xd7, 0xfb, 0x2a,
			0x6b, 0xb4, 0xcf, 0x39, 0x5c, 0xe0, 0x03, 0x34, 0xa9,
			0xc9, 0xa5, 0xa5, 0xd5, 0x52,
		},
		{
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00,
		},
		{
			0x76, 0xfc, 0x79, 0xfe, 0x9b, 0x50, 0xbe, 0xcc, 0xc9,
			0x91, 0xa1, 0x1b, 0x56, 0x35, 0x78, 0x3a, 0x83, 0x53,
			0x6a, 0xdd, 0x03, 0xc1, 0x57, 0xfb, 0x30, 0x64, 0x5e,
			0x61, 0x1c, 0x28, 0x98, 0xbb, 0x2b, 0x1b, 0xc2, 0x15,
			0x00, 0x02, 0x09, 0x20, 0x8c, 0xd5, 0x06, 0xcb, 0x28,
			0xda, 0x2a, 0x51, 0xbd, 0xb0, 0x38, 0x26, 0xaa, 0xf2,
			0xbd, 0x23, 0x35, 0xd5, 0x76, 0xd5, 0x19, 0x16, 0x08,
			0x42, 0xe7, 0x15, 0x8a, 0xd0, 0x94, 0x9d, 0x1a, 0x9e,
			0xc3, 0xe6, 0x6e, 0xa1, 0xb1, 0xa0, 0x64, 0xb0, 0x05,
			0xde, 0x91, 0x4e, 0xac, 0x2e, 0x9d, 0x4f, 0x2d, 0x72,
			0xa8, 0x61, 0x6a, 0x80, 0x22, 0x54, 0x22, 0x91, 0x82,
			0x50, 0xff, 0x66, 0xa4, 0x1b, 0xd2, 0xf8, 0x64, 0xa6,
			0xa3, 0x8c, 0xc5, 0xb6, 0x49, 0x9d, 0xc4, 0x3f, 0x7f,
			0x2b, 0xd0, 0x9e, 0x1e, 0x0f, 0x8f, 0x58, 0x85, 0x93,
			0x51, 0x24,
		}
	};

	TC_PRINT(".");
	result = do_hmac_prng_pr_false_test(1, &vec);

	return result;
}

unsigned int test_2(void)
{
	unsigned int result = TC_PASS;
	const struct hmac_prng_test_vector vec = {
		32,
		16,
		0,
		0,
		128,
		{
			0xaa, 0xdc, 0xf3, 0x37, 0x78, 0x8b, 0xb8, 0xac, 0x01,
			0x97, 0x66, 0x40, 0x72, 0x6b, 0xc5, 0x16, 0x35, 0xd4,
			0x17, 0x77, 0x7f, 0xe6, 0x93, 0x9e, 0xde, 0xd9, 0xcc,
			0xc8, 0xa3, 0x78, 0xc7, 0x6a,
		},
		{
			0x9c, 0xcc, 0x9d, 0x80, 0xc8, 0x9a, 0xc5, 0x5a, 0x8c,
			0xfe, 0x0f, 0x99, 0x94, 0x2f, 0x5a, 0x4d,
		},
		{
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00,
		},
		{
			0x03, 0xa5, 0x77, 0x92, 0x54, 0x7e, 0x0c, 0x98, 0xea,
			0x17, 0x76, 0xe4, 0xba, 0x80, 0xc0, 0x07, 0x34, 0x62,
			0x96, 0xa5, 0x6a, 0x27, 0x0a, 0x35, 0xfd, 0x9e, 0xa2,
			0x84, 0x5c, 0x7e, 0x81, 0xe2,
		},
		{
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00,
		},
		{
			0x17, 0xd0, 0x9f, 0x40, 0xa4, 0x37, 0x71, 0xf4, 0xa2,
			0xf0, 0xdb, 0x32, 0x7d, 0xf6, 0x37, 0xde, 0xa9, 0x72,
			0xbf, 0xff, 0x30, 0xc9, 0x8e, 0xbc, 0x88, 0x42, 0xdc,
			0x7a, 0x9e, 0x3d, 0x68, 0x1c, 0x61, 0x90, 0x2f, 0x71,
			0xbf, 0xfa, 0xf5, 0x09, 0x36, 0x07, 0xfb, 0xfb, 0xa9,
			0x67, 0x4a, 0x70, 0xd0, 0x48, 0xe5, 0x62, 0xee, 0x88,
			0xf0, 0x27, 0xf6, 0x30, 0xa7, 0x85, 0x22, 0xec, 0x6f,
			0x70, 0x6b, 0xb4, 0x4a, 0xe1, 0x30, 0xe0, 0x5c, 0x8d,
			0x7e, 0xac, 0x66, 0x8b, 0xf6, 0x98, 0x0d, 0x99, 0xb4,
			0xc0, 0x24, 0x29, 0x46, 0x45, 0x23, 0x99, 0xcb, 0x03,
			0x2c, 0xc6, 0xf9, 0xfd, 0x96, 0x28, 0x47, 0x09, 0xbd,
			0x2f, 0xa5, 0x65, 0xb9, 0xeb, 0x9f, 0x20, 0x04, 0xbe,
			0x6c, 0x9e, 0xa9, 0xff, 0x91, 0x28, 0xc3, 0xf9, 0x3b,
			0x60, 0xdc, 0x30, 0xc5, 0xfc, 0x85, 0x87, 0xa1, 0x0d,
			0xe6, 0x8c,
		}
	};

	TC_PRINT(".");
	result = do_hmac_prng_pr_false_test(2, &vec);

	return result;
}

unsigned int test_3(void)
{
	unsigned int result = TC_PASS;
	const struct hmac_prng_test_vector vec = {
		32,
		16,
		0,
		0,
		128,
		{
			0x62, 0xcd, 0xa4, 0x41, 0xdd, 0x80, 0x2c, 0x76, 0x52,
			0xc0, 0x0b, 0x99, 0xca, 0xc3, 0x65, 0x2a, 0x64, 0xfc,
			0x75, 0x38, 0x8d, 0xc9, 0xad, 0xcf, 0x76, 0x35, 0x30,
			0xac, 0x31, 0xdf, 0x92, 0x14,
		},
		{
			0x5f, 0xdc, 0x89, 0x7a, 0x0c, 0x1c, 0x48, 0x22, 0x04,
			0xef, 0x07, 0xe0, 0x80, 0x5c, 0x01, 0x4b,
		},
		{
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00,
		},
		{
			0xbd, 0x9b, 0xbf, 0x71, 0x74, 0x67, 0xbf, 0x4b, 0x5d,
			0xb2, 0xaa, 0x34, 0x4d, 0xd0, 0xd9, 0x09, 0x97, 0xc8,
			0x20, 0x1b, 0x22, 0x65, 0xf4, 0x45, 0x12, 0x70, 0x12,
			0x8f, 0x5a, 0xc0, 0x5a, 0x1a,
		},
		{
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00,
		},
		{
			0x7e, 0x41, 0xf9, 0x64, 0x7a, 0x5e, 0x67, 0x50, 0xeb,
			0x8a, 0xcf, 0x13, 0xa0, 0x2f, 0x23, 0xf3, 0xbe, 0x77,
			0x61, 0x1e, 0x51, 0x99, 0x2c, 0xed, 0xb6, 0x60, 0x2c,
			0x31, 0x45, 0x31, 0xaf, 0xf2, 0xa6, 0xe4, 0xc5, 0x57,
			0xda, 0x07, 0x77, 0xd4, 0xe8, 0x5f, 0xae, 0xfc, 0xb1,
			0x43, 0xf1, 0xa9, 0x2e, 0x0d, 0xba, 0xc8, 0xde, 0x8b,
			0x88, 0x5c, 0xed, 0x62, 0xa1, 0x24, 0xf0, 0xb1, 0x06,
			0x20, 0xf1, 0x40, 0x9a, 0xe8, 0x7e, 0x22, 0x89, 0x94,
			0xb8, 0x30, 0xec, 0xa6, 0x38, 0xcc, 0xdc, 0xee, 0xdd,
			0x3f, 0xcd, 0x07, 0xd0, 0x24, 0xb6, 0x46, 0x70, 0x4f,
			0x44, 0xd5, 0xd9, 0xc4, 0xc3, 0xa7, 0xb7, 0x05, 0xf3,
			0x71, 0x04, 0xb4, 0x5b, 0x9c, 0xfc, 0x2d, 0x93, 0x3a,
			0xe4, 0x3c, 0x12, 0xf5, 0x3e, 0x3e, 0x6f, 0x79, 0x8c,
			0x51, 0xbe, 0x5f, 0x64, 0x01, 0x15, 0xd4, 0x5c, 0xf9,
			0x19, 0xa4,
		}
	};

	TC_PRINT(".");
	result = do_hmac_prng_pr_false_test(3, &vec);

	return result;
}

unsigned int test_4(void)
{
	unsigned int result = TC_PASS;
	const struct hmac_prng_test_vector vec = {
		32,
		16,
		0,
		0,
		128,
		{
			0x6b, 0xdc, 0x6c, 0xa8, 0xee, 0xf0, 0xe3, 0x53, 0x3a,
			0xbd, 0x02, 0x58, 0x0e, 0xbb, 0xc8, 0xa9, 0x2f, 0x38,
			0x2c, 0x5b, 0x1c, 0x8e, 0x3e, 0xaa, 0x12, 0x56, 0x6e,
			0xcf, 0xb9, 0x03, 0x89, 0xa3,
		},
		{
			0x8f, 0x84, 0x81, 0xcc, 0x77, 0x35, 0x82, 0x74, 0x77,
			0xe0, 0xe4, 0xac, 0xb7, 0xf4, 0xa0, 0xfa,
		},
		{
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00,
		},
		{
			0x72, 0xec, 0xa6, 0xf1, 0x56, 0x07, 0x20, 0xe6, 0xbd,
			0x1f, 0xf0, 0x15, 0x2c, 0x12, 0xee, 0xff, 0x1f, 0x95,
			0x94, 0x62, 0xfd, 0x62, 0xc7, 0x2b, 0x7d, 0xde, 0x96,
			0xab, 0xcb, 0x7f, 0x79, 0xfb,
		},
		{
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00,
		},
		{
			0xd5, 0xa2, 0xe2, 0xf2, 0x54, 0xb5, 0xae, 0x65, 0x59,
			0x0d, 0x4f, 0xd1, 0xff, 0x5c, 0x75, 0x8e, 0x42, 0x5b,
			0xe4, 0xba, 0xcd, 0xee, 0xde, 0x79, 0x89, 0x66, 0x9f,
			0x0a, 0x22, 0xd3, 0x42, 0x74, 0xfd, 0xfc, 0x2b, 0xf8,
			0x71, 0x35, 0xe3, 0x0a, 0xbd, 0xae, 0x26, 0x91, 0x62,
			0x9c, 0x2f, 0x6f, 0x42, 0x5b, 0xd4, 0xe1, 0x19, 0x90,
			0x4d, 0x47, 0x85, 0xec, 0xd9, 0x32, 0x8f, 0x15, 0x25,
			0x95, 0x63, 0xe5, 0xa7, 0x1f, 0x91, 0x5e, 0xc0, 0xc0,
			0x2b, 0x66, 0x65, 0x54, 0x71, 0x06, 0x7b, 0x01, 0x01,
			0x6f, 0xdf, 0x93, 0x4a, 0x47, 0xb0, 0x17, 0xe0, 0x7c,
			0x21, 0x33, 0x26, 0x41, 0x40, 0x0b, 0xbe, 0x57, 0x19,
			0x05, 0x0d, 0xba, 0x22, 0xc0, 0x20, 0xb9, 0xb2, 0xd2,
			0xcd, 0xb9, 0x33, 0xdb, 0xc7, 0x0f, 0x76, 0xfe, 0xc4,
			0xb1, 0xd8, 0x39, 0x80, 0xfd, 0x1a, 0x13, 0xc4, 0x56,
			0x58, 0x36,
		}
	};

	TC_PRINT(".");
	result = do_hmac_prng_pr_false_test(4, &vec);

	return result;
}

unsigned int test_5(void)
{
	unsigned int result = TC_PASS;
	const struct hmac_prng_test_vector vec = {
		32,
		16,
		0,
		0,
		128,
		{
			0x09, 0x6e, 0xf3, 0x72, 0x94, 0xd3, 0x69, 0xfa, 0xce,
			0x1a, 0xdd, 0x3e, 0xb8, 0xb4, 0x25, 0x89, 0x5e, 0x92,
			0x16, 0x26, 0x49, 0x57, 0x05, 0xc5, 0xa0, 0x3e, 0xe5,
			0x66, 0xb3, 0x41, 0x58, 0xec,
		},
		{
			0x6e, 0x2e, 0x08, 0x25, 0x53, 0x4d, 0x29, 0x89, 0x71,
			0x5c, 0xc8, 0x59, 0x56, 0xe0, 0x14, 0x8d,
		},
		{
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00,
		},
		{
			0x1b, 0x4f, 0x71, 0x25, 0xf4, 0x72, 0xc2, 0x53, 0x83,
			0x7f, 0xa7, 0x87, 0xd5, 0xac, 0xf0, 0x38, 0x2a, 0x3b,
			0x89, 0xc3, 0xf4, 0x1c, 0x21, 0x1d, 0x26, 0x30, 0x52,
			0x40, 0x2d, 0xcc, 0x62, 0xc5,
		},
		{
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00,
		},
		{
			0x45, 0x41, 0xf2, 0x4f, 0x75, 0x9b, 0x5f, 0x2a, 0xc2,
			0xb5, 0x7b, 0x51, 0x12, 0x50, 0x77, 0xcc, 0x74, 0x0b,
			0x38, 0x59, 0xa7, 0x19, 0xa9, 0xba, 0xb1, 0x19, 0x6e,
			0x6c, 0x0c, 0xa2, 0xbd, 0x05, 0x7a, 0xf9, 0xd3, 0x89,
			0x23, 0x86, 0xa1, 0x81, 0x3f, 0xc8, 0x87, 0x5d, 0x8d,
			0x36, 0x4f, 0x15, 0xe7, 0xfd, 0x69, 0xd1, 0xcc, 0x66,
			0x59, 0x47, 0x04, 0x15, 0x27, 0x81, 0x64, 0xdf, 0x65,
			0x62, 0x95, 0xba, 0x9c, 0xfc, 0xee, 0x79, 0xf6, 0xcb,
			0xe2, 0x6e, 0xe1, 0x36, 0xe6, 0xb4, 0x5e, 0xc2, 0x24,
			0xad, 0x37, 0x9c, 0x60, 0x79, 0xb1, 0x0a, 0x2e, 0x0c,
			0xb5, 0xf7, 0xf7, 0x85, 0xef, 0x0a, 0xb7, 0xa7, 0xc3,
			0xfc, 0xd9, 0xcb, 0x65, 0x06, 0x05, 0x4d, 0x20, 0xe2,
			0xf3, 0xec, 0x61, 0x0c, 0xbb, 0xa9, 0xb0, 0x45, 0xa2,
			0x48, 0xaf, 0x56, 0xe4, 0xf6, 0xd3, 0xf0, 0xc8, 0xd9,
			0x6a, 0x23,
		}
	};

	TC_PRINT(".");
	result = do_hmac_prng_pr_false_test(5, &vec);

	return result;
}

unsigned int test_6(void)
{
	unsigned int result = TC_PASS;
	const struct hmac_prng_test_vector vec = {
		32,
		16,
		0,
		0,
		128,
		{
			0xa7, 0xdc, 0xcd, 0xd4, 0x31, 0xae, 0x57, 0x26, 0xb8,
			0x35, 0x85, 0xb5, 0x4e, 0xae, 0x41, 0x08, 0xf7, 0xb7,
			0xa2, 0x5c, 0x70, 0x18, 0x7c, 0x0a, 0xcb, 0xb9, 0x4c,
			0x96, 0xcc, 0x27, 0x7a, 0xa8,
		},
		{
			0x94, 0xc8, 0xf4, 0xb8, 0xe1, 0x95, 0xa4, 0x73, 0x56,
			0xa8, 0x9a, 0x50, 0xd1, 0x38, 0x9a, 0xb5,
		},
		{
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00,
		},
		{
			0x51, 0x73, 0x3e, 0xee, 0x2e, 0x92, 0x2f, 0x40, 0x55,
			0xe5, 0x39, 0x39, 0xe2, 0x22, 0xe7, 0x1f, 0xae, 0x73,
			0x0e, 0xb0, 0x37, 0x44, 0x3d, 0xb2, 0xc7, 0x67, 0x97,
			0x08, 0xab, 0xb8, 0x6a, 0x65,
		},
		{
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00,
		},
		{
			0x99, 0xba, 0x26, 0x91, 0xa6, 0x22, 0xaf, 0xec, 0xc9,
			0x47, 0x24, 0x18, 0xe6, 0xa8, 0xf9, 0xf1, 0xcd, 0xc1,
			0xe3, 0x58, 0x3c, 0x3b, 0xc7, 0xa2, 0xa6, 0x50, 0xa1,
			0xab, 0x79, 0xdc, 0xbc, 0xcb, 0xd6, 0x56, 0x63, 0x6c,
			0x57, 0x31, 0x79, 0x27, 0x6e, 0x78, 0x25, 0x69, 0x42,
			0x0c, 0x97, 0x43, 0x8c, 0x06, 0xbe, 0x89, 0x88, 0x67,
			0xf6, 0x28, 0xb1, 0xc0, 0x1e, 0xb5, 0x70, 0x26, 0x3d,
			0x2c, 0x0f, 0x09, 0xc7, 0xaa, 0xb5, 0x36, 0xf6, 0xfb,
			0xa7, 0xdf, 0x6a, 0xad, 0x19, 0xe0, 0x5c, 0x23, 0x6b,
			0x64, 0x56, 0x74, 0x66, 0x7c, 0x03, 0xd1, 0xb6, 0xa0,
			0x4d, 0x7f, 0xc1, 0x11, 0x77, 0xfe, 0x78, 0x93, 0x3b,
			0x30, 0x96, 0x79, 0xf5, 0xbf, 0x26, 0xa4, 0x63, 0x2b,
			0x9a, 0x13, 0xe3, 0x14, 0xc4, 0xbf, 0x45, 0x32, 0x42,
			0x8d, 0x3d, 0x95, 0xc6, 0x89, 0x00, 0x2b, 0x6d, 0xc1,
			0xfb, 0xb1,
		}
	};

	TC_PRINT(".");
	result = do_hmac_prng_pr_false_test(6, &vec);

	return result;
}

unsigned int test_7(void)
{
	unsigned int result = TC_PASS;
	const struct hmac_prng_test_vector vec = {
		32,
		16,
		0,
		0,
		128,
		{
			0xc2, 0x86, 0x42, 0x5e, 0xcf, 0x54, 0x3a, 0x49, 0xbc,
			0xc9, 0x19, 0x6b, 0x0d, 0xb1, 0xa8, 0x0b, 0xc5, 0x4e,
			0x49, 0x48, 0xad, 0xba, 0x6f, 0x41, 0x71, 0x2a, 0x35,
			0x0a, 0x02, 0x89, 0x1f, 0xa6,
		},
		{
			0x95, 0x7a, 0x65, 0x9a, 0x4e, 0xc2, 0xe0, 0xb7, 0xad,
			0x18, 0x54, 0x83, 0xc2, 0x20, 0xfd, 0x61,
		},
		{
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00,
		},
		{
			0x08, 0xc2, 0x12, 0x98, 0x13, 0xee, 0xa0, 0x77, 0x6f,
			0xba, 0x72, 0x78, 0x8f, 0xdf, 0x27, 0x18, 0x75, 0x9c,
			0xc3, 0xc4, 0x20, 0x7f, 0xa2, 0x0a, 0x5f, 0xe2, 0x3a,
			0xc6, 0xe3, 0x2c, 0xc2, 0x8e,
		},
		{
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00,
		},
		{
			0x8e, 0x10, 0x20, 0xa4, 0xfd, 0x84, 0xc9, 0x9e, 0x0f,
			0xc7, 0xe3, 0xf7, 0xce, 0x48, 0xde, 0x5e, 0xd9, 0xec,
			0x9a, 0x5c, 0x2c, 0xcd, 0x62, 0x4d, 0xbe, 0x6f, 0x30,
			0xe2, 0xf6, 0x88, 0xa3, 0x1d, 0xc5, 0x59, 0x57, 0x63,
			0x03, 0x57, 0xa5, 0xd4, 0x8c, 0xa2, 0xa4, 0x56, 0x24,
			0x1a, 0x28, 0xbf, 0xb1, 0x6d, 0x8b, 0xb0, 0x00, 0x87,
			0x76, 0x97, 0xa7, 0xce, 0x24, 0xd9, 0xad, 0x4d, 0x22,
			0xb0, 0xc1, 0x51, 0x17, 0x99, 0x6f, 0x1f, 0x27, 0x0b,
			0x94, 0xf4, 0x6d, 0x7a, 0x9b, 0xdf, 0xa7, 0x60, 0x8f,
			0xa1, 0xdd, 0x84, 0x91, 0x77, 0xa9, 0xb8, 0x04, 0x9e,
			0x51, 0xb6, 0xb7, 0xa2, 0x74, 0x26, 0x23, 0x85, 0x4a,
			0x1f, 0xdd, 0xb5, 0xef, 0xc4, 0x47, 0xee, 0xd1, 0xea,
			0x1a, 0xed, 0x6f, 0x02, 0xb4, 0xb2, 0x75, 0x4e, 0xcf,
			0x71, 0xea, 0x05, 0x09, 0xda, 0x2e, 0x54, 0xf5, 0x24,
			0xa7, 0xe7,
		}
	};

	TC_PRINT(".");
	result = do_hmac_prng_pr_false_test(7, &vec);

	return result;
}

unsigned int test_8(void)
{
	unsigned int result = TC_PASS;
	const struct hmac_prng_test_vector vec = {
		32,
		16,
		0,
		0,
		128,
		{
			0x02, 0x81, 0x8b, 0xd7, 0xc1, 0xec, 0x45, 0x6a, 0xce,
			0x55, 0xbe, 0xeb, 0xa9, 0x9f, 0x64, 0x6a, 0x6d, 0x3a,
			0xa0, 0xea, 0x78, 0x35, 0x6e, 0xa7, 0x26, 0xb7, 0x63,
			0xff, 0x0d, 0xd2, 0xd6, 0x56,
		},
		{
			0xc4, 0x82, 0x68, 0x7d, 0x50, 0x8c, 0x9b, 0x5c, 0x2a,
			0x75, 0xf7, 0xce, 0x39, 0x00, 0x14, 0xe8,
		},
		{
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00,
		},
		{
			0xcf, 0x31, 0x9b, 0xfa, 0x63, 0x98, 0x0e, 0x3c, 0xb9,
			0x97, 0xfd, 0x28, 0x77, 0x1b, 0xb5, 0x61, 0x4e, 0x3a,
			0xcb, 0x11, 0x49, 0xba, 0x45, 0xc1, 0x33, 0xff, 0xbb,
			0xab, 0x17, 0x43, 0x31, 0x93,
		},
		{
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00,
		},
		{
			0x19, 0xa2, 0x31, 0xff, 0x26, 0xc1, 0x86, 0x5c, 0xe7,
			0x5d, 0x7a, 0x71, 0x85, 0xc3, 0x0d, 0xd0, 0xb3, 0x33,
			0x12, 0x64, 0x33, 0xd0, 0xc8, 0xcb, 0xf1, 0xbe, 0x0d,
			0x2b, 0x38, 0x4d, 0x4e, 0xb3, 0xa8, 0xaf, 0xf0, 0x35,
			0x40, 0xfb, 0xfa, 0x5f, 0x54, 0x96, 0x52, 0x1a, 0x4e,
			0x4a, 0x64, 0x07, 0x1b, 0x44, 0xc7, 0x8b, 0xd0, 0xb7,
			0xe6, 0x8f, 0xac, 0x9e, 0x56, 0x95, 0xc5, 0xc1, 0x3f,
			0xd3, 0xb9, 0xdb, 0xe7, 0xf7, 0x73, 0x97, 0x81, 0xa4,
			0xc8, 0xf0, 0xb9, 0x80, 0xf1, 0xb1, 0x7d, 0x99, 0xbc,
			0xe1, 0x7c, 0xeb, 0x52, 0xb5, 0x68, 0x66, 0xae, 0x02,
			0x45, 0x6f, 0xfe, 0xf8, 0x33, 0x99, 0xc8, 0xcf, 0x78,
			0x26, 0xf3, 0xc4, 0x5c, 0x8a, 0x19, 0x31, 0x58, 0x90,
			0x91, 0x9d, 0x20, 0xf4, 0x0f, 0xc4, 0xe1, 0x8d, 0x07,
			0xe9, 0xc8, 0xcc, 0xd1, 0x6c, 0x33, 0x27, 0xb5, 0x98,
			0x8f, 0x71,
		}
	};

	TC_PRINT(".");
	result = do_hmac_prng_pr_false_test(8, &vec);

	return result;
}

unsigned int test_9(void)
{
	unsigned int result = TC_PASS;
	const struct hmac_prng_test_vector vec = {
		32,
		16,
		0,
		0,
		128,
		{
			0x77, 0xa5, 0xc8, 0x6d, 0x99, 0xbe, 0x7b, 0xc2, 0x50,
			0x28, 0x70, 0xf4, 0x02, 0x5f, 0x9f, 0x75, 0x63, 0xe9,
			0x17, 0x4e, 0xc6, 0x7c, 0x5f, 0x48, 0x1f, 0x21, 0xfc,
			0xf2, 0xb4, 0x1c, 0xae, 0x4b,
		},
		{
			0xed, 0x04, 0x4a, 0xd7, 0x2e, 0xe8, 0x22, 0x50, 0x6a,
			0x6d, 0x0b, 0x12, 0x11, 0x50, 0x29, 0x67,
		},
		{
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00,
		},
		{
			0x77, 0x81, 0x00, 0x74, 0x9f, 0x01, 0xa4, 0xd3, 0x5c,
			0x3b, 0x4a, 0x95, 0x8a, 0xaf, 0xe2, 0x96, 0x87, 0x7e,
			0x0a, 0xca, 0xfd, 0x08, 0x9f, 0x50, 0xbc, 0x77, 0x97,
			0xa4, 0x2a, 0x33, 0xab, 0x71,
		},
		{
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00,
		},
		{
			0x83, 0x1a, 0x4d, 0xa5, 0x66, 0xf4, 0x62, 0x89, 0x90,
			0x48, 0x93, 0xef, 0x1c, 0xc1, 0xcd, 0x4a, 0xd1, 0x9e,
			0xe4, 0x8f, 0x38, 0x57, 0xe2, 0xb6, 0x9e, 0x93, 0x6d,
			0x10, 0xaf, 0xbd, 0xc2, 0x98, 0x22, 0xe8, 0x5d, 0x02,
			0x66, 0x3d, 0x34, 0x6e, 0xf3, 0xe0, 0x9a, 0x84, 0x8b,
			0x1d, 0x9c, 0xc0, 0x4f, 0x4c, 0x4c, 0x6e, 0x3b, 0x3b,
			0x0e, 0x56, 0xa0, 0x34, 0xe2, 0x33, 0x4d, 0x34, 0xca,
			0x08, 0xf8, 0x09, 0x7b, 0xe3, 0x07, 0xba, 0x41, 0xd0,
			0x20, 0xbc, 0x94, 0xf8, 0xc1, 0x93, 0x7f, 0xe8, 0x56,
			0x44, 0xee, 0xb5, 0x59, 0x2c, 0x2b, 0x5a, 0x21, 0x38,
			0xf7, 0xde, 0xd9, 0xa5, 0xb4, 0x4b, 0x20, 0x0c, 0x8b,
			0x5b, 0xeb, 0x27, 0x59, 0x7c, 0x79, 0x0f, 0x94, 0xd6,
			0x60, 0xeb, 0x61, 0xe8, 0x24, 0x83, 0x91, 0xed, 0xc3,
			0xae, 0x2d, 0x77, 0x65, 0x6c, 0xbe, 0x83, 0x54, 0x27,
			0x5b, 0x13,
		}
	};

	TC_PRINT(".");
	result = do_hmac_prng_pr_false_test(9, &vec);

	return result;
}

unsigned int test_10(void)
{
	unsigned int result = TC_PASS;
	const struct hmac_prng_test_vector vec = {
		32,
		16,
		0,
		0,
		128,
		{
			0x0e, 0xa4, 0x58, 0xcf, 0xf8, 0xbf, 0xd1, 0xdd, 0x8b,
			0x1a, 0xdd, 0xcb, 0xa9, 0xc0, 0x13, 0x17, 0xd5, 0x30,
			0x39, 0xe5, 0x33, 0x10, 0x4e, 0x32, 0xf9, 0x6e, 0x7d,
			0x34, 0x2e, 0x6c, 0x7b, 0x9b,
		},
		{
			0x93, 0x5a, 0x4b, 0x66, 0xfc, 0x74, 0xc2, 0xa4, 0x87,
			0x57, 0xa9, 0x9c, 0x39, 0x9e, 0x64, 0xe3,
		},
		{
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00,
		},
		{
			0x6c, 0x5f, 0x37, 0x08, 0xe7, 0xb7, 0x14, 0xc4, 0xed,
			0x13, 0x9b, 0x4f, 0xa9, 0xe8, 0xc7, 0x63, 0xaf, 0x01,
			0x77, 0x34, 0x84, 0x00, 0x51, 0x09, 0xa8, 0x5e, 0x33,
			0x65, 0x3b, 0xb0, 0xce, 0x98,
		},
		{
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00,
		},
		{
			0x37, 0x3a, 0x37, 0xaf, 0x84, 0xfd, 0xde, 0xc1, 0x36,
			0x45, 0xa9, 0x76, 0x8d, 0x6a, 0x78, 0x5a, 0xe5, 0xa2,
			0x58, 0x9d, 0x64, 0xcd, 0x9b, 0x37, 0x98, 0x0d, 0xde,
			0x25, 0x41, 0x49, 0x92, 0x10, 0xc4, 0xf4, 0x08, 0x33,
			0x5d, 0xe1, 0xd5, 0x85, 0x34, 0x90, 0x64, 0xf3, 0xf5,
			0x3a, 0x2b, 0x4c, 0x5e, 0xc6, 0xdc, 0x2a, 0x09, 0x59,
			0x1f, 0x99, 0xad, 0x9f, 0xad, 0x52, 0x8a, 0xc8, 0x34,
			0x74, 0x16, 0x4b, 0x45, 0x49, 0x7b, 0xf1, 0x67, 0xf8,
			0x1e, 0x66, 0xfa, 0x08, 0x46, 0x3f, 0xfe, 0xa9, 0x17,
			0xf6, 0x89, 0x1e, 0x48, 0xf1, 0x49, 0xfa, 0xfc, 0x20,
			0x62, 0x2b, 0xb1, 0x17, 0x2f, 0x34, 0x88, 0x6f, 0xeb,
			0x45, 0xc2, 0x6f, 0xd4, 0x46, 0xa4, 0xa4, 0xe2, 0x89,
			0x1b, 0x4b, 0xc5, 0x94, 0x18, 0x68, 0x96, 0x14, 0x1a,
			0xaa, 0xee, 0xb3, 0x01, 0xb4, 0x9e, 0x7c, 0x1a, 0x26,
			0xfe, 0xc7,
		}
	};

	TC_PRINT(".");
	result = do_hmac_prng_pr_false_test(10, &vec);

	return result;
}

unsigned int test_11(void)
{
	unsigned int result = TC_PASS;
	const struct hmac_prng_test_vector vec = {
		32,
		16,
		0,
		0,
		128,
		{
			0xbf, 0xb6, 0x8b, 0xe4, 0xce, 0x17, 0x56, 0xd2, 0x5b,
			0xdf, 0xad, 0x5e, 0x0c, 0x2f, 0x8b, 0xec, 0x29, 0x36,
			0x09, 0x01, 0xcc, 0x4d, 0xa5, 0x1d, 0x42, 0x3d, 0x15,
			0x91, 0xcc, 0x57, 0xe1, 0xba,
		},
		{
			0x98, 0xaf, 0xe4, 0xbd, 0x19, 0x4c, 0x14, 0x3e, 0x09,
			0x96, 0x80, 0xc5, 0x04, 0xcc, 0xea, 0xab,
		},
		{
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00,
		},
		{
			0xb9, 0x7c, 0xaf, 0x21, 0x0e, 0x82, 0x49, 0x8c, 0x34,
			0x08, 0x79, 0x0d, 0x41, 0xc3, 0x20, 0xdd, 0x4a, 0x72,
			0x00, 0x77, 0x78, 0x38, 0x9b, 0x44, 0xb7, 0xbc, 0x3c,
			0x1c, 0x4b, 0x8c, 0x53, 0xf8,
		},
		{
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00,
		},
		{
			0x40, 0x9e, 0x0a, 0xa9, 0x49, 0xfb, 0x3b, 0x38, 0x23,
			0x1b, 0xf8, 0x73, 0x2e, 0x79, 0x59, 0xe9, 0x43, 0xa3,
			0x38, 0xea, 0x39, 0x90, 0x26, 0xb7, 0x44, 0xdf, 0x15,
			0xcb, 0xfe, 0xff, 0x8d, 0x71, 0xb3, 0xda, 0x02, 0x3d,
			0xcc, 0xe0, 0x59, 0xa8, 0x8c, 0xf0, 0xd4, 0xb7, 0x47,
			0x5f, 0x62, 0x8e, 0x47, 0x64, 0xc8, 0xbe, 0xf1, 0x3c,
			0x70, 0xcf, 0xbb, 0xbb, 0x6d, 0xa2, 0xa1, 0x8a, 0xab,
			0xca, 0xd9, 0x19, 0xdb, 0x09, 0xd0, 0x4f, 0xc5, 0x97,
			0x65, 0xed, 0xb1, 0x65, 0x14, 0x7c, 0x88, 0xdd, 0x47,
			0x3a, 0x0f, 0x3c, 0x5e, 0xe1, 0x92, 0x37, 0xca, 0x95,
			0x56, 0x97, 0xe0, 0x01, 0xba, 0x65, 0x4c, 0x5e, 0xe0,
			0xbd, 0x26, 0x76, 0x1b, 0x49, 0x33, 0x31, 0x54, 0x42,
			0x6b, 0xc6, 0x32, 0x86, 0x29, 0x8a, 0x8b, 0xe6, 0x34,
			0xfe, 0x0d, 0x72, 0xcf, 0xde, 0xef, 0x0f, 0x3f, 0xc4,
			0x8e, 0xca,
		}
	};

	TC_PRINT(".");
	result = do_hmac_prng_pr_false_test(11, &vec);

	return result;
}

unsigned int test_12(void)
{
	unsigned int result = TC_PASS;
	const struct hmac_prng_test_vector vec = {
		32,
		16,
		0,
		0,
		128,
		{
			0x4f, 0x68, 0x80, 0xa6, 0x46, 0x10, 0x00, 0x44, 0x63,
			0x03, 0x1d, 0x67, 0xd7, 0x92, 0x4f, 0xa4, 0x46, 0xc3,
			0x91, 0x38, 0xd4, 0xd4, 0x10, 0x07, 0xe8, 0xdf, 0x3d,
			0x65, 0x69, 0x1a, 0x93, 0x67,
		},
		{
			0x6b, 0x33, 0xb2, 0xc1, 0x36, 0x00, 0xf4, 0xb1, 0xdf,
			0x6c, 0xa3, 0xd1, 0x96, 0x0e, 0x8d, 0xd4,
		},
		{
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00,
		},
		{
			0x57, 0xb8, 0x7b, 0x8c, 0x8f, 0x48, 0x31, 0x2b, 0x53,
			0x33, 0xd4, 0x3b, 0x36, 0x77, 0x30, 0xc0, 0xa5, 0xad,
			0x47, 0x25, 0xa1, 0x67, 0x78, 0xfc, 0xb5, 0x3f, 0xe1,
			0x36, 0xd1, 0x36, 0xcb, 0xfd,
		},
		{
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00,
		},
		{
			0x73, 0xd0, 0xf3, 0x24, 0xed, 0x18, 0x6e, 0x2a, 0xd0,
			0x6b, 0xd1, 0x80, 0x0e, 0x26, 0x2b, 0xdb, 0xda, 0x79,
			0xba, 0x54, 0xe6, 0x26, 0x76, 0x1b, 0xd6, 0x0f, 0x74,
			0xf4, 0x3e, 0x3b, 0xb6, 0x29, 0x58, 0xec, 0x1e, 0x2f,
			0x1d, 0x94, 0x0a, 0xf1, 0x63, 0xe1, 0xca, 0xdc, 0x12,
			0x4e, 0x7e, 0xba, 0xba, 0x2f, 0x72, 0xe6, 0x7e, 0xfd,
			0x74, 0x6c, 0x7f, 0x6d, 0x0c, 0xad, 0x53, 0xef, 0x03,
			0xd8, 0x59, 0xd9, 0x3c, 0xff, 0x77, 0x8a, 0x32, 0xee,
			0x5b, 0xe1, 0x72, 0xfe, 0x7f, 0xdb, 0xdc, 0x23, 0x2d,
			0xed, 0x36, 0x0d, 0x70, 0x4a, 0x6f, 0xa0, 0xf7, 0x0b,
			0xeb, 0xe9, 0x42, 0xe5, 0x64, 0x78, 0x34, 0x54, 0x92,
			0xf4, 0x9d, 0xc5, 0xc6, 0xfc, 0x34, 0x6b, 0x88, 0xa5,
			0x89, 0x47, 0xad, 0x25, 0x0e, 0x68, 0x8e, 0x8c, 0x62,
			0x6f, 0xe1, 0xef, 0xe7, 0x62, 0x46, 0x20, 0xe5, 0x71,
			0x97, 0x6e,
		}
	};

	TC_PRINT(".");
	result = do_hmac_prng_pr_false_test(12, &vec);

	return result;
}

unsigned int test_13(void)
{
	unsigned int result = TC_PASS;
	const struct hmac_prng_test_vector vec = {
		32,
		16,
		0,
		0,
		128,
		{
			0xaa, 0xe3, 0x52, 0xe1, 0x11, 0x84, 0x32, 0x19, 0xca,
			0xe8, 0xf7, 0x0e, 0x7b, 0x8f, 0x6e, 0xb9, 0xbb, 0x53,
			0xd2, 0x46, 0xcb, 0xec, 0x1e, 0x4f, 0x07, 0xd4, 0x27,
			0x57, 0x14, 0x32, 0x95, 0xb4,
		},
		{
			0xb8, 0x44, 0x85, 0xdc, 0xcd, 0x1b, 0xf9, 0x32, 0x10,
			0xe3, 0x22, 0xea, 0xfc, 0xbe, 0xbc, 0xd9,
		},
		{
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00,
		},
		{
			0xf9, 0x23, 0x7f, 0x00, 0xd7, 0x44, 0xd8, 0xfb, 0xff,
			0x21, 0xb9, 0xd0, 0x04, 0x3c, 0x25, 0x8e, 0x87, 0x31,
			0x81, 0x7e, 0x6a, 0x5f, 0xb7, 0xb4, 0xbf, 0x50, 0x11,
			0x68, 0x0e, 0x5b, 0xc6, 0x42,
		},
		{
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00,
		},
		{
			0xcf, 0xb2, 0x8b, 0x93, 0x52, 0x2c, 0x7d, 0x61, 0xd8,
			0xd3, 0xce, 0x3f, 0x08, 0x0e, 0x43, 0x5e, 0x4c, 0x83,
			0xc7, 0xe1, 0x3a, 0x9d, 0xab, 0x78, 0x8d, 0xb8, 0xfe,
			0xf0, 0x40, 0x72, 0x67, 0xa1, 0x4f, 0xbc, 0x93, 0x24,
			0xe0, 0x90, 0xe2, 0x4d, 0xf5, 0x49, 0x1f, 0xed, 0xfa,
			0x81, 0x11, 0x68, 0x69, 0x98, 0x39, 0x38, 0xd4, 0xd4,
			0xd7, 0x32, 0x4a, 0x31, 0x0c, 0x3a, 0xf3, 0x3a, 0x6f,
			0x79, 0x38, 0xf6, 0x02, 0xc5, 0xe4, 0xe6, 0x3f, 0x17,
			0x71, 0xcd, 0xaa, 0xbd, 0xab, 0x07, 0x82, 0xb5, 0xaf,
			0xfb, 0x54, 0xeb, 0x53, 0x04, 0x7c, 0x10, 0x9a, 0x96,
			0x06, 0x73, 0x9d, 0xd0, 0x06, 0x5b, 0xd2, 0x1e, 0xca,
			0x33, 0x13, 0x29, 0x86, 0x55, 0x48, 0x78, 0x35, 0x4f,
			0x5f, 0x9f, 0x85, 0x2e, 0x67, 0x4d, 0xd6, 0x90, 0x16,
			0x3b, 0x0f, 0xf7, 0x4c, 0x7a, 0x25, 0xe6, 0xba, 0xe8,
			0xce, 0x39,
		}
	};

	TC_PRINT(".");
	result = do_hmac_prng_pr_false_test(13, &vec);

	return result;
}

unsigned int test_14(void)
{
	unsigned int result = TC_PASS;
	const struct hmac_prng_test_vector vec = {
		32,
		16,
		0,
		0,
		128,
		{
			0x58, 0x9e, 0x79, 0xe3, 0x39, 0xb7, 0xd2, 0xa1, 0xb8,
			0x79, 0xf0, 0xb0, 0xe1, 0xa7, 0xd1, 0xad, 0x24, 0x74,
			0xea, 0xa8, 0x02, 0x5b, 0x07, 0x0f, 0x1f, 0xfa, 0x87,
			0x7b, 0x71, 0x24, 0xd4, 0xff,
		},
		{
			0x09, 0x61, 0xed, 0x64, 0xdb, 0xd6, 0x20, 0x65, 0xd9,
			0x6e, 0x75, 0xde, 0x6d, 0x2f, 0xf9, 0xd6,
		},
		{
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00,
		},
		{
			0xe9, 0x28, 0x38, 0x8d, 0x3a, 0xf4, 0x8c, 0x29, 0x68,
			0x52, 0x7a, 0x4d, 0x2f, 0x9c, 0x26, 0x26, 0xfb, 0xc3,
			0xf3, 0xf5, 0xa5, 0xd8, 0x4e, 0x05, 0x83, 0xab, 0x6f,
			0x78, 0xe7, 0xf8, 0xb0, 0x81,
		},
		{
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00,
		},
		{
			0xfc, 0xe6, 0xce, 0xd1, 0xec, 0xf4, 0x74, 0xd1, 0x81,
			0xab, 0x33, 0x1f, 0x79, 0xc3, 0xd2, 0xcc, 0x8a, 0x76,
			0x8e, 0xc2, 0x81, 0x8d, 0xe5, 0xb3, 0xfc, 0x7c, 0xf4,
			0x18, 0x32, 0x27, 0x16, 0xd6, 0xa6, 0x85, 0x37, 0x33,
			0x56, 0x1a, 0x49, 0x7c, 0x0c, 0x25, 0xcb, 0x28, 0x8d,
			0x2c, 0x9f, 0xcf, 0xbc, 0xa8, 0x91, 0xba, 0xfd, 0x5a,
			0x83, 0x4c, 0x85, 0xf3, 0x60, 0x3f, 0x40, 0x2a, 0xcf,
			0x1a, 0x7b, 0x1e, 0xa9, 0x2d, 0xb8, 0x47, 0xed, 0x5c,
			0x25, 0x2a, 0x86, 0x2a, 0xd4, 0xab, 0x5e, 0x25, 0x97,
			0x15, 0xf1, 0xfc, 0x81, 0xda, 0x67, 0xf5, 0x23, 0x0b,
			0xf8, 0xbe, 0x50, 0xee, 0x80, 0x69, 0x75, 0x80, 0x95,
			0xf7, 0xd0, 0xe5, 0x59, 0xe0, 0x3f, 0x2c, 0x60, 0x72,
			0x29, 0x0e, 0x61, 0x79, 0x44, 0x58, 0x43, 0x76, 0x09,
			0xe4, 0x73, 0xeb, 0x66, 0x58, 0x0c, 0xdd, 0xaa, 0xd1,
			0x9b, 0x71,
		}
	};

	TC_PRINT(".");
	result = do_hmac_prng_pr_false_test(14, &vec);

	return result;
}

unsigned int test_15(void)
{
	unsigned int result = TC_PASS;
	const struct hmac_prng_test_vector vec = {
		32,
		16,
		0,
		0,
		128,
		{
			0x71, 0x42, 0x77, 0xd4, 0x08, 0xad, 0x87, 0xfd, 0xe3,
			0x17, 0xf0, 0xa9, 0x47, 0x32, 0xfc, 0xe6, 0x2f, 0x13,
			0x52, 0xbd, 0xc9, 0x09, 0x36, 0x67, 0x3b, 0x4f, 0x1d,
			0xaa, 0x09, 0x25, 0xaa, 0x26,
		},
		{
			0xd1, 0x65, 0x82, 0xa9, 0x9f, 0x23, 0x01, 0x0b, 0x42,
			0x48, 0xb8, 0x8d, 0x86, 0x48, 0x54, 0x19,
		},
		{
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00,
		},
		{
			0xbd, 0x9f, 0xc7, 0xcb, 0x2f, 0xd5, 0x06, 0x3b, 0x2c,
			0x3c, 0x0c, 0x4f, 0x34, 0x6a, 0xd2, 0xe3, 0x87, 0x93,
			0x71, 0xa9, 0xc8, 0x05, 0xe5, 0x9b, 0x9f, 0x2c, 0xd2,
			0xcc, 0x2a, 0x40, 0x89, 0x4f,
		},
		{
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00,
		},
		{
			0x62, 0xef, 0x7a, 0x43, 0x12, 0x88, 0x25, 0x2e, 0x0d,
			0x73, 0x6c, 0x1d, 0x4e, 0x36, 0xcc, 0x9a, 0xc3, 0x71,
			0x07, 0xdc, 0xd0, 0xd0, 0xe9, 0x71, 0xa2, 0x24, 0x44,
			0xa4, 0xad, 0xae, 0x73, 0xa4, 0x1e, 0xff, 0x0b, 0x11,
			0xc8, 0x62, 0x5e, 0x11, 0x8d, 0xbc, 0x92, 0x26, 0x14,
			0x2f, 0xd0, 0xa6, 0xaa, 0x10, 0xac, 0x9b, 0x19, 0x09,
			0x19, 0xbd, 0xa4, 0x4e, 0x72, 0x48, 0xd6, 0xc8, 0x88,
			0x74, 0x61, 0x2a, 0xbd, 0x77, 0xfb, 0x37, 0x16, 0xea,
			0x51, 0x5a, 0x2d, 0x56, 0x32, 0x37, 0xc4, 0x46, 0xe2,
			0xa2, 0x82, 0xe7, 0xc3, 0xb0, 0xa3, 0xae, 0xf2, 0x7d,
			0x34, 0x27, 0xcc, 0x7d, 0x0a, 0x7d, 0x38, 0x71, 0x46,
			0x59, 0xc3, 0x40, 0x1d, 0xbc, 0x91, 0xd3, 0x59, 0x51,
			0x59, 0x31, 0x8e, 0xbc, 0xa0, 0x1a, 0xe7, 0xd7, 0xfd,
			0x1c, 0x89, 0xf6, 0xad, 0x6b, 0x60, 0x41, 0x73, 0xb0,
			0xc7, 0x44,
		}
	};

	TC_PRINT(".");
	result = do_hmac_prng_pr_false_test(15, &vec);

	return result;
}

unsigned int test_16(void)
{
	unsigned int result = TC_PASS;
	const struct hmac_prng_test_vector vec = {
		32,
		16,
		32,
		0,
		128,
		{
			0xfa, 0x0e, 0xe1, 0xfe, 0x39, 0xc7, 0xc3, 0x90, 0xaa,
			0x94, 0x15, 0x9d, 0x0d, 0xe9, 0x75, 0x64, 0x34, 0x2b,
			0x59, 0x17, 0x77, 0xf3, 0xe5, 0xf6, 0xa4, 0xba, 0x2a,
			0xea, 0x34, 0x2e, 0xc8, 0x40,
		},
		{
			0xdd, 0x08, 0x20, 0x65, 0x5c, 0xb2, 0xff, 0xdb, 0x0d,
			0xa9, 0xe9, 0x31, 0x0a, 0x67, 0xc9, 0xe5,
		},
		{
			0xf2, 0xe5, 0x8f, 0xe6, 0x0a, 0x3a, 0xfc, 0x59, 0xda,
			0xd3, 0x75, 0x95, 0x41, 0x5f, 0xfd, 0x31, 0x8c, 0xcf,
			0x69, 0xd6, 0x77, 0x80, 0xf6, 0xfa, 0x07, 0x97, 0xdc,
			0x9a, 0xa4, 0x3e, 0x14, 0x4c,
		},
		{
			0xe0, 0x62, 0x9b, 0x6d, 0x79, 0x75, 0xdd, 0xfa, 0x96,
			0xa3, 0x99, 0x64, 0x87, 0x40, 0xe6, 0x0f, 0x1f, 0x95,
			0x57, 0xdc, 0x58, 0xb3, 0xd7, 0x41, 0x5f, 0x9b, 0xa9,
			0xd4, 0xdb, 0xb5, 0x01, 0xf6,
		},
		{
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00,
		},
		{
			0xf9, 0x2d, 0x4c, 0xf9, 0x9a, 0x53, 0x5b, 0x20, 0x22,
			0x2a, 0x52, 0xa6, 0x8d, 0xb0, 0x4c, 0x5a, 0xf6, 0xf5,
			0xff, 0xc7, 0xb6, 0x6a, 0x47, 0x3a, 0x37, 0xa2, 0x56,
			0xbd, 0x8d, 0x29, 0x8f, 0x9b, 0x4a, 0xa4, 0xaf, 0x7e,
			0x8d, 0x18, 0x1e, 0x02, 0x36, 0x79, 0x03, 0xf9, 0x3b,
			0xdb, 0x74, 0x4c, 0x6c, 0x2f, 0x3f, 0x34, 0x72, 0x62,
			0x6b, 0x40, 0xce, 0x9b, 0xd6, 0xa7, 0x0e, 0x7b, 0x8f,
			0x93, 0x99, 0x2a, 0x16, 0xa7, 0x6f, 0xab, 0x6b, 0x5f,
			0x16, 0x25, 0x68, 0xe0, 0x8e, 0xe6, 0xc3, 0xe8, 0x04,
			0xae, 0xfd, 0x95, 0x2d, 0xdd, 0x3a, 0xcb, 0x79, 0x1c,
			0x50, 0xf2, 0xad, 0x69, 0xe9, 0xa0, 0x40, 0x28, 0xa0,
			0x6a, 0x9c, 0x01, 0xd3, 0xa6, 0x2a, 0xca, 0x2a, 0xaf,
			0x6e, 0xfe, 0x69, 0xed, 0x97, 0xa0, 0x16, 0x21, 0x3a,
			0x2d, 0xd6, 0x42, 0xb4, 0x88, 0x67, 0x64, 0x07, 0x2d,
			0x9c, 0xbe,
		}
	};

	TC_PRINT(".");
	result = do_hmac_prng_pr_false_test(16, &vec);

	return result;
}

unsigned int test_17(void)
{
	unsigned int result = TC_PASS;
	const struct hmac_prng_test_vector vec = {
		32,
		16,
		32,
		0,
		128,
		{
			0xcf, 0xf7, 0x2f, 0x34, 0x51, 0x15, 0x37, 0x6a, 0x57,
			0xf4, 0xdb, 0x8a, 0x5c, 0x9f, 0x64, 0x05, 0x3e, 0x73,
			0x79, 0x17, 0x1a, 0x5a, 0x1e, 0x81, 0xe8, 0x2a, 0xad,
			0x34, 0x48, 0xd1, 0x7d, 0x44,
		},
		{
			0xd1, 0xe9, 0x71, 0xec, 0x79, 0x5d, 0x09, 0x8b, 0x3d,
			0xae, 0x14, 0xff, 0xcb, 0xee, 0xcf, 0xd9,
		},
		{
			0x6e, 0xc0, 0xc7, 0x98, 0xc2, 0x40, 0xf2, 0x27, 0x40,
			0xca, 0xd7, 0xe2, 0x7b, 0x41, 0xf5, 0xe4, 0x2d, 0xcc,
			0xaf, 0x66, 0xde, 0xf3, 0xb7, 0xf3, 0x41, 0xc4, 0xd8,
			0x27, 0x29, 0x4f, 0x83, 0xc9,
		},
		{
			0x45, 0xec, 0x80, 0xf0, 0xc0, 0x0c, 0xad, 0x0f, 0xf0,
			0xb7, 0x61, 0x6d, 0x2a, 0x93, 0x0a, 0xf3, 0xf5, 0xcf,
			0x23, 0xcd, 0x61, 0xbe, 0x7f, 0xbf, 0x7c, 0x65, 0xbe,
			0x00, 0x31, 0xe9, 0x3e, 0x38,
		},
		{
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00,
		},
		{
			0x17, 0xa7, 0x90, 0x1e, 0x25, 0x50, 0xde, 0x08, 0x8f,
			0x47, 0x25, 0x18, 0xd3, 0x77, 0xcc, 0x4c, 0xc6, 0x97,
			0x9f, 0x4a, 0x64, 0xf4, 0x97, 0x5c, 0x74, 0x34, 0x42,
			0x15, 0xe4, 0x80, 0x7a, 0x12, 0x34, 0xee, 0xfe, 0xf9,
			0x9f, 0x64, 0xcb, 0x8a, 0xbc, 0x3f, 0xb8, 0x62, 0x09,
			0xf6, 0xfc, 0x7d, 0xdd, 0x03, 0xe9, 0x4f, 0x83, 0x74,
			0x6c, 0x5a, 0xbe, 0x53, 0x60, 0xcd, 0xde, 0x4f, 0x25,
			0x25, 0xcc, 0xf7, 0x16, 0x7e, 0x6f, 0x0b, 0xef, 0xae,
			0x05, 0xb3, 0x8f, 0xd6, 0x08, 0x9a, 0x2a, 0xb8, 0x37,
			0x19, 0x87, 0x4c, 0xe8, 0xf6, 0x70, 0x48, 0x0d, 0x5f,
			0x3e, 0xd9, 0xbf, 0x40, 0x53, 0x8a, 0x15, 0xaa, 0xad,
			0x11, 0x2d, 0xb1, 0x61, 0x8a, 0x58, 0xb1, 0x06, 0x87,
			0xb6, 0x88, 0x75, 0xf0, 0x0f, 0x13, 0x9a, 0x72, 0xbd,
			0xf0, 0x43, 0xf7, 0x36, 0xe4, 0xa3, 0x20, 0xc0, 0x6e,
			0xfd, 0x2c,
		}
	};

	TC_PRINT(".");
	result = do_hmac_prng_pr_false_test(17, &vec);

	return result;
}

unsigned int test_18(void)
{
	unsigned int result = TC_PASS;
	const struct hmac_prng_test_vector vec = {
		32,
		16,
		32,
		0,
		128,
		{
			0xb7, 0x09, 0x9b, 0x06, 0xfc, 0x7a, 0x8a, 0x74, 0xc5,
			0x82, 0x19, 0x72, 0x9d, 0xb6, 0xb0, 0xf7, 0x80, 0xd7,
			0xb4, 0xfa, 0x30, 0x7b, 0xc3, 0xd3, 0xf9, 0xf2, 0x2b,
			0xfb, 0x76, 0x35, 0x96, 0xa3,
		},
		{
			0xb8, 0x77, 0x20, 0x59, 0xa1, 0x35, 0xa6, 0xb6, 0x1d,
			0xa7, 0x2f, 0x37, 0x54, 0x11, 0xde, 0x26,
		},
		{
			0x2a, 0xc1, 0xbf, 0xb2, 0x4e, 0x0b, 0x8c, 0x6a, 0xc2,
			0x80, 0x3e, 0x89, 0x26, 0x18, 0x22, 0xb7, 0xf7, 0x2a,
			0x03, 0x20, 0xdf, 0x2b, 0x19, 0x91, 0x71, 0xb7, 0x9b,
			0xcb, 0xdb, 0x40, 0xb7, 0x19,
		},
		{
			0x9a, 0xec, 0x4f, 0x56, 0xec, 0x5e, 0x96, 0xfb, 0xd9,
			0x60, 0x48, 0xb9, 0xa6, 0x3a, 0xc8, 0xd0, 0x47, 0xae,
			0xdb, 0xbe, 0xea, 0x77, 0x12, 0xe2, 0x41, 0x13, 0x3b,
			0x1a, 0x35, 0x7e, 0xcf, 0xc4,
		},
		{
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00,
		},
		{
			0x0e, 0x1f, 0x2b, 0xfe, 0xf7, 0x78, 0xf5, 0xe5, 0xbe,
			0x67, 0x1e, 0xcb, 0x49, 0x71, 0x62, 0x4e, 0xc7, 0x84,
			0xed, 0x27, 0x32, 0xab, 0xc4, 0xfb, 0xb9, 0x8a, 0x8b,
			0x48, 0x2f, 0xb6, 0x87, 0x37, 0xdf, 0x91, 0xfd, 0x15,
			0xac, 0xfa, 0xd2, 0x95, 0x14, 0x03, 0xac, 0x77, 0xc5,
			0xca, 0x3e, 0xdf, 0xfc, 0x1e, 0x03, 0x39, 0x8a, 0xe6,
			0xcf, 0x6a, 0xc2, 0x4a, 0x91, 0x67, 0x8d, 0xb5, 0xc7,
			0x29, 0x0a, 0xbc, 0x3f, 0xa0, 0x01, 0xaa, 0x02, 0xd5,
			0x03, 0x99, 0x32, 0x6f, 0x85, 0xd2, 0xb8, 0x94, 0x21,
			0x99, 0xa1, 0x57, 0x5f, 0x67, 0x46, 0x36, 0x47, 0x40,
			0xa5, 0x91, 0x05, 0x52, 0xc6, 0x39, 0x80, 0x4d, 0x75,
			0x30, 0xc0, 0xd4, 0x13, 0x39, 0x34, 0x5a, 0x58, 0xff,
			0x00, 0x80, 0xec, 0xcf, 0x17, 0x11, 0x89, 0x51, 0x92,
			0xa3, 0x81, 0x7a, 0x8d, 0xc3, 0xf0, 0x0f, 0x28, 0xcc,
			0x10, 0xcc,
		}
	};

	TC_PRINT(".");
	result = do_hmac_prng_pr_false_test(18, &vec);

	return result;
}

unsigned int test_19(void)
{
	unsigned int result = TC_PASS;
	const struct hmac_prng_test_vector vec = {
		32,
		16,
		32,
		0,
		128,
		{
			0x7b, 0xa0, 0x2a, 0x73, 0x4c, 0x87, 0x44, 0xb1, 0x5e,
			0xf8, 0xb4, 0x07, 0x4f, 0xe6, 0x39, 0xb3, 0x2e, 0x44,
			0x31, 0x76, 0x2a, 0xb5, 0xb7, 0xcd, 0x4d, 0x5d, 0xf6,
			0x75, 0xea, 0x90, 0x67, 0x2b,
		},
		{
			0x8a, 0x42, 0x4f, 0x32, 0x10, 0x86, 0x07, 0xc8, 0xf1,
			0xf4, 0x5d, 0x97, 0xf5, 0x00, 0xee, 0x12,
		},
		{
			0x3a, 0xd6, 0x27, 0x43, 0x3f, 0x46, 0x51, 0x87, 0xc4,
			0x81, 0x41, 0xe3, 0x0c, 0x26, 0x78, 0x10, 0x60, 0x91,
			0xe7, 0xa6, 0x80, 0x22, 0x9a, 0x53, 0x4b, 0x85, 0x1b,
			0x8d, 0x46, 0xfe, 0xb9, 0x57,
		},
		{
			0xd8, 0xf0, 0x2b, 0x59, 0xb6, 0xa3, 0xdd, 0x27, 0x6b,
			0xc6, 0x9c, 0xba, 0x68, 0xef, 0xcf, 0x11, 0xab, 0x83,
			0xea, 0xd1, 0x39, 0x7a, 0xfd, 0x98, 0x41, 0x78, 0x6b,
			0xd1, 0xbb, 0x5d, 0xa9, 0x7a,
		},
		{
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00,
		},
		{
			0x1f, 0xb9, 0x11, 0x86, 0xba, 0x4b, 0x44, 0x59, 0xd9,
			0x94, 0xb4, 0xb9, 0xf4, 0xca, 0x25, 0x2c, 0x7b, 0xe6,
			0x29, 0x4d, 0x6c, 0xdb, 0x5f, 0xe5, 0x6f, 0x8f, 0xf7,
			0x84, 0xd4, 0xb1, 0x90, 0xa1, 0xc6, 0x45, 0x6e, 0x0a,
			0x41, 0x22, 0x3b, 0xbb, 0xdf, 0x83, 0xed, 0x8e, 0x7c,
			0xfb, 0xfa, 0x76, 0x5d, 0x9d, 0x8b, 0xc7, 0xea, 0x5f,
			0x4d, 0x79, 0xea, 0x7e, 0xcc, 0xb4, 0x92, 0x80, 0x81,
			0xa2, 0x1d, 0xe4, 0xcc, 0xa3, 0x66, 0x20, 0xd6, 0x26,
			0x7f, 0x55, 0xd9, 0xa3, 0x52, 0xb7, 0x6f, 0xc0, 0xa5,
			0x73, 0x75, 0x88, 0x41, 0x12, 0xc3, 0x1f, 0x65, 0xff,
			0x28, 0xe7, 0x6d, 0x31, 0x56, 0x98, 0xc2, 0x9e, 0x6c,
			0x4c, 0x05, 0xcb, 0x58, 0xb0, 0xa0, 0x7a, 0xe6, 0x61,
			0x43, 0xb4, 0xab, 0xc7, 0x8b, 0x9d, 0x25, 0xc7, 0x8b,
			0x41, 0x21, 0xe1, 0xe4, 0x5b, 0xef, 0x1a, 0x6c, 0x17,
			0x93, 0xe2,
		}
	};

	TC_PRINT(".");
	result = do_hmac_prng_pr_false_test(19, &vec);

	return result;
}

unsigned int test_20(void)
{
	unsigned int result = TC_PASS;
	const struct hmac_prng_test_vector vec = {
		32,
		16,
		32,
		0,
		128,
		{
			0x9a, 0x88, 0x65, 0xdf, 0xe0, 0x53, 0xae, 0x77, 0xcb,
			0x6a, 0x93, 0x65, 0xb8, 0x8f, 0x34, 0xee, 0xc1, 0x7e,
			0xa5, 0xcb, 0xfb, 0x0b, 0x1f, 0x04, 0xd1, 0x45, 0x9e,
			0x7f, 0xa9, 0xc4, 0xf3, 0xcb,
		},
		{
			0x18, 0x0c, 0x0a, 0x74, 0xda, 0x3e, 0xc4, 0x64, 0xdf,
			0x11, 0xfa, 0xc1, 0x72, 0xd1, 0xc6, 0x32,
		},
		{
			0x33, 0x63, 0x72, 0xec, 0x82, 0xd0, 0xd6, 0x8b, 0xef,
			0xad, 0x83, 0x69, 0x19, 0x66, 0xef, 0x6f, 0xfc, 0x65,
			0x10, 0x53, 0x88, 0xeb, 0x2d, 0x6e, 0xed, 0x82, 0x6c,
			0x22, 0x85, 0x03, 0x7c, 0x77,
		},
		{
			0x75, 0xb9, 0x51, 0x08, 0xef, 0xf1, 0xfa, 0xbe, 0x83,
			0x61, 0x3e, 0x1c, 0x4d, 0xe5, 0x75, 0xe7, 0x2a, 0x5c,
			0xdc, 0x4b, 0xb9, 0x31, 0x1d, 0xd0, 0x06, 0xf9, 0x71,
			0xa0, 0x52, 0x38, 0x66, 0x92,
		},
		{
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00,
		},
		{
			0x3c, 0x68, 0x3f, 0x6d, 0x4f, 0x8f, 0x5a, 0x40, 0x18,
			0xd0, 0x16, 0x33, 0xdf, 0xee, 0x74, 0x26, 0x6a, 0xaa,
			0x68, 0xed, 0x6f, 0xc6, 0x49, 0xe8, 0x1b, 0x64, 0xdf,
			0xdf, 0x5f, 0x75, 0xe7, 0x5d, 0x5c, 0x05, 0x8d, 0x66,
			0xcf, 0x5f, 0xd0, 0x1a, 0x4f, 0x14, 0x3a, 0x6f, 0xf6,
			0x95, 0x51, 0x7a, 0x4a, 0x43, 0xbd, 0x3a, 0xdf, 0xd1,
			0xfb, 0x2c, 0x28, 0xba, 0x9a, 0x41, 0x06, 0x31, 0x40,
			0xbe, 0xdb, 0xff, 0xdb, 0x4d, 0x21, 0xb1, 0xac, 0xe1,
			0x55, 0x0d, 0x59, 0x20, 0x9e, 0xc6, 0x1f, 0x1e, 0x2d,
			0xba, 0xcb, 0x2a, 0x91, 0x16, 0xa7, 0x9c, 0xb1, 0x41,
			0x0b, 0xf2, 0xde, 0xca, 0x52, 0x18, 0x08, 0x0a, 0xac,
			0xd9, 0xc6, 0x8e, 0x1d, 0x65, 0x57, 0x72, 0x1a, 0x89,
			0x13, 0xe2, 0x3f, 0x61, 0x7e, 0x30, 0xf2, 0xe5, 0x94,
			0xf6, 0x12, 0x67, 0xd5, 0xed, 0x81, 0x46, 0x4e, 0xe7,
			0x30, 0xb2,
		}
	};

	TC_PRINT(".");
	result = do_hmac_prng_pr_false_test(20, &vec);

	return result;
}

unsigned int test_21(void)
{
	unsigned int result = TC_PASS;
	const struct hmac_prng_test_vector vec = {
		32,
		16,
		32,
		0,
		128,
		{
			0x22, 0xc1, 0xaf, 0x2f, 0x2a, 0x4c, 0x88, 0x5f, 0x06,
			0x98, 0x85, 0x67, 0xda, 0x9f, 0xc9, 0x0f, 0x34, 0xf8,
			0x0f, 0x6d, 0xd5, 0x10, 0x1c, 0x28, 0x1b, 0xee, 0xf4,
			0x97, 0xa6, 0xa1, 0xb2, 0xf8,
		},
		{
			0x3f, 0xaf, 0xde, 0xcf, 0x79, 0xa4, 0x17, 0x48, 0x01,
			0xf1, 0x33, 0x13, 0x16, 0x29, 0x03, 0x7b,
		},
		{
			0x80, 0x32, 0x7d, 0xac, 0x48, 0x61, 0x11, 0xb8, 0xa8,
			0xb2, 0xc8, 0xe8, 0x38, 0x1f, 0xb2, 0xd7, 0x13, 0xa6,
			0x76, 0x95, 0xc2, 0xe6, 0x60, 0xb2, 0xb0, 0xd4, 0xaf,
			0x69, 0x6c, 0xc3, 0xe1, 0xde,
		},
		{
			0xf9, 0x5a, 0x0e, 0x4b, 0xd2, 0x4f, 0x0e, 0x2e, 0x9e,
			0x44, 0x4f, 0x51, 0x1b, 0x76, 0x32, 0x86, 0x8e, 0xad,
			0x0d, 0x5b, 0xb3, 0x84, 0x67, 0x71, 0x26, 0x4e, 0x03,
			0xf8, 0xab, 0x8e, 0xd0, 0x74,
		},
		{
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00,
		},
		{
			0x77, 0xa7, 0xfe, 0xa2, 0xf3, 0x5a, 0x18, 0x8f, 0x6d,
			0x1b, 0xfd, 0xd4, 0x9b, 0x56, 0x9d, 0x8c, 0x45, 0xe2,
			0xdd, 0x43, 0x1d, 0x35, 0xa1, 0x8c, 0x6f, 0x43, 0x2c,
			0x72, 0x4f, 0x1e, 0x33, 0xae, 0x92, 0xcb, 0x89, 0xa9,
			0xcf, 0x91, 0x51, 0x9e, 0x50, 0x70, 0x5a, 0x53, 0x19,
			0x9f, 0x5b, 0x57, 0x2d, 0xc8, 0x5c, 0x1a, 0xef, 0x8f,
			0x28, 0xfb, 0x52, 0xdc, 0x79, 0x86, 0x22, 0x8f, 0x66,
			0x95, 0x4d, 0x54, 0xed, 0xa8, 0x4a, 0x86, 0x96, 0x2c,
			0xf2, 0x5c, 0xf7, 0x65, 0xbd, 0x99, 0x49, 0x87, 0x63,
			0x49, 0x29, 0x1b, 0x1a, 0xae, 0x5f, 0x88, 0xfc, 0xf4,
			0xb3, 0x76, 0x91, 0x2d, 0x20, 0x5a, 0xdd, 0x4f, 0x53,
			0xb2, 0x77, 0x0c, 0x65, 0x79, 0x46, 0xc0, 0xd8, 0x24,
			0x28, 0x1f, 0x44, 0x15, 0x09, 0x15, 0x3f, 0x48, 0x35,
			0x6d, 0x9d, 0x43, 0xf8, 0xa9, 0x27, 0xe0, 0x69, 0x3d,
			0xb8, 0xfc,
		}
	};

	TC_PRINT(".");
	result = do_hmac_prng_pr_false_test(21, &vec);

	return result;
}

unsigned int test_22(void)
{
	unsigned int result = TC_PASS;
	const struct hmac_prng_test_vector vec = {
		32,
		16,
		32,
		0,
		128,
		{
			0xd0, 0x84, 0x0e, 0x3a, 0x8d, 0x62, 0x9d, 0x5b, 0x88,
			0x3d, 0x33, 0xe0, 0x53, 0xa3, 0x41, 0xb2, 0x1c, 0x67,
			0x4e, 0x67, 0xe1, 0x99, 0x9f, 0x06, 0x8c, 0x49, 0x7e,
			0xcf, 0xaa, 0xbf, 0xd6, 0xf6,
		},
		{
			0x07, 0x1d, 0xe7, 0x24, 0x4e, 0xcb, 0x2f, 0xdf, 0x7a,
			0xb2, 0x7f, 0x2d, 0x84, 0xaa, 0x7b, 0x7a,
		},
		{
			0x90, 0xd6, 0x09, 0x52, 0x7f, 0xad, 0x96, 0xff, 0xe6,
			0x4a, 0xb1, 0x53, 0x86, 0x03, 0x46, 0xf3, 0xd2, 0x37,
			0xc8, 0x94, 0x05, 0x55, 0xae, 0x17, 0xb4, 0x78, 0x42,
			0xd8, 0x2d, 0x3b, 0x09, 0x43,
		},
		{
			0x1d, 0xd1, 0xa8, 0xb5, 0x98, 0x56, 0xc4, 0x9a, 0x38,
			0x8f, 0x59, 0x4c, 0x5f, 0x42, 0xcc, 0x2e, 0x4a, 0x56,
			0xb3, 0xcc, 0xb8, 0xa6, 0x5e, 0x70, 0x66, 0xe4, 0x4c,
			0x12, 0xf4, 0x34, 0x4d, 0x50,
		},
		{
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00,
		},
		{
			0x7a, 0xb2, 0x8a, 0x9b, 0x2d, 0x3a, 0xe9, 0x99, 0x19,
			0x55, 0x53, 0xe6, 0x55, 0x0c, 0xce, 0xd4, 0xc2, 0xda,
			0xcc, 0xbe, 0x7e, 0xc9, 0xdc, 0xbb, 0x0d, 0x46, 0x7f,
			0xab, 0xba, 0x18, 0x5b, 0x72, 0x7f, 0xbf, 0xd9, 0x83,
			0x02, 0x42, 0xcd, 0x09, 0x8f, 0x4d, 0xb3, 0xcf, 0x4a,
			0x85, 0xe8, 0xbf, 0x8e, 0x8d, 0x59, 0x74, 0xb6, 0x2b,
			0x28, 0x55, 0x09, 0x22, 0xb3, 0x2e, 0xd5, 0xbf, 0xc1,
			0xa5, 0x22, 0xb6, 0x60, 0x5c, 0xf9, 0x3b, 0xf8, 0xd9,
			0x0b, 0xde, 0xc1, 0xc5, 0xb9, 0xe5, 0x9c, 0x6f, 0xc3,
			0x7a, 0x81, 0x7d, 0x43, 0x70, 0x68, 0xa8, 0x72, 0x54,
			0xbe, 0x1f, 0x7c, 0x46, 0x18, 0xad, 0xa4, 0x6f, 0xbc,
			0x3a, 0x2e, 0xfb, 0x02, 0xe4, 0x45, 0x24, 0xe2, 0x1d,
			0x91, 0xbe, 0x75, 0x34, 0xcf, 0x05, 0xfb, 0xfd, 0x85,
			0x83, 0x04, 0xb7, 0x06, 0xd6, 0xa9, 0x1e, 0xa1, 0xcc,
			0x6a, 0xd5,
		}
	};

	TC_PRINT(".");
	result = do_hmac_prng_pr_false_test(22, &vec);

	return result;
}

unsigned int test_23(void)
{
	unsigned int result = TC_PASS;
	const struct hmac_prng_test_vector vec = {
		32,
		16,
		32,
		0,
		128,
		{
			0x2e, 0x2d, 0xd5, 0x68, 0x69, 0x10, 0x44, 0x92, 0x76,
			0x7a, 0x59, 0x77, 0x86, 0x52, 0x83, 0x19, 0x19, 0xe1,
			0xc8, 0xb9, 0x70, 0xf8, 0x4e, 0x82, 0x4a, 0xe4, 0x11,
			0x65, 0x97, 0xa0, 0xab, 0x7f,
		},
		{
			0x01, 0xc4, 0x2a, 0x7e, 0x98, 0x36, 0x41, 0xde, 0x46,
			0xc8, 0x2f, 0xd0, 0x9b, 0x4f, 0x2f, 0x76,
		},
		{
			0xbc, 0xd9, 0xe1, 0x50, 0x8f, 0xcc, 0x22, 0x82, 0x0a,
			0x8b, 0xe0, 0x71, 0x80, 0xfe, 0xa5, 0x04, 0x53, 0x67,
			0x33, 0x3b, 0x56, 0x9e, 0x11, 0x1b, 0x01, 0x1c, 0xd5,
			0x7d, 0xc1, 0x85, 0x87, 0x65,
		},
		{
			0x73, 0x06, 0x50, 0x7c, 0xd3, 0xca, 0x7e, 0xec, 0x66,
			0x7e, 0x64, 0x0d, 0x27, 0x0c, 0xfb, 0xb0, 0x33, 0x06,
			0x3d, 0x97, 0x52, 0x0b, 0x6b, 0x7e, 0x38, 0xff, 0x3c,
			0xea, 0x0e, 0x79, 0xd1, 0x2b,
		},
		{
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00,
		},
		{
			0xb9, 0x15, 0x72, 0x6c, 0x7b, 0x8c, 0x5d, 0xc3, 0x97,
			0x5f, 0x1a, 0x33, 0x46, 0x84, 0xb9, 0x73, 0xab, 0xf6,
			0xa9, 0x49, 0x5d, 0x93, 0x00, 0x88, 0xcf, 0x5d, 0x07,
			0x15, 0x48, 0xe4, 0xfd, 0x29, 0xa6, 0x7b, 0x55, 0xcc,
			0x56, 0x1e, 0xd6, 0x94, 0x9a, 0xd2, 0x81, 0x50, 0xa9,
			0xfb, 0x43, 0x07, 0xc1, 0xfa, 0x5f, 0x78, 0x3a, 0x7e,
			0xa8, 0x72, 0xe8, 0xd7, 0xc7, 0xe6, 0x7f, 0xf0, 0xc2,
			0x90, 0x60, 0x81, 0xee, 0x91, 0x57, 0x37, 0xd8, 0x13,
			0xc2, 0x5b, 0xe5, 0xc3, 0x0b, 0x95, 0x2a, 0x36, 0xf3,
			0x93, 0xe6, 0xba, 0xa5, 0x6a, 0xb0, 0x1a, 0xdc, 0x2b,
			0x47, 0x76, 0xad, 0x7b, 0x5d, 0x03, 0x6a, 0x53, 0x65,
			0x98, 0x77, 0xc7, 0xa4, 0xe5, 0x22, 0x0a, 0x89, 0x7d,
			0x6c, 0x07, 0x99, 0xaf, 0x37, 0xbe, 0xee, 0xd9, 0x11,
			0x73, 0xfb, 0xe9, 0xc6, 0x13, 0xc3, 0xb6, 0xb9, 0xbb,
			0x28, 0xe5,
		}
	};

	TC_PRINT(".");
	result = do_hmac_prng_pr_false_test(23, &vec);

	return result;
}

unsigned int test_24(void)
{
	unsigned int result = TC_PASS;
	const struct hmac_prng_test_vector vec = {
		32,
		16,
		32,
		0,
		128,
		{
			0xd1, 0xaa, 0xb0, 0xf1, 0x6b, 0xd4, 0x7a, 0x5c, 0xcd,
			0x67, 0xc2, 0x2e, 0x09, 0x4d, 0xaa, 0x37, 0x35, 0xea,
			0xe2, 0x1a, 0xa5, 0x7f, 0x0b, 0xcd, 0x9e, 0x05, 0x3d,
			0x9d, 0x0d, 0x54, 0x5c, 0xb8,
		},
		{
			0x19, 0x93, 0x10, 0xdf, 0xe1, 0xb0, 0x12, 0x65, 0xb8,
			0xc0, 0xd2, 0xb4, 0x6d, 0x6c, 0x7c, 0x9f,
		},
		{
			0x62, 0x5b, 0x4b, 0x8f, 0x4d, 0xe7, 0x2e, 0xa9, 0xcb,
			0x6f, 0x70, 0x55, 0x63, 0x22, 0xdc, 0x2a, 0x19, 0xd6,
			0xb2, 0xb3, 0x2d, 0xe6, 0x23, 0xf5, 0x57, 0xe4, 0x19,
			0xa0, 0x84, 0xba, 0x60, 0xfd,
		},
		{
			0xf5, 0x0c, 0xab, 0xae, 0x4e, 0x06, 0x0f, 0x39, 0x71,
			0x09, 0x6b, 0x78, 0xe5, 0x50, 0xcd, 0xa2, 0x83, 0x7a,
			0x26, 0xa6, 0x93, 0xd9, 0x05, 0xdb, 0x2d, 0x99, 0x2d,
			0x58, 0x9b, 0x26, 0x8f, 0x44,
		},
		{
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00,
		},
		{
			0x98, 0x7e, 0x1f, 0xdf, 0xe0, 0x04, 0xc6, 0x19, 0xcf,
			0x1e, 0x90, 0x34, 0x57, 0x67, 0x07, 0xec, 0xcd, 0x84,
			0x94, 0x00, 0xe1, 0x9c, 0x87, 0xa1, 0xfe, 0xf5, 0xb0,
			0x17, 0x9e, 0xc5, 0x1c, 0x42, 0xa2, 0xf8, 0xc4, 0x5d,
			0x79, 0x42, 0xd0, 0x02, 0x3a, 0x02, 0x3c, 0x89, 0xf1,
			0x88, 0xb2, 0x63, 0x43, 0x62, 0x70, 0x39, 0x85, 0x69,
			0x53, 0x69, 0x86, 0x33, 0x22, 0xf5, 0x86, 0x19, 0xc5,
			0x0a, 0x73, 0x85, 0xa2, 0xdc, 0x91, 0xfc, 0x78, 0xf9,
			0x4b, 0x59, 0xf0, 0x13, 0x1d, 0xc2, 0xb5, 0x6a, 0x0d,
			0x7c, 0x69, 0x9d, 0x42, 0x72, 0x85, 0xda, 0x1c, 0x10,
			0x4b, 0x0a, 0xd1, 0x73, 0x9d, 0xa1, 0x0d, 0x80, 0x71,
			0xc2, 0x39, 0x93, 0x78, 0x70, 0x45, 0xdc, 0x21, 0xf0,
			0x07, 0x0e, 0x1e, 0x9a, 0xa1, 0x65, 0x8f, 0xc8, 0xe3,
			0xad, 0xd7, 0x3d, 0xac, 0x72, 0x62, 0xe8, 0x0e, 0x0a,
			0xa2, 0xee,
		}
	};

	TC_PRINT(".");
	result = do_hmac_prng_pr_false_test(24, &vec);

	return result;
}

unsigned int test_25(void)
{
	unsigned int result = TC_PASS;
	const struct hmac_prng_test_vector vec = {
		32,
		16,
		32,
		0,
		128,
		{
			0x44, 0x94, 0x80, 0xea, 0xa1, 0x00, 0xaf, 0xf6, 0xf4,
			0x8d, 0xc6, 0x28, 0x6a, 0x5a, 0x81, 0xb9, 0x72, 0x8b,
			0x08, 0x48, 0x64, 0xf7, 0x8a, 0x9d, 0xa9, 0x8f, 0x60,
			0x6a, 0x00, 0xa6, 0xa4, 0x1f,
		},
		{
			0xe5, 0x3c, 0x6c, 0x5a, 0xc3, 0xda, 0x9f, 0x47, 0x26,
			0x38, 0x9a, 0x03, 0xf9, 0x7b, 0xb6, 0x40,
		},
		{
			0x6b, 0x8f, 0xed, 0xc0, 0x84, 0xd8, 0xe2, 0x8d, 0x33,
			0x3a, 0xef, 0x6d, 0xb3, 0x70, 0x2b, 0x63, 0x51, 0xf0,
			0xd2, 0x4e, 0x30, 0x90, 0x8c, 0xcc, 0xb6, 0x37, 0x94,
			0x28, 0x26, 0x55, 0x88, 0x6b,
		},
		{
			0x73, 0xa6, 0xd6, 0x4e, 0x19, 0x66, 0xae, 0x32, 0x43,
			0x88, 0xdc, 0x12, 0xc1, 0x45, 0x44, 0xe9, 0xdc, 0x5a,
			0xe4, 0xfc, 0xb3, 0x31, 0xe9, 0x9d, 0x35, 0x0c, 0x45,
			0x6f, 0xf1, 0x6f, 0x9a, 0xa0,
		},
		{
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00,
		},
		{
			0xa0, 0x69, 0x12, 0xd3, 0x62, 0xda, 0x7e, 0xb2, 0x55,
			0x98, 0x85, 0x7f, 0x6d, 0x65, 0x34, 0x4c, 0x3e, 0x23,
			0xec, 0x3d, 0xeb, 0x80, 0xc6, 0xe4, 0x31, 0x58, 0x84,
			0x5b, 0x95, 0xea, 0xec, 0xa2, 0x41, 0xc0, 0xbb, 0xbd,
			0x67, 0xac, 0x38, 0x5e, 0x24, 0x69, 0x34, 0x44, 0x45,
			0x5c, 0xc1, 0xc2, 0xc0, 0x8c, 0x11, 0x34, 0xd9, 0x56,
			0xb8, 0xbc, 0x93, 0xb2, 0x8b, 0xe9, 0xc2, 0xd3, 0x32,
			0x2b, 0x3e, 0x09, 0x25, 0x29, 0x79, 0xdf, 0xb8, 0xd3,
			0x9d, 0x04, 0xc9, 0x4f, 0x81, 0xbe, 0xbd, 0xa5, 0xc7,
			0x31, 0x10, 0x60, 0x5a, 0x23, 0x7b, 0x56, 0x12, 0x16,
			0xbd, 0xa9, 0xee, 0x9b, 0xde, 0xe1, 0xcc, 0x0c, 0x77,
			0x28, 0xbc, 0xc8, 0x30, 0x46, 0x82, 0x33, 0x4c, 0xa9,
			0x44, 0xe4, 0x67, 0xa2, 0x7a, 0x85, 0x31, 0x3f, 0xa5,
			0x39, 0x5a, 0x9c, 0x79, 0x0e, 0x35, 0xde, 0xfd, 0x2e,
			0xdb, 0x12,
		}
	};

	TC_PRINT(".");
	result = do_hmac_prng_pr_false_test(25, &vec);

	return result;
}

unsigned int test_26(void)
{
	unsigned int result = TC_PASS;
	const struct hmac_prng_test_vector vec = {
		32,
		16,
		32,
		0,
		128,
		{
			0x9a, 0x61, 0x74, 0x16, 0x6e, 0x97, 0xaa, 0x49, 0x81,
			0xdd, 0xf5, 0x80, 0xbc, 0x01, 0xc9, 0x67, 0x54, 0xb9,
			0xf0, 0xba, 0x04, 0x27, 0x50, 0xaa, 0xbf, 0xda, 0x1c,
			0xff, 0xe5, 0x6e, 0x85, 0x81,
		},
		{
			0xd7, 0x51, 0x2f, 0xf6, 0xb7, 0xdb, 0x7c, 0xe1, 0x41,
			0xb2, 0xbb, 0x01, 0xdc, 0xd0, 0x42, 0x5e,
		},
		{
			0xed, 0x75, 0x28, 0x8f, 0x23, 0x27, 0x5f, 0x94, 0x22,
			0x44, 0x4d, 0xa5, 0xd3, 0xb5, 0x3c, 0xcb, 0x3c, 0x4a,
			0xc8, 0xac, 0xfb, 0x65, 0x9a, 0x1e, 0x9b, 0x76, 0x55,
			0xc2, 0xdb, 0x52, 0xf8, 0x79,
		},
		{
			0x68, 0x88, 0xb9, 0x27, 0x7e, 0x57, 0xdc, 0x57, 0x66,
			0x3d, 0x40, 0x2e, 0xba, 0x8d, 0x03, 0xcf, 0x56, 0xa0,
			0x70, 0xdc, 0x86, 0x8e, 0x6a, 0x12, 0x8b, 0x18, 0x04,
			0x00, 0x02, 0xba, 0xf6, 0x90,
		},
		{
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00,
		},
		{
			0x03, 0x51, 0x9d, 0xfb, 0x2f, 0xf8, 0x8c, 0xc2, 0xb5,
			0x3e, 0xec, 0xc4, 0x8a, 0xe2, 0xa1, 0x8d, 0xdc, 0xf9,
			0x1a, 0x5d, 0x69, 0xd5, 0xae, 0xfc, 0xdd, 0xa8, 0x44,
			0x4e, 0x6d, 0xf7, 0x90, 0xa5, 0x24, 0x0e, 0x67, 0xb2,
			0xa4, 0xde, 0x75, 0xb4, 0xbb, 0x8a, 0x31, 0xf0, 0xf8,
			0xae, 0xb5, 0xe7, 0x85, 0xff, 0xb7, 0xa1, 0x34, 0x1b,
			0xb5, 0x2f, 0xe0, 0x0a, 0x05, 0xee, 0x66, 0xfa, 0x2d,
			0x44, 0xea, 0x99, 0x56, 0xe0, 0x55, 0xf9, 0xff, 0xa6,
			0x64, 0x7c, 0x3b, 0xfe, 0x85, 0x1a, 0xb3, 0x64, 0xad,
			0xe7, 0x1a, 0x0d, 0x35, 0x6d, 0xe7, 0x10, 0xdd, 0xaf,
			0xb7, 0x62, 0x2b, 0x1d, 0xa1, 0xbc, 0x53, 0xfd, 0x4d,
			0x32, 0x10, 0x40, 0x72, 0x89, 0xc6, 0x8d, 0x8a, 0xeb,
			0x34, 0x6b, 0xf1, 0x58, 0x06, 0xdb, 0xe7, 0x87, 0xe7,
			0x81, 0xb9, 0x4f, 0x63, 0xda, 0x3e, 0x1f, 0x61, 0xb5,
			0xac, 0x60,
		}
	};

	TC_PRINT(".");
	result = do_hmac_prng_pr_false_test(26, &vec);

	return result;
}

unsigned int test_27(void)
{
	unsigned int result = TC_PASS;
	const struct hmac_prng_test_vector vec = {
		32,
		16,
		32,
		0,
		128,
		{
			0x9c, 0x6a, 0xe1, 0x00, 0x2e, 0xe1, 0xb0, 0xad, 0xd0,
			0xbe, 0x56, 0x3c, 0xe5, 0x0f, 0x89, 0x9d, 0xa9, 0x36,
			0xe1, 0x3e, 0xfa, 0x62, 0x0d, 0x08, 0xc2, 0x68, 0x8c,
			0x19, 0x25, 0x14, 0x76, 0x3a,
		},
		{
			0xfd, 0xe7, 0xdb, 0x51, 0x60, 0xc7, 0x30, 0x44, 0xbe,
			0x73, 0xe9, 0xd4, 0xc1, 0xb2, 0x2d, 0x86,
		},
		{
			0x8f, 0xda, 0xae, 0xff, 0xd6, 0x4e, 0x53, 0xf7, 0xb4,
			0x37, 0x4d, 0x90, 0x2d, 0x44, 0x12, 0x09, 0x96, 0x4e,
			0x12, 0xb6, 0x5d, 0x29, 0xaf, 0xec, 0x25, 0x8e, 0x65,
			0xdb, 0x6d, 0xe1, 0x67, 0xca,
		},
		{
			0xbc, 0xc2, 0x8f, 0xd5, 0x8e, 0x39, 0x7f, 0x53, 0xf4,
			0x94, 0xad, 0x81, 0x32, 0xdf, 0x82, 0xc5, 0xd8, 0xc4,
			0xc2, 0x2e, 0xa0, 0xb7, 0x13, 0x9b, 0xd8, 0x1e, 0xeb,
			0xa6, 0x56, 0x67, 0xbb, 0x69,
		},
		{
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00,
		},
		{
			0x02, 0x1d, 0x93, 0x8c, 0x9b, 0x4d, 0xb7, 0x80, 0xc7,
			0xd8, 0x13, 0x4a, 0xef, 0xf1, 0x05, 0x3e, 0x5b, 0x88,
			0x43, 0x37, 0x0b, 0x8a, 0xe9, 0xa6, 0x74, 0x9f, 0xca,
			0x71, 0x99, 0xd8, 0x09, 0x81, 0x0f, 0x1b, 0xc8, 0xdf,
			0xa4, 0x94, 0x26, 0x47, 0x0c, 0x30, 0xc3, 0x61, 0x6f,
			0x90, 0x3e, 0x35, 0xfb, 0xac, 0xb2, 0x34, 0x20, 0xa3,
			0x2f, 0x1b, 0xee, 0x56, 0x7c, 0xc3, 0x23, 0x00, 0xf7,
			0x04, 0x24, 0x6d, 0xdc, 0x02, 0x17, 0xf2, 0x36, 0xef,
			0x52, 0xc3, 0xec, 0x9e, 0x24, 0x33, 0xca, 0x66, 0xf0,
			0x5c, 0x25, 0x72, 0x1f, 0x76, 0x61, 0xc4, 0x3f, 0x22,
			0xc1, 0xa1, 0x25, 0xed, 0x5d, 0xb5, 0x31, 0xbd, 0x08,
			0x36, 0xeb, 0x43, 0x5c, 0x27, 0xee, 0xfc, 0x74, 0x24,
			0xce, 0x9d, 0x84, 0x5e, 0x1d, 0x4c, 0xc4, 0xc5, 0x03,
			0x09, 0x7b, 0x4f, 0xfc, 0xa7, 0x88, 0xe6, 0x74, 0xa5,
			0xcb, 0x53,
		}
	};

	TC_PRINT(".");
	result = do_hmac_prng_pr_false_test(27, &vec);

	return result;
}

unsigned int test_28(void)
{
	unsigned int result = TC_PASS;
	const struct hmac_prng_test_vector vec = {
		32,
		16,
		32,
		0,
		128,
		{
			0xfe, 0x96, 0xa8, 0x5b, 0x69, 0xd4, 0x6b, 0x54, 0x09,
			0x18, 0x92, 0x7b, 0xb6, 0x09, 0xdc, 0x57, 0x64, 0x2e,
			0xea, 0xef, 0xd4, 0x6b, 0xb5, 0xda, 0x21, 0x63, 0xa0,
			0xbc, 0x60, 0x29, 0x4b, 0x58,
		},
		{
			0x22, 0x19, 0x5a, 0x41, 0x0d, 0x24, 0xdb, 0x45, 0x58,
			0x94, 0x48, 0xdf, 0xe9, 0x79, 0xd3, 0xfd,
		},
		{
			0x20, 0xf6, 0x98, 0x83, 0x3a, 0x44, 0x72, 0xfd, 0x7b,
			0x78, 0xfb, 0x9b, 0x0c, 0x4e, 0xb6, 0x86, 0x04, 0xf1,
			0x66, 0xa2, 0x69, 0x4c, 0x4a, 0xf4, 0x8d, 0xac, 0x2b,
			0x23, 0x76, 0x79, 0x0e, 0x1e,
		},
		{
			0x09, 0xcb, 0x87, 0x08, 0x79, 0xd3, 0xf7, 0x34, 0x21,
			0x4f, 0x6a, 0x4b, 0xd2, 0xe0, 0x8c, 0x62, 0xa2, 0xa9,
			0x54, 0xbe, 0xbe, 0x55, 0x94, 0x16, 0xd8, 0xc3, 0x55,
			0x1a, 0xaf, 0xe7, 0x1d, 0x6a,
		},
		{
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00,
		},
		{
			0xd3, 0xe9, 0x6d, 0xbe, 0x29, 0xe1, 0xfc, 0xb8, 0xed,
			0x83, 0xb1, 0x9d, 0xbf, 0xb2, 0x40, 0xe6, 0xf4, 0x16,
			0x79, 0xfb, 0xe8, 0x38, 0x53, 0xaa, 0x71, 0x44, 0x66,
			0x17, 0xe6, 0x3e, 0x5a, 0xf7, 0x8c, 0xf9, 0x8b, 0x33,
			0x1d, 0x15, 0xbc, 0xcb, 0x8c, 0x67, 0x3c, 0x4e, 0x5d,
			0x5d, 0xce, 0xc4, 0x67, 0xa1, 0xfe, 0x26, 0xa6, 0xcd,
			0x16, 0x96, 0xd0, 0xc9, 0xbc, 0x49, 0xf7, 0x81, 0x39,
			0xd0, 0x51, 0x28, 0x7d, 0xf7, 0xf3, 0xae, 0x0d, 0xbb,
			0x4b, 0xbf, 0x58, 0x1c, 0xb8, 0x21, 0x19, 0x31, 0x06,
			0x3c, 0x3f, 0x46, 0x12, 0xce, 0xd5, 0x3f, 0x59, 0xd1,
			0xb4, 0xeb, 0xb8, 0x75, 0x72, 0x91, 0x39, 0xf5, 0xd2,
			0xa7, 0xd6, 0x06, 0x42, 0xe8, 0xf2, 0x83, 0x5e, 0xed,
			0x88, 0x8b, 0x7e, 0x3e, 0x49, 0xc0, 0xdf, 0xfd, 0x01,
			0x2c, 0xd7, 0x46, 0xab, 0xfa, 0x3e, 0x1c, 0x5c, 0x23,
			0x08, 0xc6,
		}
	};

	TC_PRINT(".");
	result = do_hmac_prng_pr_false_test(28, &vec);

	return result;
}

unsigned int test_29(void)
{
	unsigned int result = TC_PASS;
	const struct hmac_prng_test_vector vec = {
		32,
		16,
		32,
		0,
		128,
		{
			0xa4, 0xfd, 0x69, 0x3f, 0xf0, 0xa8, 0xaf, 0x24, 0xbc,
			0xec, 0x35, 0x2d, 0x31, 0x96, 0x54, 0x9f, 0xd0, 0xda,
			0x5e, 0xe5, 0xd9, 0x9c, 0xa5, 0x84, 0x16, 0xca, 0x03,
			0xce, 0x4c, 0x50, 0xf3, 0x8e,
		},
		{
			0x8c, 0xd6, 0x7f, 0x2b, 0xf7, 0x1d, 0x43, 0x66, 0xce,
			0x61, 0x39, 0x66, 0x42, 0x53, 0x1f, 0xf5,
		},
		{
			0x36, 0x89, 0x69, 0xc1, 0x5a, 0x48, 0x49, 0xd7, 0x59,
			0x3b, 0xe8, 0xb1, 0x62, 0x11, 0x3b, 0x92, 0x98, 0xa5,
			0x35, 0xc1, 0x48, 0xff, 0x66, 0x8a, 0x9e, 0x8b, 0x14,
			0x7f, 0xb3, 0xaf, 0x4e, 0xba,
		},
		{
			0x83, 0xd2, 0xbe, 0x9a, 0x0d, 0x74, 0xe6, 0xa4, 0x21,
			0x59, 0xae, 0x63, 0x0a, 0xce, 0xbf, 0x4e, 0x15, 0x27,
			0x1e, 0xf7, 0xf1, 0x4f, 0x3d, 0xe1, 0x47, 0x52, 0xbe,
			0x0e, 0x0e, 0x82, 0x2b, 0x11,
		},
		{
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00,
		},
		{
			0xe9, 0x18, 0x8f, 0xc0, 0xea, 0xec, 0x74, 0xb2, 0x60,
			0x8e, 0x21, 0xe3, 0xa4, 0x0b, 0xe9, 0x4a, 0xaf, 0x4a,
			0xe0, 0x8e, 0xb6, 0x84, 0xde, 0x8f, 0x8b, 0xba, 0x2d,
			0x5f, 0xd3, 0xb0, 0x73, 0xaa, 0x55, 0x31, 0xc9, 0x38,
			0xc0, 0xfc, 0x62, 0x8d, 0xa6, 0x57, 0x25, 0xc5, 0x4b,
			0x5c, 0x68, 0xbb, 0x91, 0xd7, 0xd3, 0x26, 0x56, 0x5e,
			0x96, 0x68, 0x5e, 0x0a, 0x4e, 0x7b, 0x22, 0x0c, 0x50,
			0xe0, 0xca, 0xf1, 0x62, 0x8e, 0xdb, 0xa5, 0xbd, 0x75,
			0x5b, 0x31, 0x89, 0x4f, 0x8c, 0xb9, 0x0a, 0xfa, 0x76,
			0xe8, 0x8c, 0x5e, 0xb9, 0xe6, 0x1b, 0x49, 0x32, 0x44,
			0x4c, 0x13, 0x97, 0xde, 0xe3, 0xe3, 0x22, 0x41, 0xa3,
			0xfb, 0x70, 0xa3, 0x92, 0x9e, 0x49, 0xf6, 0xda, 0x02,
			0xee, 0xa5, 0x48, 0x12, 0xab, 0xb3, 0xd6, 0xb5, 0xce,
			0xe1, 0x8f, 0x03, 0xaf, 0x1e, 0x0b, 0x49, 0x58, 0x43,
			0x0a, 0xb3,
		}
	};

	TC_PRINT(".");
	result = do_hmac_prng_pr_false_test(29, &vec);

	return result;
}

unsigned int test_30(void)
{
	unsigned int result = TC_PASS;
	const struct hmac_prng_test_vector vec = {
		32,
		16,
		32,
		0,
		128,
		{
			0x25, 0x4f, 0xf5, 0x68, 0x7a, 0x6d, 0xad, 0x3f, 0x1d,
			0x23, 0x7d, 0xc7, 0x62, 0xf5, 0x8d, 0x24, 0xef, 0x2e,
			0x2c, 0x08, 0x4d, 0x0a, 0x48, 0xd2, 0x6a, 0x3d, 0xc8,
			0x1e, 0x54, 0x90, 0xcd, 0xa3,
		},
		{
			0xf2, 0xec, 0x39, 0x2a, 0xcc, 0xa4, 0x91, 0xe0, 0x3c,
			0xe4, 0x7b, 0x95, 0x96, 0x3a, 0x49, 0xfc,
		},
		{
			0xf8, 0x06, 0xb9, 0xb4, 0xa5, 0x66, 0x82, 0xc6, 0x1b,
			0x55, 0xcb, 0x6a, 0x33, 0x4c, 0xaf, 0x87, 0xff, 0xe1,
			0x35, 0xad, 0xfe, 0xa6, 0xd0, 0xc3, 0xfc, 0x22, 0xb3,
			0x98, 0x98, 0xfb, 0xd0, 0x78,
		},
		{
			0xb8, 0x49, 0x4b, 0x1c, 0x1f, 0x17, 0x52, 0xfb, 0x6f,
			0x80, 0xd7, 0x32, 0xa8, 0x9b, 0x08, 0x11, 0x58, 0x57,
			0xf7, 0xcc, 0x96, 0xe7, 0xdf, 0xf0, 0x5e, 0xbb, 0x82,
			0x27, 0x06, 0x88, 0x99, 0x17,
		},
		{
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00,
		},
		{
			0x0e, 0x52, 0x7e, 0x00, 0x49, 0x4d, 0x55, 0x56, 0x4f,
			0x9d, 0x9b, 0x28, 0xe7, 0x11, 0x0f, 0x9a, 0x61, 0xce,
			0x36, 0xc8, 0x83, 0xb5, 0xbe, 0x2d, 0xcb, 0x05, 0x54,
			0x44, 0x16, 0x4c, 0xdd, 0xdd, 0x1a, 0x9f, 0x27, 0x31,
			0x71, 0x6f, 0x22, 0xd6, 0xff, 0x47, 0x6c, 0xe4, 0x13,
			0xc7, 0x7a, 0xbf, 0xc0, 0xe9, 0x46, 0x87, 0x1d, 0x54,
			0x81, 0x34, 0x5c, 0x2e, 0x97, 0xb4, 0xbf, 0xdd, 0x12,
			0xac, 0x03, 0xdf, 0x60, 0x6f, 0xc5, 0x6b, 0xdb, 0x99,
			0xac, 0x7b, 0x71, 0xa6, 0x9b, 0x5b, 0x91, 0x60, 0x37,
			0x3b, 0xbe, 0xc3, 0xe9, 0xdd, 0xe4, 0x77, 0x18, 0x0a,
			0xf4, 0x54, 0xe7, 0xac, 0xc6, 0xbc, 0x58, 0xdc, 0x0a,
			0xfb, 0x42, 0x81, 0xc0, 0xde, 0x43, 0x54, 0xc1, 0xbf,
			0x59, 0x90, 0x54, 0xe3, 0x80, 0x0c, 0x6d, 0x60, 0xd8,
			0x92, 0x85, 0x88, 0x65, 0xb5, 0x36, 0x1f, 0x50, 0xbf,
			0xca, 0x9b,
		}
	};

	TC_PRINT(".");
	result = do_hmac_prng_pr_false_test(30, &vec);

	return result;
}

unsigned int test_31(void)
{
	unsigned int result = TC_PASS;
	const struct hmac_prng_test_vector vec = {
		32,
		16,
		0,
		0,
		128,
		{
			0xff, 0x0c, 0xdd, 0x55, 0x5c, 0x60, 0x46, 0x47, 0x60,
			0xb2, 0x89, 0xb7, 0xbc, 0x1f, 0x81, 0x1a, 0x41, 0xff,
			0xf7, 0x2d, 0xe5, 0x90, 0x83, 0x85, 0x8c, 0x02, 0x0a,
			0x10, 0x53, 0xbd, 0xc7, 0x4a,
		},
		{
			0x7b, 0xc0, 0x99, 0x28, 0x5a, 0xd5, 0x62, 0x19, 0x93,
			0xb6, 0x39, 0xc4, 0xa9, 0x4c, 0x37, 0x6b,
		},
		{
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00,
		},
		{
			0x14, 0xfc, 0x6c, 0x9b, 0x17, 0x8d, 0xb6, 0x44, 0xa8,
			0xcd, 0x71, 0x30, 0xa4, 0xcf, 0x05, 0x16, 0x78, 0xc8,
			0xf4, 0xfa, 0x8f, 0x24, 0xc2, 0x7b, 0x0a, 0x53, 0x13,
			0x38, 0xa5, 0xce, 0x85, 0x89,
		},
		{
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00,
		},
		{
			0x2f, 0x26, 0x20, 0x34, 0x7b, 0xdd, 0xca, 0xa2, 0x94,
			0x36, 0x85, 0x34, 0x6b, 0xbf, 0x31, 0xc4, 0x40, 0x81,
			0xf8, 0x66, 0x5f, 0x3d, 0xdb, 0x2b, 0x42, 0xae, 0x14,
			0x16, 0xa7, 0x4c, 0x4b, 0x77, 0xfa, 0xb3, 0xfa, 0x19,
			0xae, 0xec, 0xc5, 0x47, 0xe7, 0x6c, 0x8c, 0xbe, 0x6a,
			0xd1, 0xf1, 0x00, 0xa3, 0xfc, 0x8b, 0x2c, 0xe2, 0xa1,
			0xea, 0x3a, 0x3d, 0xd7, 0xcf, 0xad, 0x46, 0xc1, 0xb2,
			0x78, 0x30, 0xb9, 0x40, 0xba, 0x18, 0xd0, 0x9e, 0x9b,
			0x7f, 0xa9, 0x02, 0xbb, 0x76, 0x06, 0x69, 0xb1, 0x73,
			0x5c, 0xc7, 0xb7, 0xbd, 0x39, 0x05, 0x2d, 0xa7, 0xf2,
			0x62, 0x6f, 0xa8, 0x70, 0x00, 0xcf, 0xfa, 0xda, 0x41,
			0x00, 0x19, 0xd0, 0x53, 0x38, 0x6a, 0xd8, 0x08, 0xbd,
			0x3c, 0x0c, 0xfc, 0xf5, 0x6b, 0x91, 0x87, 0x9e, 0xb8,
			0xd3, 0xf9, 0x32, 0xee, 0x2d, 0x18, 0x5e, 0x54, 0xf3,
			0x1b, 0x74,
		}
	};

	TC_PRINT(".");
	result = do_hmac_prng_pr_false_test(31, &vec);

	return result;
}

unsigned int test_32(void)
{
	unsigned int result = TC_PASS;
	const struct hmac_prng_test_vector vec = {
		32,
		16,
		0,
		0,
		128,
		{
			0xf6, 0x1b, 0x9a, 0x29, 0x3d, 0x18, 0x95, 0x2c, 0x74,
			0x65, 0xa5, 0x11, 0x38, 0x2c, 0x03, 0x1b, 0x86, 0x0b,
			0xcc, 0x85, 0x86, 0xa7, 0xec, 0x99, 0xd7, 0x52, 0x3e,
			0xad, 0x8a, 0xca, 0xd0, 0xcb,
		},
		{
			0xe3, 0x32, 0xa1, 0x0e, 0x88, 0xf0, 0x0d, 0x95, 0x1d,
			0xdf, 0xd4, 0xc7, 0xb0, 0xb5, 0x96, 0x58,
		},
		{
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00,
		},
		{
			0x10, 0xf2, 0x3a, 0xfe, 0xbe, 0x72, 0x60, 0x93, 0xde,
			0x81, 0x70, 0x03, 0x6a, 0x9f, 0x69, 0x4e, 0x80, 0x84,
			0xc0, 0x9c, 0x6e, 0x62, 0x0e, 0x98, 0xbb, 0x45, 0xf1,
			0x6e, 0xe5, 0x60, 0x31, 0xce,
		},
		{
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00,
		},
		{
			0xd3, 0x43, 0x84, 0x89, 0x3e, 0xf4, 0xcb, 0x3e, 0x42,
			0x38, 0x6a, 0x42, 0xef, 0xbd, 0xce, 0x46, 0x7c, 0xd4,
			0x11, 0xa7, 0x6e, 0x6a, 0x32, 0xe1, 0xd6, 0x34, 0xa5,
			0xa3, 0x67, 0x0a, 0x95, 0x97, 0x39, 0x85, 0x85, 0x1b,
			0x5f, 0x36, 0x9a, 0x1b, 0xe6, 0x5a, 0xdd, 0x3e, 0xd6,
			0x1f, 0x7c, 0x6a, 0x11, 0x98, 0x64, 0x85, 0xb7, 0xe1,
			0x6b, 0x57, 0x26, 0x3e, 0xed, 0x71, 0xff, 0xc5, 0xa8,
			0x97, 0x56, 0xcb, 0x42, 0xb7, 0xbd, 0xfd, 0xf9, 0x2b,
			0x2e, 0x31, 0xc3, 0x6b, 0x4d, 0x7b, 0x7c, 0xbd, 0x2e,
			0x65, 0x0c, 0xcb, 0xd6, 0xc0, 0xb5, 0xdf, 0xc9, 0x5c,
			0xd8, 0x93, 0x7e, 0xf1, 0xe8, 0xeb, 0xc7, 0x1a, 0x04,
			0xcf, 0x33, 0xc3, 0x98, 0xf7, 0xf9, 0x08, 0x6f, 0x0b,
			0xae, 0x57, 0xee, 0x9a, 0xf8, 0xf9, 0x3f, 0x3b, 0x8e,
			0xc1, 0xc9, 0x81, 0x69, 0x17, 0xf6, 0x99, 0xd8, 0xf4,
			0x32, 0x72,
		}
	};

	TC_PRINT(".");
	result = do_hmac_prng_pr_false_test(32, &vec);

	return result;
}

unsigned int test_33(void)
{
	unsigned int result = TC_PASS;
	const struct hmac_prng_test_vector vec = {
		32,
		16,
		0,
		0,
		128,
		{
			0x1b, 0x6b, 0x52, 0xb7, 0xba, 0x19, 0xc2, 0x6e, 0x62,
			0xbd, 0x0a, 0xc9, 0xb2, 0x33, 0xbc, 0xf0, 0x04, 0xbb,
			0xc9, 0xfd, 0x9e, 0x1e, 0x73, 0x7c, 0xcf, 0x88, 0x4a,
			0x76, 0x08, 0x29, 0xcd, 0x10,
		},
		{
			0xd3, 0x81, 0xc8, 0xbe, 0x20, 0x32, 0x74, 0xf1, 0x76,
			0x69, 0x18, 0xb4, 0x5e, 0x08, 0xdd, 0xc6,
		},
		{
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00,
		},
		{
			0x2f, 0x50, 0x4e, 0xb2, 0x9f, 0x8e, 0xc0, 0x70, 0x4f,
			0x07, 0x0b, 0x59, 0xc0, 0x20, 0x76, 0xf4, 0xa4, 0xe5,
			0xc8, 0xe7, 0xb6, 0x45, 0x68, 0xb2, 0x2c, 0x5f, 0xf5,
			0xba, 0xe1, 0x96, 0xd5, 0xeb,
		},
		{
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00,
		},
		{
			0xa4, 0x15, 0x00, 0xfc, 0x54, 0xcc, 0xf5, 0x49, 0xfe,
			0x21, 0xb3, 0x69, 0x34, 0x28, 0xe0, 0x3c, 0xcd, 0xff,
			0xbf, 0x42, 0xff, 0x79, 0x0d, 0x47, 0xdf, 0xf3, 0x4f,
			0xd8, 0x8f, 0xce, 0x01, 0xaf, 0xd4, 0x9a, 0x26, 0xd3,
			0x00, 0xad, 0x66, 0xa3, 0x4c, 0xd3, 0xd1, 0xae, 0xc7,
			0x3d, 0xd0, 0x02, 0xdc, 0x83, 0xc1, 0xb8, 0x6c, 0x43,
			0x2d, 0x72, 0x17, 0x66, 0xfb, 0x90, 0x36, 0x61, 0x30,
			0xa3, 0xa2, 0x88, 0x88, 0xa6, 0x3a, 0x5d, 0x0b, 0x8b,
			0xef, 0xa8, 0x95, 0x61, 0x1c, 0x25, 0xbf, 0xa8, 0x81,
			0x75, 0x36, 0xeb, 0x0b, 0x20, 0xb9, 0x98, 0x2c, 0x7d,
			0x97, 0x6f, 0x47, 0x07, 0x56, 0x3b, 0x16, 0xb4, 0x9c,
			0xcb, 0xd4, 0x35, 0xcf, 0x04, 0x9b, 0x6a, 0x6e, 0x11,
			0xdf, 0x12, 0xe5, 0xfa, 0xf0, 0xd2, 0x0f, 0xc9, 0xde,
			0xab, 0x39, 0x5a, 0xc6, 0x93, 0x03, 0x60, 0x1b, 0xa3,
			0x1f, 0xe3,
		}
	};

	TC_PRINT(".");
	result = do_hmac_prng_pr_false_test(33, &vec);

	return result;
}

unsigned int test_34(void)
{
	unsigned int result = TC_PASS;
	const struct hmac_prng_test_vector vec = {
		32,
		16,
		0,
		0,
		128,
		{
			0x36, 0x36, 0x7f, 0xa9, 0x73, 0xaa, 0x4e, 0x2e, 0xc7,
			0xbc, 0xef, 0x33, 0x99, 0x00, 0xdd, 0x95, 0x94, 0x16,
			0xbd, 0x63, 0xe7, 0x46, 0xaa, 0x3c, 0x14, 0xa9, 0xb6,
			0x6e, 0x83, 0x8f, 0xc7, 0x80,
		},
		{
			0xfb, 0xa0, 0x71, 0x24, 0xe6, 0xd5, 0x7f, 0x3c, 0x81,
			0xba, 0x59, 0x6d, 0x25, 0x6e, 0x43, 0x3c,
		},
		{
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00,
		},
		{
			0xf3, 0x0b, 0xd1, 0x1a, 0x1f, 0x2b, 0xc9, 0x7d, 0xd8,
			0xd4, 0x82, 0x9f, 0x75, 0xd5, 0x9d, 0x55, 0x77, 0xe7,
			0x26, 0x82, 0x5e, 0x23, 0x64, 0xd2, 0x04, 0xe9, 0x07,
			0x7d, 0xf4, 0x8f, 0x65, 0xa9,
		},
		{
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00,
		},
		{
			0x6a, 0x5b, 0xdf, 0xdf, 0x37, 0x31, 0x9c, 0x2e, 0x6b,
			0xd2, 0xbc, 0x44, 0x93, 0x84, 0x55, 0xe0, 0x3a, 0x2e,
			0x83, 0x0b, 0x23, 0xee, 0x8e, 0xbd, 0x6f, 0x98, 0x2f,
			0xf8, 0x38, 0xb4, 0x99, 0xd6, 0xd3, 0x7b, 0x44, 0xef,
			0x0a, 0x59, 0x41, 0xba, 0x42, 0xfe, 0x02, 0x45, 0xe6,
			0x4b, 0x28, 0xee, 0x1a, 0x2f, 0xa3, 0xe8, 0xd2, 0x24,
			0x69, 0xce, 0xb4, 0xc6, 0xf6, 0x75, 0x62, 0x9c, 0x3c,
			0x6a, 0xbf, 0x61, 0xaa, 0xb6, 0xb1, 0xe8, 0x87, 0xc8,
			0xcf, 0x66, 0x44, 0x80, 0x3f, 0x5d, 0x51, 0x16, 0xbe,
			0x11, 0xff, 0x42, 0x69, 0x8d, 0x42, 0xac, 0x36, 0x86,
			0x80, 0x70, 0x36, 0xf5, 0x1a, 0xf4, 0xae, 0x34, 0x4a,
			0x36, 0x5e, 0x8a, 0xd8, 0xeb, 0xc3, 0xa6, 0x23, 0xde,
			0x1b, 0xcc, 0x68, 0xe0, 0x64, 0xd9, 0xfa, 0x82, 0xb6,
			0xc8, 0x0f, 0xb0, 0x57, 0x00, 0x60, 0xbc, 0x58, 0xe8,
			0x7e, 0xbd,
		}
	};

	TC_PRINT(".");
	result = do_hmac_prng_pr_false_test(34, &vec);

	return result;
}

unsigned int test_35(void)
{
	unsigned int result = TC_PASS;
	const struct hmac_prng_test_vector vec = {
		32,
		16,
		0,
		0,
		128,
		{
			0x24, 0x85, 0xcf, 0xc6, 0x15, 0xd7, 0xfa, 0xb6, 0x0f,
			0x46, 0x57, 0xe4, 0x70, 0xc8, 0x12, 0x1e, 0xdd, 0x6b,
			0xc1, 0xfa, 0x22, 0x47, 0xb2, 0x05, 0xce, 0x40, 0x40,
			0xee, 0x13, 0xc3, 0x6f, 0x17,
		},
		{
			0x08, 0x7e, 0x6b, 0x4b, 0xf1, 0xe7, 0x75, 0xa4, 0xc9,
			0xf1, 0x82, 0xdf, 0x61, 0x80, 0x13, 0x43,
		},
		{
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00,
		},
		{
			0x9a, 0xee, 0x0e, 0xbe, 0xd8, 0xda, 0xf7, 0x03, 0x36,
			0x0a, 0xa1, 0xfa, 0x2e, 0x17, 0xfa, 0xc6, 0xb7, 0x94,
			0x5a, 0xc4, 0x5c, 0xda, 0xaa, 0xcb, 0xcc, 0x9f, 0xce,
			0x22, 0xd2, 0x8c, 0x0d, 0x1d,
		},
		{
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00,
		},
		{
			0xca, 0x4e, 0x2c, 0x4b, 0x63, 0xbb, 0x7f, 0x08, 0x43,
			0x8b, 0x82, 0x5c, 0xde, 0xb6, 0xa8, 0x83, 0xa2, 0xca,
			0xf3, 0x0d, 0xdb, 0xcc, 0xeb, 0x05, 0xc9, 0x1d, 0x37,
			0xc0, 0x56, 0x76, 0xf6, 0x3c, 0xc4, 0xde, 0x0b, 0xd6,
			0x80, 0xa8, 0x21, 0xa9, 0x95, 0x56, 0x4e, 0xcd, 0x12,
			0xe5, 0x4f, 0xc0, 0x56, 0xa3, 0x9e, 0x4e, 0xc5, 0xfe,
			0x33, 0x73, 0xb4, 0xd6, 0x62, 0x04, 0x02, 0xb6, 0xa5,
			0x37, 0x76, 0x2f, 0x95, 0xa2, 0xd4, 0x90, 0x95, 0x81,
			0xc8, 0x98, 0x5d, 0xf8, 0x01, 0xc7, 0x2f, 0x32, 0x23,
			0xbd, 0x94, 0x67, 0x96, 0xac, 0x71, 0xdc, 0x8f, 0xc1,
			0xb2, 0x83, 0x8e, 0xa5, 0xaa, 0x68, 0x64, 0x49, 0x08,
			0xcc, 0x74, 0xcd, 0x81, 0x84, 0x86, 0x1b, 0x88, 0x94,
			0xe0, 0x74, 0x92, 0x2e, 0x85, 0xa5, 0xe2, 0x58, 0xfb,
			0x6e, 0xd3, 0xec, 0x10, 0xe3, 0xff, 0xe2, 0x40, 0xb6,
			0x73, 0x8c,
		}
	};

	TC_PRINT(".");
	result = do_hmac_prng_pr_false_test(35, &vec);

	return result;
}

unsigned int test_36(void)
{
	unsigned int result = TC_PASS;
	const struct hmac_prng_test_vector vec = {
		32,
		16,
		0,
		0,
		128,
		{
			0xd1, 0x09, 0xe7, 0x55, 0xa7, 0x25, 0xc9, 0x64, 0x8d,
			0x33, 0x71, 0xff, 0xbf, 0x2c, 0xe0, 0x80, 0x45, 0xd1,
			0x71, 0x75, 0xbb, 0x1e, 0x77, 0x7a, 0xaa, 0x73, 0xfc,
			0x6f, 0x9e, 0xc2, 0xac, 0xf6,
		},
		{
			0xc1, 0x42, 0xf6, 0xe0, 0x4d, 0xc8, 0x87, 0xd0, 0x2d,
			0x57, 0xb1, 0xc2, 0x7c, 0x1c, 0x77, 0xae,
		},
		{
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00,
		},
		{
			0x09, 0x1f, 0xd9, 0xe5, 0xb5, 0xb7, 0x41, 0x5f, 0x87,
			0x3f, 0x2c, 0xb1, 0xe5, 0x54, 0xea, 0xbd, 0xd9, 0x1f,
			0x96, 0xb6, 0x84, 0xc1, 0x0c, 0xd0, 0x02, 0x4f, 0xb3,
			0x2e, 0x48, 0x1d, 0x4c, 0xb0,
		},
		{
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00,
		},
		{
			0x1d, 0x6f, 0xd5, 0x0a, 0x84, 0x38, 0x69, 0xbb, 0x8a,
			0x9b, 0x83, 0xcc, 0xb4, 0xd1, 0x00, 0xaf, 0x18, 0xee,
			0xfc, 0xbd, 0xcb, 0x98, 0xaf, 0xa2, 0x73, 0x73, 0x7c,
			0x68, 0x7b, 0x50, 0x40, 0x22, 0x73, 0xb9, 0x88, 0x6c,
			0xa1, 0x32, 0x0e, 0xca, 0x2c, 0x55, 0x8e, 0xd2, 0x64,
			0xa4, 0x2e, 0x02, 0xe1, 0xa7, 0xdc, 0xbc, 0xa2, 0x67,
			0xa3, 0x85, 0xdc, 0x70, 0xd6, 0xe1, 0x5a, 0xc4, 0x27,
			0x6a, 0x6a, 0xd5, 0x91, 0x07, 0xd6, 0x3b, 0x2d, 0x07,
			0x73, 0x91, 0xee, 0xe7, 0x62, 0xd9, 0xfb, 0xe2, 0x29,
			0x46, 0xc7, 0xd6, 0xe3, 0x75, 0x78, 0xd4, 0xdd, 0xcc,
			0xfa, 0xe9, 0x78, 0x96, 0x28, 0xa6, 0x05, 0x37, 0xa3,
			0x93, 0x3c, 0xf7, 0xcf, 0xcb, 0x12, 0x71, 0xa2, 0x92,
			0x15, 0x99, 0x1b, 0xd3, 0x41, 0xdf, 0xf3, 0x9b, 0x2c,
			0x9b, 0x6c, 0x24, 0x3a, 0x03, 0xdd, 0xde, 0x0b, 0x73,
			0xff, 0xb1,
		}
	};

	TC_PRINT(".");
	result = do_hmac_prng_pr_false_test(36, &vec);

	return result;
}

unsigned int test_37(void)
{
	unsigned int result = TC_PASS;
	const struct hmac_prng_test_vector vec = {
		32,
		16,
		0,
		0,
		128,
		{
			0x8b, 0xc4, 0x7b, 0x94, 0xd0, 0x69, 0x19, 0xa1, 0x7b,
			0x23, 0xfc, 0xcb, 0xd4, 0xd2, 0x34, 0x94, 0xbe, 0x25,
			0x87, 0xe0, 0xb5, 0xd2, 0xb8, 0x23, 0x95, 0x59, 0x3d,
			0xd4, 0x2a, 0x28, 0x37, 0xa5,
		},
		{
			0xbf, 0x4d, 0x19, 0xfd, 0xfa, 0xf2, 0xd5, 0xee, 0x48,
			0x39, 0x11, 0x95, 0x82, 0x8a, 0xcb, 0xed,
		},
		{
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00,
		},
		{
			0x08, 0x19, 0x0c, 0xb3, 0x1d, 0x8f, 0x20, 0xe8, 0xdf,
			0x5e, 0x5a, 0x64, 0x8e, 0xda, 0x89, 0x63, 0x68, 0xff,
			0x3b, 0xae, 0x1b, 0x60, 0xf7, 0xca, 0x1c, 0x93, 0xf8,
			0xbc, 0xdc, 0xdf, 0xbd, 0xcb,
		},
		{
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00,
		},
		{
			0x61, 0x05, 0x19, 0x7b, 0x7f, 0xd3, 0xa3, 0x12, 0x17,
			0x27, 0x89, 0x95, 0x50, 0x14, 0x4f, 0x8b, 0x9f, 0x03,
			0xcf, 0x9b, 0x1a, 0x57, 0x0e, 0x97, 0x2a, 0xd2, 0x3f,
			0x0e, 0xa7, 0x14, 0xdb, 0x42, 0x4a, 0x0b, 0xdc, 0xba,
			0x04, 0x5b, 0x6a, 0xeb, 0x12, 0x37, 0xc7, 0xab, 0xe9,
			0x0b, 0xcf, 0x84, 0x3d, 0x42, 0x53, 0xb3, 0x75, 0x72,
			0x49, 0x53, 0xc3, 0xf7, 0x26, 0xa9, 0xad, 0x8b, 0x25,
			0xba, 0x91, 0x3e, 0x4d, 0xb3, 0x74, 0x18, 0x5a, 0xf9,
			0x36, 0x37, 0xf3, 0xdc, 0xdf, 0x97, 0x3b, 0x98, 0x67,
			0x23, 0xf5, 0x90, 0xee, 0x76, 0x69, 0x16, 0x05, 0x2c,
			0x5e, 0xaa, 0x41, 0x91, 0x51, 0xf0, 0x9d, 0x12, 0x41,
			0x0e, 0x48, 0x28, 0x4a, 0xc8, 0xee, 0x87, 0xf2, 0x5e,
			0xd9, 0x67, 0x1b, 0x23, 0x5c, 0xd7, 0xac, 0xaa, 0x44,
			0x0a, 0xd4, 0xb6, 0xad, 0xa8, 0x64, 0xed, 0x62, 0xfb,
			0x98, 0x23,
		}
	};

	TC_PRINT(".");
	result = do_hmac_prng_pr_false_test(37, &vec);

	return result;
}

unsigned int test_38(void)
{
	unsigned int result = TC_PASS;
	const struct hmac_prng_test_vector vec = {
		32,
		16,
		0,
		0,
		128,
		{
			0x8b, 0x95, 0xec, 0xfe, 0x9f, 0xd0, 0x90, 0xa0, 0x92,
			0x10, 0x17, 0x2b, 0x4c, 0xc1, 0x99, 0xef, 0x1b, 0xfa,
			0x73, 0xed, 0xdd, 0xe5, 0x0d, 0x3d, 0x41, 0x47, 0xc7,
			0x5b, 0x6e, 0x0e, 0x76, 0xeb,
		},
		{
			0x13, 0x0c, 0x18, 0xae, 0xc9, 0x41, 0x5a, 0x2a, 0x54,
			0xd6, 0xcf, 0xa4, 0x33, 0x44, 0x08, 0x33,
		},
		{
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00,
		},
		{
			0x82, 0x5f, 0x0b, 0x1d, 0xd1, 0xa1, 0x57, 0x0f, 0xb7,
			0x10, 0x23, 0x15, 0x12, 0xcc, 0x28, 0x86, 0x81, 0xfc,
			0xba, 0x15, 0xa0, 0xa4, 0x5c, 0xef, 0x45, 0xaa, 0x1f,
			0x26, 0x82, 0xcf, 0x37, 0xf8,
		},
		{
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00,
		},
		{
			0x5e, 0xec, 0xa5, 0x1c, 0x5a, 0x05, 0x8f, 0x08, 0xbc,
			0xdc, 0xf8, 0x3c, 0x1d, 0x90, 0x44, 0xb5, 0x20, 0x3b,
			0x77, 0xb5, 0x36, 0xf8, 0x66, 0x23, 0x15, 0x3e, 0x67,
			0xf0, 0x5f, 0x3a, 0xdb, 0x28, 0xee, 0xb8, 0x92, 0x5b,
			0x61, 0x07, 0xd7, 0xa8, 0xac, 0xca, 0x77, 0x8b, 0xc4,
			0x52, 0x6e, 0xf1, 0xcf, 0xf5, 0xac, 0x5f, 0xdd, 0x02,
			0x39, 0x52, 0x2f, 0xa1, 0x75, 0xd3, 0xe0, 0x65, 0xd7,
			0x8c, 0x19, 0xa6, 0xda, 0xba, 0x56, 0xe2, 0x0b, 0x28,
			0x4b, 0x43, 0x3e, 0xa8, 0x1c, 0xba, 0xe8, 0x13, 0x9c,
			0xa7, 0x94, 0x45, 0xb8, 0x87, 0x74, 0x99, 0x49, 0xda,
			0xe8, 0xb9, 0xf0, 0x3e, 0x55, 0x9f, 0xcf, 0x5f, 0x71,
			0x07, 0x22, 0x83, 0x1e, 0xfa, 0x92, 0xad, 0xe0, 0xcd,
			0x0c, 0xab, 0x5c, 0x34, 0x3d, 0xfd, 0x4b, 0xcd, 0xd8,
			0xd6, 0xbc, 0xef, 0xba, 0xf0, 0x53, 0x1a, 0x8d, 0xed,
			0x69, 0x3c,
		}
	};

	TC_PRINT(".");
	result = do_hmac_prng_pr_false_test(38, &vec);

	return result;
}

unsigned int test_39(void)
{
	unsigned int result = TC_PASS;
	const struct hmac_prng_test_vector vec = {
		32,
		16,
		0,
		0,
		128,
		{
			0xe8, 0x43, 0x6e, 0x86, 0x22, 0xea, 0x34, 0x5d, 0xcb,
			0x94, 0x31, 0x64, 0x0a, 0xff, 0x32, 0x8c, 0x21, 0xbe,
			0x83, 0x83, 0x21, 0xda, 0xf0, 0x89, 0x51, 0x0d, 0x27,
			0xaa, 0x4d, 0x3d, 0x64, 0x0c,
		},
		{
			0xd6, 0x9a, 0xe9, 0xda, 0xe2, 0x16, 0xae, 0x6c, 0xf3,
			0x6f, 0x48, 0xcf, 0x3f, 0x97, 0xbd, 0x3a,
		},
		{
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00,
		},
		{
			0xd9, 0x12, 0xaa, 0xb4, 0x83, 0x68, 0xed, 0xe1, 0xc5,
			0xf9, 0xc1, 0x11, 0x6c, 0xb4, 0xe2, 0xe9, 0x91, 0xfb,
			0xaf, 0x26, 0x24, 0xd9, 0xf8, 0x1a, 0xf4, 0x7e, 0x8d,
			0x74, 0x67, 0x46, 0x01, 0x05,
		},
		{
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00,
		},
		{
			0xc3, 0xcb, 0x77, 0x89, 0xf6, 0x9f, 0x6a, 0x99, 0xc3,
			0x8c, 0xcd, 0x8d, 0x73, 0xb6, 0x27, 0xc5, 0xa2, 0x4d,
			0xa7, 0x11, 0x6f, 0x9d, 0x1b, 0x11, 0xb4, 0xa9, 0xfe,
			0x34, 0x48, 0xa6, 0x83, 0x7d, 0x21, 0x90, 0x99, 0xb3,
			0x39, 0xf0, 0x6f, 0x18, 0x5d, 0x9f, 0x4c, 0x3d, 0x1b,
			0x9a, 0x47, 0x4b, 0xbd, 0x2c, 0x63, 0x3a, 0xcc, 0x09,
			0xfd, 0x54, 0x0a, 0xb8, 0xdf, 0x42, 0x3b, 0x95, 0x15,
			0xd5, 0x2c, 0x68, 0xc5, 0x39, 0x06, 0x8f, 0xcb, 0xa5,
			0x31, 0xb8, 0x85, 0xc2, 0x6c, 0xcc, 0x4f, 0x57, 0x6e,
			0x34, 0x71, 0xf7, 0xe0, 0x88, 0x6f, 0x39, 0x72, 0x51,
			0x31, 0xc2, 0xf1, 0x25, 0x6b, 0x45, 0x02, 0x20, 0x47,
			0x3b, 0xcd, 0x07, 0xdd, 0xd9, 0x0a, 0xc8, 0x63, 0x05,
			0x9e, 0xb1, 0x8c, 0x69, 0x82, 0x70, 0x3c, 0xa4, 0x21,
			0x9c, 0x74, 0x7d, 0x84, 0x58, 0x00, 0x92, 0x09, 0x6a,
			0x55, 0xc1,
		}
	};

	TC_PRINT(".");
	result = do_hmac_prng_pr_false_test(39, &vec);

	return result;
}

unsigned int test_40(void)
{
	unsigned int result = TC_PASS;
	const struct hmac_prng_test_vector vec = {
		32,
		16,
		0,
		0,
		128,
		{
			0x61, 0x30, 0x87, 0x33, 0xc0, 0x88, 0x36, 0x27, 0xae,
			0x93, 0x19, 0xe1, 0x86, 0x57, 0x07, 0x24, 0x40, 0xc7,
			0x58, 0x8f, 0x58, 0x13, 0x1e, 0xda, 0x02, 0x81, 0xa4,
			0xe6, 0xc6, 0x3e, 0xc6, 0xf4,
		},
		{
			0x37, 0x38, 0x4d, 0x9f, 0x08, 0xc4, 0x25, 0x70, 0x35,
			0xf7, 0x30, 0xdb, 0x48, 0xa2, 0xc1, 0x53,
		},
		{
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00,
		},
		{
			0xec, 0x66, 0x81, 0xc5, 0x28, 0x13, 0x99, 0xbf, 0xb3,
			0xad, 0x4f, 0x5c, 0x6d, 0x73, 0xde, 0x97, 0x26, 0x35,
			0x1e, 0x18, 0x9c, 0x46, 0xba, 0x94, 0x30, 0x42, 0x50,
			0xb7, 0x10, 0x52, 0xf9, 0x04,
		},
		{
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00,
		},
		{
			0xb3, 0xf6, 0x42, 0xcd, 0x6f, 0xfb, 0x6d, 0xea, 0xa1,
			0x1c, 0x07, 0x4e, 0x76, 0x72, 0x99, 0xd9, 0x3d, 0x24,
			0x11, 0xfe, 0x4d, 0xbd, 0xe2, 0xad, 0xc0, 0x46, 0x30,
			0x90, 0x4e, 0x3b, 0xd5, 0xe6, 0x1b, 0x53, 0x44, 0x0f,
			0x9d, 0x51, 0x39, 0x8a, 0xf3, 0xeb, 0x8e, 0x95, 0x12,
			0x33, 0xe5, 0x85, 0xd8, 0x89, 0x75, 0x73, 0x7e, 0x3f,
			0x45, 0xe2, 0x3f, 0x5d, 0x63, 0xbb, 0xd4, 0x2a, 0x28,
			0x62, 0xe8, 0x27, 0xa8, 0xa4, 0x9c, 0xed, 0xd8, 0xec,
			0xf8, 0xfd, 0x82, 0x56, 0xa4, 0x75, 0x73, 0xd3, 0x5c,
			0x26, 0x22, 0xd7, 0xe8, 0x7d, 0x83, 0xe5, 0x35, 0x72,
			0x05, 0xe0, 0xdc, 0xe5, 0x31, 0xf9, 0x2e, 0x8f, 0xa3,
			0x25, 0x77, 0x82, 0xf1, 0xdb, 0x47, 0xcf, 0x70, 0xdb,
			0xe9, 0x44, 0x01, 0xcd, 0x50, 0xe2, 0x7d, 0xcc, 0xe1,
			0x83, 0x69, 0x3a, 0xd5, 0x01, 0xdb, 0x7b, 0x0a, 0xeb,
			0x55, 0xb2,
		}
	};

	TC_PRINT(".");
	result = do_hmac_prng_pr_false_test(40, &vec);

	return result;
}

unsigned int test_41(void)
{
	unsigned int result = TC_PASS;
	const struct hmac_prng_test_vector vec = {
		32,
		16,
		0,
		0,
		128,
		{
			0x7c, 0x6b, 0x15, 0xd4, 0x47, 0x7c, 0x5d, 0xdf, 0xf3,
			0xea, 0xfa, 0xd5, 0x56, 0x90, 0xe0, 0x21, 0xf8, 0xbf,
			0x5d, 0x34, 0x3b, 0xc6, 0xdc, 0x2d, 0x58, 0xd2, 0x9a,
			0x97, 0x9a, 0xa9, 0x21, 0xc3,
		},
		{
			0x79, 0x38, 0x80, 0x4e, 0xeb, 0xf0, 0x61, 0x38, 0x8d,
			0x3c, 0x34, 0x61, 0x44, 0xf4, 0x92, 0x11,
		},
		{
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00,
		},
		{
			0x7d, 0x8b, 0x82, 0xd9, 0xee, 0x9a, 0x99, 0xaf, 0x59,
			0x34, 0x7d, 0xa7, 0x67, 0x78, 0x05, 0x14, 0x42, 0xbe,
			0x40, 0x98, 0xa3, 0x00, 0xa4, 0xc6, 0x06, 0xa3, 0x24,
			0x73, 0x14, 0xea, 0x46, 0x18,
		},
		{
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00,
		},
		{
			0x62, 0xac, 0xe9, 0x9f, 0xe2, 0xdb, 0x12, 0xe9, 0x3c,
			0x2c, 0x91, 0x55, 0xd7, 0x0a, 0x58, 0x1b, 0x2b, 0xac,
			0xb8, 0xf1, 0xed, 0x90, 0x9a, 0x24, 0xde, 0x1b, 0x36,
			0x5f, 0xde, 0xec, 0xc6, 0x71, 0x35, 0x60, 0x7a, 0x44,
			0x79, 0x2b, 0x00, 0x4e, 0x50, 0x7d, 0x07, 0xf5, 0xb3,
			0x61, 0x48, 0x0c, 0xe4, 0xb2, 0xf1, 0xf6, 0xd3, 0x2b,
			0xb2, 0x53, 0x69, 0x33, 0xec, 0xe2, 0x81, 0x6d, 0x47,
			0xa9, 0x46, 0x77, 0xcd, 0x82, 0x3e, 0xf6, 0x4a, 0x17,
			0xba, 0xaa, 0x33, 0x59, 0x87, 0x72, 0x2b, 0x0e, 0x1c,
			0x02, 0x39, 0x94, 0x0b, 0x0f, 0x3d, 0x00, 0x52, 0x19,
			0xd8, 0xd3, 0x78, 0x15, 0x7c, 0xcf, 0x17, 0xc1, 0x41,
			0x62, 0x16, 0x5a, 0x8e, 0xf3, 0x8f, 0xd4, 0x08, 0xa4,
			0xe9, 0xac, 0x85, 0xa7, 0x08, 0x04, 0xd5, 0x73, 0x53,
			0xc7, 0x5f, 0xb1, 0x87, 0xbe, 0x0d, 0x72, 0xcf, 0x69,
			0x9c, 0xc8,
		}
	};

	TC_PRINT(".");
	result = do_hmac_prng_pr_false_test(41, &vec);

	return result;
}

unsigned int test_42(void)
{
	unsigned int result = TC_PASS;
	const struct hmac_prng_test_vector vec = {
		32,
		16,
		0,
		0,
		128,
		{
			0x71, 0x59, 0xc7, 0xae, 0xa9, 0x6d, 0xa8, 0xab, 0x86,
			0x48, 0xf8, 0xf8, 0x54, 0xf3, 0x51, 0xbe, 0x9b, 0x28,
			0x45, 0x66, 0x90, 0xb7, 0x88, 0xc4, 0x9c, 0x3d, 0xce,
			0x74, 0xb2, 0x31, 0x1e, 0x63,
		},
		{
			0x6a, 0xed, 0x95, 0x1f, 0xc6, 0xe1, 0x55, 0x7f, 0x5f,
			0x1c, 0xb6, 0xad, 0xbe, 0xc5, 0x46, 0x86,
		},
		{
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00,
		},
		{
			0xce, 0x6d, 0xe3, 0xb5, 0x21, 0x17, 0x77, 0xf9, 0x05,
			0x66, 0x69, 0xd0, 0x46, 0x01, 0x84, 0x00, 0x3e, 0x87,
			0x97, 0x84, 0xdf, 0xff, 0x86, 0xd7, 0xeb, 0xf0, 0x8a,
			0x23, 0x3e, 0x6a, 0x54, 0x82,
		},
		{
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00,
		},
		{
			0x13, 0x33, 0xd1, 0x21, 0x11, 0xb9, 0x59, 0xc5, 0x11,
			0x74, 0xca, 0x21, 0x88, 0xed, 0x84, 0xca, 0x7d, 0xfd,
			0xa3, 0x0d, 0x5f, 0xf2, 0x53, 0x27, 0xcd, 0x19, 0xf7,
			0x37, 0x79, 0x59, 0x0b, 0x19, 0xc0, 0xb5, 0x24, 0x75,
			0x60, 0x33, 0x00, 0x8b, 0x64, 0x06, 0xab, 0xe6, 0x31,
			0xcc, 0xa6, 0xb8, 0x2e, 0xbd, 0xda, 0x5c, 0xe7, 0xb9,
			0xe2, 0x96, 0x8a, 0x8a, 0xde, 0xe3, 0xe4, 0xa6, 0xb3,
			0xea, 0xa8, 0x07, 0x9a, 0x64, 0xe7, 0x62, 0x2f, 0x66,
			0x28, 0xc3, 0x62, 0xb5, 0xc6, 0xdc, 0xb6, 0x1b, 0x7c,
			0xf6, 0x45, 0x67, 0xe6, 0xec, 0x5a, 0xe3, 0x12, 0x04,
			0x72, 0x50, 0x51, 0x3e, 0xc5, 0x65, 0x91, 0x60, 0xeb,
			0xa5, 0xc7, 0x58, 0x35, 0x2f, 0x74, 0x16, 0xa0, 0x39,
			0x86, 0x37, 0x90, 0x2a, 0x4d, 0x7e, 0x86, 0xad, 0xf9,
			0x84, 0x50, 0xdf, 0x11, 0x1e, 0xf4, 0x33, 0x11, 0x1f,
			0xf2, 0xd1,
		}
	};

	TC_PRINT(".");
	result = do_hmac_prng_pr_false_test(42, &vec);

	return result;
}

unsigned int test_43(void)
{
	unsigned int result = TC_PASS;
	const struct hmac_prng_test_vector vec = {
		32,
		16,
		0,
		0,
		128,
		{
			0xeb, 0xcf, 0xe2, 0x5c, 0xea, 0x69, 0x66, 0x45, 0xc7,
			0x9e, 0x77, 0x29, 0x22, 0xdf, 0x04, 0xd4, 0x84, 0x17,
			0xf9, 0xcf, 0x2e, 0xce, 0xf7, 0x27, 0xcc, 0xcb, 0x3e,
			0x89, 0x98, 0x89, 0x3c, 0x59,
		},
		{
			0x13, 0x6e, 0x0c, 0x8e, 0x8f, 0xad, 0x1c, 0x49, 0x43,
			0x5e, 0x6e, 0xac, 0x76, 0x3c, 0x77, 0x6f,
		},
		{
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00,
		},
		{
			0x38, 0xb4, 0x8d, 0xb1, 0x1f, 0xf3, 0x1c, 0xe5, 0xe0,
			0xa0, 0xcb, 0x62, 0x79, 0x86, 0xb8, 0x8b, 0xea, 0xd7,
			0x4b, 0xe8, 0x34, 0xa4, 0xe3, 0x47, 0xde, 0x17, 0x07,
			0x4c, 0xe1, 0x17, 0x24, 0x4c,
		},
		{
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00,
		},
		{
			0xd9, 0x0c, 0xb0, 0x83, 0x5b, 0x0c, 0xa6, 0x4c, 0x8d,
			0x1d, 0xec, 0x23, 0xf2, 0x77, 0x3b, 0x6d, 0xd8, 0x35,
			0xbe, 0xe7, 0xe2, 0x7c, 0x91, 0x82, 0x2d, 0xbf, 0x08,
			0x98, 0xd1, 0x81, 0xde, 0x5b, 0xe4, 0xe4, 0xf6, 0xa1,
			0xd5, 0x97, 0x12, 0xe3, 0xb4, 0x72, 0x00, 0xcb, 0x14,
			0xe1, 0x22, 0x52, 0xe9, 0xd7, 0xc5, 0x62, 0x4c, 0x84,
			0x1e, 0x4c, 0x05, 0xc7, 0x37, 0x2a, 0x5e, 0x70, 0xe8,
			0x3a, 0x1d, 0x86, 0xd0, 0xc0, 0x69, 0xbf, 0xb2, 0x9a,
			0x21, 0xf5, 0x11, 0xc4, 0xcc, 0x8c, 0x4c, 0xd9, 0xf6,
			0x6b, 0xa3, 0xa0, 0x81, 0x02, 0x44, 0xdf, 0x25, 0x18,
			0xbf, 0x37, 0x85, 0xb3, 0x03, 0xe7, 0xae, 0xbe, 0x9f,
			0x19, 0x06, 0xbc, 0xff, 0x55, 0xa4, 0x54, 0x5d, 0x53,
			0xd2, 0xfb, 0x8d, 0xd7, 0x2e, 0xee, 0x00, 0x3f, 0x10,
			0x00, 0x9e, 0x9b, 0x41, 0x82, 0x52, 0x11, 0xf2, 0x35,
			0x2b, 0xe9,
		}
	};

	TC_PRINT(".");
	result = do_hmac_prng_pr_false_test(43, &vec);

	return result;
}

unsigned int test_44(void)
{
	unsigned int result = TC_PASS;
	const struct hmac_prng_test_vector vec = {
		32,
		16,
		0,
		0,
		128,
		{
			0xb0, 0xcc, 0xe5, 0xac, 0xf0, 0xd3, 0x30, 0x5c, 0xf5,
			0xeb, 0xdb, 0x55, 0x87, 0x0a, 0xf9, 0x31, 0x68, 0x20,
			0x0d, 0xa5, 0x6f, 0xa2, 0xfa, 0x68, 0x85, 0xbf, 0x1c,
			0x2a, 0x93, 0x28, 0x95, 0x6f,
		},
		{
			0x6d, 0x79, 0x66, 0x19, 0x8e, 0xc2, 0x34, 0x18, 0x08,
			0x97, 0x39, 0x00, 0xa9, 0xfc, 0xf0, 0x44,
		},
		{
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00,
		},
		{
			0x2c, 0x0b, 0xb1, 0xbd, 0xa5, 0xa0, 0x12, 0x57, 0x57,
			0xb6, 0x4d, 0x57, 0x3a, 0xd0, 0x4c, 0xf3, 0x6d, 0x47,
			0xee, 0x46, 0x15, 0x58, 0x3f, 0xa8, 0xfe, 0x5a, 0x2d,
			0xec, 0x8b, 0x80, 0x59, 0x21,
		},
		{
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00,
		},
		{
			0xb4, 0x17, 0xb4, 0x47, 0x0e, 0xa9, 0x50, 0x77, 0x2c,
			0xbe, 0xda, 0x48, 0x5d, 0xe1, 0xe9, 0x45, 0xd2, 0x31,
			0x9a, 0x6a, 0x35, 0x00, 0xd8, 0x8f, 0xd5, 0x22, 0x08,
			0x0a, 0x26, 0x44, 0xcf, 0x7c, 0x18, 0x61, 0xd4, 0x28,
			0x1d, 0xbe, 0xab, 0x81, 0x51, 0x8b, 0x59, 0x24, 0x50,
			0x50, 0xb1, 0xb4, 0xa5, 0xf8, 0x9e, 0x9a, 0x61, 0xbe,
			0x4c, 0x5a, 0x43, 0x72, 0xb4, 0x97, 0x2f, 0x1c, 0x17,
			0xb9, 0x83, 0x35, 0x99, 0x07, 0xa4, 0x4d, 0x88, 0xb5,
			0xbb, 0x12, 0x84, 0x84, 0x28, 0xef, 0xea, 0x84, 0x40,
			0x78, 0x93, 0x64, 0x0f, 0xb0, 0x36, 0x3b, 0x23, 0x71,
			0xe1, 0x48, 0x91, 0x24, 0x8a, 0xfd, 0x61, 0xab, 0xb5,
			0xac, 0x04, 0x74, 0xc5, 0x00, 0xe1, 0xc8, 0xef, 0x2c,
			0x11, 0x41, 0x84, 0xd7, 0xea, 0x47, 0x66, 0xd4, 0x6b,
			0x78, 0xd2, 0x74, 0x29, 0x86, 0xbb, 0x34, 0xe6, 0x2c,
			0x49, 0xde,
		}
	};

	TC_PRINT(".");
	result = do_hmac_prng_pr_false_test(44, &vec);

	return result;
}

unsigned int test_45(void)
{
	unsigned int result = TC_PASS;
	const struct hmac_prng_test_vector vec = {
		32,
		16,
		0,
		0,
		128,
		{
			0x10, 0x3e, 0x04, 0xdc, 0x6c, 0x88, 0x5d, 0xe4, 0x22,
			0x50, 0x67, 0xc8, 0xdd, 0x67, 0xce, 0xc5, 0xa3, 0xdd,
			0x7c, 0x45, 0x58, 0x6d, 0x2a, 0xdf, 0x59, 0xb5, 0x4b,
			0x54, 0x6c, 0xdc, 0x15, 0x91,
		},
		{
			0x5e, 0x37, 0xbf, 0x8f, 0x45, 0x5a, 0x28, 0x35, 0xcf,
			0x44, 0x8d, 0xa6, 0x83, 0xd6, 0x36, 0xb4,
		},
		{
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00,
		},
		{
			0x93, 0x6f, 0xfb, 0x8c, 0xb0, 0x83, 0x33, 0x24, 0xbe,
			0x82, 0x3a, 0xe7, 0x23, 0x92, 0x99, 0x96, 0xbc, 0x45,
			0x0f, 0x81, 0x57, 0x6f, 0x2c, 0x43, 0xb4, 0x82, 0x9e,
			0xa8, 0x50, 0x44, 0xcb, 0x55,
		},
		{
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00,
		},
		{
			0x14, 0xef, 0xb3, 0xf1, 0x2f, 0xa0, 0x3b, 0xd2, 0x0b,
			0x94, 0xb9, 0x79, 0x4e, 0xee, 0xd7, 0xde, 0x9e, 0x7f,
			0x7f, 0xc9, 0xf1, 0x06, 0xd6, 0x80, 0x36, 0x63, 0x22,
			0xe7, 0x10, 0x28, 0x5c, 0x1e, 0xb8, 0xc1, 0x43, 0x60,
			0x76, 0x41, 0xe0, 0xc4, 0x4f, 0xe9, 0xdb, 0x92, 0xc0,
			0xab, 0xb5, 0xfd, 0xa3, 0x80, 0x6b, 0xef, 0x59, 0x61,
			0x28, 0x9e, 0x3e, 0xd7, 0x2b, 0x67, 0xb1, 0x4f, 0x1e,
			0x98, 0xdc, 0x3b, 0xd9, 0xb9, 0x38, 0x86, 0x3d, 0x5c,
			0xd9, 0xe4, 0x5f, 0xff, 0x3e, 0x7c, 0x5e, 0xb2, 0x56,
			0xb4, 0x87, 0xf0, 0x29, 0x64, 0x3a, 0x0a, 0x27, 0xc0,
			0x9b, 0xcb, 0x6f, 0x5e, 0xec, 0x83, 0x63, 0xc4, 0xde,
			0xbe, 0xd6, 0x17, 0x52, 0xdf, 0x88, 0x40, 0xcd, 0x34,
			0xe6, 0xae, 0x7f, 0x5e, 0xe3, 0xfb, 0x53, 0xb7, 0x26,
			0x76, 0x78, 0xd1, 0x5e, 0x01, 0x72, 0xa6, 0x99, 0xfa,
			0xbd, 0x8d,
		}
	};

	TC_PRINT(".");
	result = do_hmac_prng_pr_false_test(45, &vec);

	return result;
}

unsigned int test_46(void)
{
	unsigned int result = TC_PASS;
	const struct hmac_prng_test_vector vec = {
		32,
		16,
		32,
		0,
		128,
		{
			0x28, 0xba, 0x1a, 0x66, 0x16, 0x32, 0xef, 0xc8, 0xec,
			0xce, 0xd5, 0xf5, 0x1b, 0x79, 0x13, 0x00, 0xfb, 0x3b,
			0x55, 0xb0, 0x5d, 0x04, 0x17, 0x08, 0x63, 0x8d, 0xe4,
			0xbe, 0xb7, 0x57, 0xa9, 0xe5,
		},
		{
			0x76, 0x82, 0x87, 0x96, 0xaf, 0xf0, 0x7f, 0x55, 0x79,
			0x5c, 0xb5, 0x47, 0x13, 0xc7, 0x7e, 0xd4,
		},
		{
			0x40, 0x93, 0x3f, 0xdc, 0xce, 0x41, 0x59, 0xb0, 0x95,
			0x51, 0x11, 0xf8, 0x44, 0x47, 0x1b, 0x0d, 0xb8, 0x5b,
			0x73, 0xbd, 0xd2, 0xb7, 0x8c, 0x46, 0x8d, 0xd3, 0x9e,
			0x2a, 0x9b, 0x29, 0xae, 0xf2,
		},
		{
			0xa5, 0xf5, 0x42, 0xb0, 0x4a, 0xaa, 0x5d, 0xbc, 0x93,
			0x1e, 0x47, 0x01, 0x9f, 0xeb, 0x38, 0x96, 0x26, 0x16,
			0xc5, 0x7a, 0xf0, 0x9b, 0x7c, 0x1d, 0xf8, 0x3f, 0x2b,
			0x86, 0x0f, 0xf7, 0x65, 0x86,
		},
		{
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00,
		},
		{
			0x65, 0xe5, 0xaa, 0x47, 0xb3, 0x85, 0xf1, 0xea, 0x42,
			0xb2, 0x31, 0xb9, 0xfe, 0x74, 0x42, 0x53, 0xb8, 0x59,
			0x88, 0x59, 0xd7, 0x01, 0x1e, 0x52, 0x5f, 0x5a, 0x2a,
			0x1a, 0xd3, 0x2a, 0x97, 0x2a, 0x85, 0x08, 0x02, 0xc6,
			0x0a, 0x2b, 0xe1, 0x9b, 0xe2, 0x70, 0x06, 0x3a, 0x3c,
			0xfb, 0xea, 0xae, 0x95, 0x4f, 0x10, 0xb1, 0x22, 0x35,
			0x2d, 0xe6, 0xa0, 0x8a, 0xc4, 0x10, 0xe0, 0x99, 0x16,
			0x53, 0xaa, 0xb2, 0x71, 0xb3, 0x60, 0xfe, 0x91, 0x91,
			0xcf, 0x5a, 0xdd, 0xcc, 0xcc, 0xed, 0x8c, 0x4a, 0xcf,
			0xb6, 0x14, 0x57, 0x04, 0x99, 0x92, 0x98, 0x8f, 0xd7,
			0xa9, 0xac, 0xca, 0x1f, 0x1b, 0xca, 0x35, 0xf1, 0x47,
			0x58, 0x13, 0x69, 0x4a, 0x39, 0x98, 0x8e, 0x5f, 0xac,
			0x9f, 0x4a, 0xc0, 0x57, 0x22, 0x86, 0xbc, 0x46, 0x25,
			0x82, 0xad, 0x0a, 0xf7, 0x8a, 0xb3, 0xb8, 0x5e, 0xc1,
			0x7a, 0x25,
		}
	};

	TC_PRINT(".");
	result = do_hmac_prng_pr_false_test(46, &vec);

	return result;
}

unsigned int test_47(void)
{
	unsigned int result = TC_PASS;
	const struct hmac_prng_test_vector vec = {
		32,
		16,
		32,
		0,
		128,
		{
			0xcf, 0xd5, 0x49, 0xc8, 0x08, 0x0a, 0x50, 0x2e, 0x3e,
			0xdd, 0x79, 0x05, 0x58, 0x4e, 0x5b, 0xe1, 0x4d, 0x7e,
			0xf5, 0x59, 0x10, 0xd2, 0x82, 0xd8, 0x1d, 0x34, 0x5c,
			0x53, 0xca, 0x34, 0xe0, 0x7b,
		},
		{
			0xa5, 0x65, 0xe4, 0xbc, 0x2f, 0x46, 0x17, 0x69, 0xc0,
			0xa8, 0xf2, 0x11, 0xa6, 0x7d, 0xc9, 0xa7,
		},
		{
			0xd4, 0xad, 0xd6, 0x4c, 0x86, 0x03, 0x41, 0x56, 0x29,
			0xda, 0x5c, 0xd5, 0x8c, 0x51, 0x89, 0x58, 0xc8, 0x4d,
			0x43, 0xad, 0xa7, 0x1b, 0xd1, 0xbd, 0x57, 0x8f, 0xbe,
			0x67, 0x74, 0x4b, 0x24, 0x76,
		},
		{
			0x27, 0x12, 0xa4, 0x16, 0x15, 0xf2, 0xb4, 0xaf, 0x37,
			0xd6, 0x41, 0xc3, 0xa7, 0x34, 0x07, 0xad, 0x62, 0xb4,
			0x3e, 0xeb, 0xd0, 0x43, 0x9b, 0xc7, 0x0f, 0xaf, 0x2b,
			0x7f, 0x25, 0x25, 0xe2, 0xf1,
		},
		{
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00,
		},
		{
			0xb5, 0x22, 0x5f, 0xa8, 0xb7, 0xb1, 0xff, 0x05, 0x8f,
			0x3e, 0xd4, 0x92, 0xcc, 0x7f, 0x66, 0xcb, 0xc3, 0x93,
			0x47, 0x74, 0x03, 0x14, 0x47, 0x12, 0x5a, 0xf8, 0x20,
			0xcf, 0xe9, 0x42, 0x9c, 0x19, 0x5d, 0xf9, 0xb3, 0xcc,
			0x9a, 0x11, 0xb0, 0x2c, 0xf3, 0x80, 0x06, 0x13, 0xeb,
			0x53, 0x4d, 0xc2, 0xce, 0x13, 0x65, 0xbc, 0x40, 0x9b,
			0x2b, 0x13, 0xd6, 0x5b, 0xed, 0xe5, 0x4c, 0xd2, 0x13,
			0xa5, 0x49, 0xf2, 0xef, 0x9e, 0x3d, 0x17, 0xc4, 0xfb,
			0x99, 0x55, 0x1e, 0xea, 0x53, 0x9b, 0x91, 0x25, 0x48,
			0x83, 0xca, 0xd8, 0x6f, 0x5c, 0x38, 0x53, 0xa8, 0x03,
			0x56, 0x6a, 0xc1, 0xea, 0x86, 0x4a, 0x08, 0xbf, 0x6e,
			0x80, 0x29, 0x58, 0x8f, 0xf8, 0x58, 0x0f, 0x7d, 0x26,
			0x57, 0xdc, 0x8f, 0x38, 0x9f, 0x72, 0xca, 0xb4, 0x25,
			0x1a, 0x19, 0xc4, 0xfa, 0x2e, 0x53, 0x9a, 0xfa, 0xc7,
			0xc1, 0xc1,
		}
	};

	TC_PRINT(".");
	result = do_hmac_prng_pr_false_test(47, &vec);

	return result;
}

unsigned int test_48(void)
{
	unsigned int result = TC_PASS;
	const struct hmac_prng_test_vector vec = {
		32,
		16,
		32,
		0,
		128,
		{
			0x5c, 0xc9, 0x13, 0xe1, 0x26, 0x29, 0x48, 0x12, 0x62,
			0xad, 0x31, 0x7f, 0xb8, 0xd3, 0x98, 0x70, 0xb4, 0xf7,
			0x26, 0x0c, 0xca, 0xcd, 0xce, 0xbd, 0x91, 0x31, 0x71,
			0x0a, 0xe7, 0x1e, 0x0c, 0x98,
		},
		{
			0xd4, 0x6d, 0xe6, 0xc6, 0xf4, 0xa5, 0x43, 0xfe, 0x5f,
			0x47, 0x3c, 0x2c, 0x2d, 0x0e, 0x21, 0x4a,
		},
		{
			0xca, 0x7f, 0x2f, 0x65, 0x01, 0xe6, 0xde, 0xa1, 0xbf,
			0x7f, 0x54, 0xe6, 0xbd, 0x50, 0x30, 0x47, 0x97, 0xab,
			0x80, 0xea, 0x02, 0x28, 0x81, 0x3e, 0xb3, 0x84, 0x98,
			0x42, 0xf2, 0x17, 0x27, 0x3f,
		},
		{
			0xe7, 0xf0, 0x08, 0xab, 0xd0, 0x0d, 0x52, 0x52, 0x97,
			0xff, 0x6e, 0x2c, 0x39, 0xa3, 0x58, 0xe6, 0xc7, 0x5c,
			0x4a, 0x64, 0xf6, 0xac, 0x68, 0xde, 0xfd, 0x27, 0x56,
			0x23, 0xf4, 0x96, 0xca, 0x07,
		},
		{
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00,
		},
		{
			0x8c, 0xa7, 0xdd, 0x3d, 0x3b, 0x82, 0xf6, 0x40, 0xb3,
			0x3c, 0xf1, 0x76, 0xb2, 0x2d, 0xe7, 0x13, 0x0c, 0x1d,
			0xc5, 0x4c, 0x68, 0x4d, 0xdf, 0x8b, 0xc7, 0xb0, 0x8a,
			0x18, 0x17, 0x53, 0xad, 0x7a, 0xf8, 0xc4, 0x63, 0x82,
			0x87, 0xf7, 0x24, 0xdf, 0x8f, 0xf9, 0x91, 0x43, 0x1f,
			0x99, 0xa3, 0x10, 0x51, 0x73, 0xb1, 0x07, 0xf0, 0x64,
			0x54, 0x1d, 0xd9, 0x24, 0x40, 0xfd, 0x4c, 0xee, 0x65,
			0x9e, 0x93, 0x22, 0xb5, 0x15, 0x41, 0x68, 0xf4, 0x9d,
			0xb3, 0x6f, 0x32, 0x24, 0x5a, 0xe4, 0xd9, 0x83, 0x15,
			0x59, 0xeb, 0x83, 0x9b, 0x28, 0xb9, 0xa3, 0x88, 0xae,
			0x49, 0x80, 0xce, 0xea, 0xdd, 0x99, 0x03, 0xd4, 0xfe,
			0xbc, 0x66, 0x2b, 0xb7, 0xd2, 0x46, 0x01, 0x74, 0x63,
			0xe8, 0x43, 0xe7, 0x72, 0x56, 0x72, 0x66, 0x22, 0xcd,
			0x1f, 0x10, 0x25, 0xc5, 0x1b, 0x66, 0x24, 0xce, 0x84,
			0x77, 0x16,
		}
	};

	TC_PRINT(".");
	result = do_hmac_prng_pr_false_test(48, &vec);

	return result;
}

unsigned int test_49(void)
{
	unsigned int result = TC_PASS;
	const struct hmac_prng_test_vector vec = {
		32,
		16,
		32,
		0,
		128,
		{
			0xb8, 0xbc, 0x5e, 0x67, 0x20, 0xa4, 0x14, 0xb7, 0xf7,
			0xa2, 0x13, 0xd4, 0x55, 0xd4, 0x3e, 0xc5, 0x5c, 0x77,
			0x3e, 0xdf, 0x24, 0x03, 0x31, 0x97, 0x16, 0xde, 0xf9,
			0xee, 0xc1, 0x29, 0x39, 0x75,
		},
		{
			0x2d, 0xa2, 0x86, 0x29, 0x23, 0x31, 0x05, 0x6d, 0xcf,
			0x88, 0x4d, 0xe8, 0x94, 0x4e, 0x02, 0x6b,
		},
		{
			0x51, 0x4e, 0xb0, 0xc6, 0x9b, 0xbe, 0xa5, 0xb9, 0x95,
			0x32, 0x49, 0x76, 0xca, 0x12, 0x33, 0x37, 0xe2, 0x6f,
			0x63, 0x9b, 0x06, 0xa7, 0xa3, 0x62, 0xff, 0x57, 0x67,
			0x35, 0x20, 0xcb, 0x70, 0xdb,
		},
		{
			0x3c, 0x1b, 0xba, 0x68, 0x1b, 0x3e, 0x04, 0x08, 0xd0,
			0x8b, 0x92, 0xfd, 0xd3, 0x25, 0x2d, 0xda, 0x67, 0x68,
			0x5d, 0x86, 0x5f, 0xe8, 0x28, 0x6d, 0x6c, 0x4f, 0xd6,
			0x69, 0xc3, 0x3c, 0x09, 0x20,
		},
		{
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00,
		},
		{
			0xb9, 0x41, 0x60, 0x02, 0xc5, 0x44, 0xe0, 0x79, 0x99,
			0x84, 0x64, 0xd5, 0x18, 0x1a, 0xfe, 0x70, 0xc1, 0x06,
			0xd4, 0x4b, 0x87, 0x6d, 0x16, 0xb3, 0x9f, 0x93, 0x6a,
			0xff, 0x36, 0xec, 0x86, 0xdd, 0xef, 0x5f, 0xb2, 0x68,
			0x8a, 0x0a, 0xad, 0xf6, 0x69, 0xc3, 0x9b, 0x6f, 0x67,
			0x24, 0xff, 0x3e, 0xea, 0xac, 0x90, 0xb7, 0x06, 0x74,
			0xc1, 0x4d, 0x97, 0xe9, 0x94, 0xbd, 0xec, 0x0f, 0xd5,
			0x23, 0x73, 0xcf, 0x7a, 0x21, 0x25, 0x0c, 0x83, 0x5e,
			0x93, 0xc7, 0x3d, 0x7c, 0x49, 0x79, 0x0b, 0x59, 0x30,
			0x0d, 0xb4, 0x85, 0xf0, 0x21, 0xb1, 0x35, 0x93, 0xa3,
			0x2d, 0x72, 0xb7, 0x05, 0x7d, 0xa0, 0xd5, 0x5f, 0x63,
			0xa6, 0xca, 0xe5, 0x18, 0x35, 0x40, 0xe8, 0x17, 0x29,
			0x0d, 0x8b, 0x91, 0xce, 0x55, 0xf4, 0x5f, 0xeb, 0x77,
			0x30, 0x73, 0x2f, 0xa9, 0x15, 0x6d, 0xa8, 0x27, 0x6d,
			0x67, 0x32,
		}
	};

	TC_PRINT(".");
	result = do_hmac_prng_pr_false_test(49, &vec);

	return result;
}

unsigned int test_50(void)
{
	unsigned int result = TC_PASS;
	const struct hmac_prng_test_vector vec = {
		32,
		16,
		32,
		0,
		128,
		{
			0x28, 0xdc, 0x2f, 0x25, 0xb2, 0x63, 0x4c, 0x06, 0x72,
			0xa0, 0xfa, 0x03, 0x37, 0x85, 0x63, 0xde, 0x21, 0x45,
			0x00, 0xfa, 0xa7, 0x7e, 0xe4, 0x07, 0x64, 0x09, 0xaa,
			0x16, 0xbc, 0x85, 0x12, 0xd2,
		},
		{
			0x85, 0xd5, 0x2e, 0xd3, 0x4e, 0x06, 0x29, 0x09, 0xbb,
			0x5e, 0x61, 0x75, 0xdf, 0xa1, 0x87, 0xb8,
		},
		{
			0x5b, 0xb0, 0xe4, 0x22, 0xce, 0xec, 0x47, 0xaa, 0xf4,
			0x80, 0x82, 0x90, 0x9f, 0x11, 0xc9, 0x98, 0xa5, 0xa7,
			0x7d, 0x54, 0x32, 0x0b, 0x28, 0xea, 0xea, 0xab, 0x71,
			0x32, 0x21, 0xc9, 0x54, 0x19,
		},
		{
			0x43, 0x93, 0xb2, 0x0d, 0x7d, 0xd1, 0x5d, 0x67, 0xa2,
			0xf7, 0x8e, 0x74, 0x37, 0xe1, 0xe7, 0xa9, 0x51, 0x10,
			0xdc, 0x2d, 0xf6, 0x46, 0xdb, 0x22, 0x34, 0x2a, 0x71,
			0x1a, 0xe1, 0x02, 0xd1, 0xd6,
		},
		{
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00,
		},
		{
			0x66, 0xdb, 0xf2, 0xb1, 0x21, 0xbf, 0xd4, 0xa7, 0x25,
			0x84, 0xb5, 0x61, 0xc6, 0x50, 0xf5, 0x09, 0x95, 0xd2,
			0x2f, 0x0f, 0x37, 0x7d, 0xf2, 0xf6, 0x0c, 0xd2, 0x6e,
			0x03, 0x77, 0xb7, 0xd1, 0xae, 0x7b, 0x1a, 0xfc, 0x72,
			0xd2, 0x2f, 0x9a, 0xb5, 0xb5, 0x42, 0x76, 0x4a, 0x21,
			0x9c, 0xbb, 0x66, 0xf3, 0x25, 0x3e, 0x60, 0x2e, 0x93,
			0x80, 0x7d, 0x3e, 0xc2, 0xbe, 0xe5, 0xab, 0x13, 0x1f,
			0x00, 0xfb, 0x4e, 0xd3, 0x28, 0x8b, 0xb1, 0xb6, 0xf5,
			0x2d, 0xd3, 0x9d, 0x79, 0xc8, 0x17, 0xab, 0x73, 0xd9,
			0xb1, 0x1f, 0x81, 0xe3, 0x01, 0x31, 0xd1, 0xf3, 0xca,
			0xb9, 0x60, 0x44, 0x1d, 0x07, 0xec, 0x23, 0xbe, 0xa0,
			0xee, 0xd7, 0x71, 0x88, 0xd7, 0x14, 0x07, 0x87, 0x39,
			0xd8, 0x1c, 0x42, 0xcb, 0x22, 0x4b, 0xc5, 0xad, 0x0b,
			0x65, 0xc8, 0xc9, 0xc5, 0xa8, 0x08, 0xb6, 0x05, 0xf1,
			0x92, 0x3c,
		}
	};

	TC_PRINT(".");
	result = do_hmac_prng_pr_false_test(50, &vec);

	return result;
}

unsigned int test_51(void)
{
	unsigned int result = TC_PASS;
	const struct hmac_prng_test_vector vec = {
		32,
		16,
		32,
		0,
		128,
		{
			0xaf, 0x84, 0x05, 0x9f, 0x96, 0xed, 0x19, 0xb2, 0xe5,
			0x3f, 0x09, 0x12, 0x28, 0xe7, 0x09, 0x67, 0x86, 0x47,
			0x35, 0xdc, 0x83, 0x17, 0x8e, 0x15, 0x9f, 0x57, 0x7c,
			0x57, 0xbc, 0x12, 0x1c, 0xbf,
		},
		{
			0x84, 0xc6, 0x51, 0x5f, 0xcb, 0x88, 0x13, 0x6a, 0xdc,
			0x23, 0x9f, 0x53, 0x7f, 0xca, 0xbf, 0x4d,
		},
		{
			0x9f, 0xab, 0xe3, 0x0a, 0xdb, 0x15, 0xa1, 0x45, 0x2f,
			0xba, 0xf2, 0xb6, 0x27, 0xc0, 0xe4, 0x7a, 0xdc, 0x60,
			0xce, 0x6e, 0x9b, 0x10, 0xa5, 0x6a, 0x33, 0x8f, 0x08,
			0xe8, 0x85, 0x8f, 0x82, 0xa1,
		},
		{
			0xf5, 0xfd, 0xb3, 0xb3, 0xaa, 0x2e, 0xde, 0xf8, 0xca,
			0x8d, 0x31, 0xc9, 0x91, 0x2e, 0xb4, 0x3a, 0x3a, 0xdc,
			0x48, 0x25, 0xc8, 0x8d, 0x46, 0x32, 0x30, 0xb1, 0x13,
			0x91, 0x3f, 0x1d, 0x01, 0x17,
		},
		{
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00,
		},
		{
			0x18, 0x1c, 0x7a, 0x02, 0x26, 0x4e, 0x5a, 0x6a, 0x1f,
			0xf4, 0xd9, 0x7d, 0xbc, 0xe0, 0x74, 0x28, 0xe4, 0xb2,
			0xb4, 0x49, 0xa2, 0xb8, 0x61, 0xeb, 0x0a, 0x61, 0x72,
			0x93, 0xfb, 0x84, 0x7e, 0x2a, 0xa1, 0x23, 0x4d, 0x21,
			0x4d, 0x50, 0x92, 0x07, 0x3f, 0x9d, 0xbb, 0x49, 0xfa,
			0xe8, 0xb9, 0x63, 0x56, 0x9b, 0xf4, 0xb7, 0xfe, 0x20,
			0xe6, 0xaa, 0x35, 0x5e, 0x56, 0x5d, 0xb4, 0xc7, 0x5d,
			0x62, 0x3b, 0x47, 0xcb, 0x62, 0x7a, 0x7f, 0xde, 0x90,
			0x08, 0xd0, 0x29, 0xd2, 0x0c, 0x09, 0xbb, 0x50, 0xe8,
			0x3a, 0xb0, 0x37, 0xf3, 0x70, 0x8f, 0xc5, 0x18, 0x3f,
			0xe0, 0xf2, 0x2a, 0x73, 0x2b, 0x89, 0xf3, 0x9c, 0x3a,
			0x45, 0xf1, 0xf1, 0x61, 0x68, 0x76, 0xf8, 0x72, 0x03,
			0xce, 0xef, 0x06, 0x05, 0xf0, 0x3c, 0x28, 0xb2, 0x65,
			0x4d, 0xf0, 0x0a, 0x4d, 0x55, 0xa0, 0xc0, 0x11, 0xb9,
			0x39, 0x16,
		}
	};

	TC_PRINT(".");
	result = do_hmac_prng_pr_false_test(51, &vec);

	return result;
}

unsigned int test_52(void)
{
	unsigned int result = TC_PASS;
	const struct hmac_prng_test_vector vec = {
		32,
		16,
		32,
		0,
		128,
		{
			0x4a, 0xf2, 0xbb, 0xf3, 0x6d, 0x2a, 0x30, 0x25, 0x95,
			0xde, 0x66, 0x7e, 0x42, 0xe0, 0x8a, 0xbb, 0x5e, 0x44,
			0xcb, 0xde, 0x9b, 0x1b, 0xe2, 0xee, 0xd0, 0x33, 0x8a,
			0xac, 0xb4, 0x86, 0x73, 0xbc,
		},
		{
			0xe0, 0xb9, 0x43, 0xf5, 0x5f, 0xc1, 0x34, 0x16, 0x86,
			0x9a, 0x62, 0x4a, 0x9a, 0x38, 0x3f, 0xcf,
		},
		{
			0xde, 0xa4, 0xc6, 0xb2, 0x49, 0x0f, 0x18, 0x72, 0xe6,
			0x1a, 0x9b, 0xf7, 0x7c, 0x3f, 0x3b, 0x67, 0xaf, 0xa8,
			0xe8, 0x92, 0xbe, 0x0c, 0x3c, 0x1a, 0xb8, 0x9e, 0x92,
			0xa2, 0x70, 0x45, 0xe1, 0xa7,
		},
		{
			0xbb, 0x6a, 0x04, 0xce, 0x7f, 0x81, 0xef, 0x18, 0xbb,
			0x34, 0x55, 0xc9, 0x25, 0xb8, 0xd5, 0x76, 0xdf, 0x2b,
			0xbf, 0x68, 0xc0, 0xfe, 0x4e, 0x65, 0xc6, 0x80, 0x22,
			0xaa, 0x69, 0xdc, 0x0e, 0xc2,
		},
		{
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00,
		},
		{
			0x31, 0x05, 0x2a, 0x14, 0xc9, 0x11, 0xb6, 0x92, 0x64,
			0x57, 0xf5, 0x62, 0xfc, 0x27, 0xd1, 0x9f, 0x22, 0xa3,
			0xde, 0x7d, 0xd1, 0x45, 0xaa, 0x75, 0xb9, 0xb6, 0x03,
			0xa6, 0x10, 0x9f, 0xe1, 0xc1, 0xfe, 0xa3, 0xff, 0x2e,
			0x37, 0xe9, 0xd9, 0x84, 0x14, 0x50, 0x2e, 0x2d, 0xfe,
			0xf0, 0x13, 0x77, 0x88, 0x18, 0x7e, 0x42, 0xa7, 0x1c,
			0xd6, 0x94, 0x75, 0xa8, 0xbb, 0x00, 0x40, 0xac, 0x6d,
			0xb2, 0x3a, 0xed, 0x06, 0x92, 0x74, 0x95, 0x95, 0x4a,
			0xaa, 0x23, 0x19, 0x3d, 0xb8, 0x32, 0x89, 0xf7, 0x5f,
			0x96, 0x6e, 0xef, 0x0a, 0x7c, 0xed, 0x68, 0xe8, 0x87,
			0x1a, 0xb2, 0xa4, 0x7d, 0x38, 0x92, 0xf5, 0x94, 0xa9,
			0x8c, 0x90, 0xae, 0x51, 0xcf, 0x11, 0xbc, 0xf6, 0xed,
			0x87, 0x9d, 0x45, 0x8d, 0x17, 0x1f, 0x33, 0x4c, 0x04,
			0x92, 0x34, 0xdc, 0xe7, 0x94, 0x1f, 0x34, 0xb4, 0x83,
			0x9f, 0xcb,
		}
	};

	TC_PRINT(".");
	result = do_hmac_prng_pr_false_test(52, &vec);

	return result;
}

unsigned int test_53(void)
{
	unsigned int result = TC_PASS;
	const struct hmac_prng_test_vector vec = {
		32,
		16,
		32,
		0,
		128,
		{
			0xd6, 0x66, 0xa2, 0xe7, 0x0a, 0xf2, 0x77, 0x12, 0x69,
			0x42, 0x5c, 0x4d, 0xc1, 0xec, 0xa8, 0x7f, 0xe1, 0x77,
			0x31, 0x38, 0x43, 0xb8, 0xb6, 0xb9, 0xc3, 0xd4, 0xda,
			0x9d, 0x46, 0x54, 0x0c, 0xaf,
		},
		{
			0xd5, 0x48, 0x6a, 0x3b, 0x88, 0x1c, 0x35, 0xbe, 0x94,
			0x4d, 0xd2, 0x35, 0x9b, 0x88, 0xd6, 0xa2,
		},
		{
			0x5f, 0x0c, 0xcf, 0x34, 0xc2, 0x57, 0x60, 0x8e, 0xbf,
			0x9e, 0x5f, 0xcb, 0xb9, 0x79, 0xc1, 0xd8, 0xf6, 0x69,
			0x04, 0x7e, 0x71, 0x8c, 0x76, 0x0d, 0x0a, 0x9b, 0xe0,
			0xbe, 0xe7, 0xc9, 0x4d, 0x79,
		},
		{
			0x1a, 0x6c, 0xf1, 0xd8, 0xf6, 0xa1, 0x7a, 0xd9, 0xdb,
			0xa6, 0x89, 0x8f, 0x7f, 0x82, 0xd3, 0x3d, 0xba, 0x59,
			0x6e, 0xac, 0xcc, 0x20, 0x11, 0xd1, 0x55, 0xac, 0x6e,
			0x39, 0xd5, 0x9a, 0x75, 0x58,
		},
		{
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00,
		},
		{
			0x58, 0xfd, 0xe4, 0xf4, 0xe1, 0x08, 0xa5, 0x40, 0x22,
			0x6f, 0x40, 0x84, 0x6b, 0xce, 0x66, 0xda, 0xb6, 0x08,
			0x2e, 0xfb, 0x63, 0x6e, 0x89, 0x87, 0xe1, 0x85, 0x42,
			0xdd, 0x6e, 0x28, 0x40, 0xa8, 0x8b, 0xe0, 0x45, 0x01,
			0x94, 0x02, 0xb2, 0x03, 0x71, 0xe0, 0x8e, 0x41, 0x52,
			0x38, 0x92, 0x5a, 0x44, 0x0a, 0x49, 0x3e, 0xd8, 0xe1,
			0x03, 0x55, 0xfc, 0x16, 0x46, 0x85, 0xe4, 0x99, 0x60,
			0x0e, 0xe1, 0x92, 0xed, 0x0b, 0x95, 0x31, 0x59, 0x2d,
			0x4a, 0x52, 0xf4, 0xd7, 0x0a, 0xc0, 0xa0, 0xaa, 0xe1,
			0x2c, 0x17, 0x05, 0xe9, 0xc1, 0xec, 0xa2, 0x6b, 0x36,
			0xc0, 0x90, 0x6e, 0x21, 0x6f, 0xda, 0xe4, 0x79, 0xae,
			0xf2, 0xdc, 0xa8, 0x46, 0x0d, 0x05, 0x58, 0xbd, 0xf7,
			0x68, 0xd7, 0xc0, 0x00, 0x2f, 0xc7, 0x1d, 0x6a, 0x5e,
			0xb0, 0x6f, 0xd6, 0x60, 0x56, 0x42, 0x57, 0xa1, 0x58,
			0xdb, 0x53,
		}
	};

	TC_PRINT(".");
	result = do_hmac_prng_pr_false_test(53, &vec);

	return result;
}

unsigned int test_54(void)
{
	unsigned int result = TC_PASS;
	const struct hmac_prng_test_vector vec = {
		32,
		16,
		32,
		0,
		128,
		{
			0x20, 0x8b, 0x9e, 0xf5, 0x00, 0xb0, 0x49, 0x3b, 0x7f,
			0x2d, 0xed, 0x5f, 0x3a, 0xf6, 0xbd, 0x56, 0x8f, 0x5d,
			0xff, 0x0e, 0xbe, 0xfd, 0x19, 0x98, 0xd3, 0x48, 0x03,
			0x7e, 0xc3, 0x63, 0xdf, 0x80,
		},
		{
			0x13, 0xeb, 0x96, 0x9c, 0xea, 0xc8, 0x94, 0x56, 0xab,
			0x22, 0xd8, 0x69, 0x33, 0xa1, 0x81, 0x81,
		},
		{
			0xcc, 0xae, 0xbe, 0xad, 0x9e, 0x2b, 0x91, 0x1e, 0xf9,
			0x27, 0xf3, 0x06, 0x9d, 0xa5, 0xe3, 0x58, 0x2a, 0x78,
			0x86, 0xd9, 0x56, 0x57, 0x0d, 0x2e, 0xdf, 0x2a, 0xf4,
			0x34, 0xb9, 0x47, 0x3d, 0xba,
		},
		{
			0x06, 0x9b, 0x76, 0x7a, 0xc6, 0x12, 0x3f, 0x9c, 0x55,
			0x1d, 0x3b, 0xbd, 0x43, 0x22, 0x8d, 0xf5, 0x4f, 0x37,
			0x9c, 0xa6, 0xb4, 0x18, 0x96, 0x77, 0x22, 0x82, 0x5f,
			0xad, 0x33, 0x34, 0x3f, 0x9c,
		},
		{
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00,
		},
		{
			0xec, 0xc7, 0x58, 0xfd, 0x31, 0x6a, 0x75, 0xe5, 0xf9,
			0x7a, 0x14, 0x80, 0x3a, 0xe5, 0x1f, 0x8c, 0x0a, 0x80,
			0xec, 0xba, 0x95, 0x4b, 0x54, 0xec, 0x8b, 0x9d, 0xa8,
			0x08, 0x1f, 0x0b, 0xe9, 0x68, 0x0b, 0x11, 0xac, 0xdc,
			0xb9, 0xfc, 0x65, 0xc6, 0xef, 0x45, 0x87, 0x87, 0x54,
			0x61, 0x37, 0xfa, 0xdb, 0xbf, 0x07, 0x7a, 0x60, 0x02,
			0x52, 0x88, 0x35, 0xca, 0x3c, 0x80, 0x8f, 0xa5, 0x93,
			0xd8, 0x20, 0xa0, 0x65, 0x01, 0x59, 0x2d, 0x85, 0x7a,
			0xb0, 0xa6, 0x7b, 0x80, 0x3e, 0xcb, 0x63, 0x15, 0xba,
			0x1a, 0xa0, 0xc9, 0x0c, 0xaf, 0xed, 0xe0, 0x24, 0x80,
			0xb9, 0x8a, 0x07, 0xcf, 0x9b, 0xb8, 0x67, 0xdc, 0xe3,
			0xb1, 0x57, 0x5b, 0x6b, 0x46, 0xd4, 0x04, 0x6f, 0x44,
			0x08, 0xdd, 0xc7, 0x12, 0x82, 0xfa, 0x43, 0xac, 0xc7,
			0x38, 0xa2, 0x76, 0x65, 0xb3, 0x3a, 0xfc, 0xcf, 0x97,
			0x40, 0x77,
		}
	};

	TC_PRINT(".");
	result = do_hmac_prng_pr_false_test(54, &vec);

	return result;
}

unsigned int test_55(void)
{
	unsigned int result = TC_PASS;
	const struct hmac_prng_test_vector vec = {
		32,
		16,
		32,
		0,
		128,
		{
			0x01, 0x46, 0x9d, 0xfd, 0xc9, 0x93, 0xba, 0x87, 0x0c,
			0x34, 0x87, 0xf9, 0x3b, 0xec, 0x20, 0x81, 0x97, 0x4d,
			0xe5, 0xf4, 0x19, 0x3d, 0x10, 0x5b, 0xd8, 0xaf, 0x41,
			0xcf, 0x00, 0x1f, 0x69, 0x9c,
		},
		{
			0x76, 0x15, 0x4e, 0xbb, 0xfe, 0xe0, 0x89, 0x51, 0xcf,
			0xfc, 0x61, 0xc1, 0xc2, 0x2c, 0x96, 0x85,
		},
		{
			0x4e, 0x5f, 0xa3, 0x38, 0x43, 0x45, 0xb6, 0x6b, 0x7d,
			0xd4, 0xfe, 0x9f, 0xc7, 0x88, 0xa0, 0x3a, 0x38, 0x05,
			0xc5, 0xe8, 0xac, 0xb4, 0x70, 0x7e, 0x6d, 0x24, 0x41,
			0x2c, 0x49, 0x27, 0xe8, 0xff,
		},
		{
			0x5e, 0x74, 0x35, 0xf0, 0x0f, 0x59, 0x38, 0x7b, 0xf0,
			0x97, 0x7a, 0x6d, 0x79, 0xc9, 0x5b, 0x83, 0x18, 0x84,
			0xe8, 0xed, 0x26, 0x1b, 0xdd, 0x09, 0x58, 0x87, 0x16,
			0x91, 0xc7, 0x0a, 0x3f, 0xe2,
		},
		{
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00,
		},
		{
			0x26, 0xdf, 0xf7, 0x9a, 0xd2, 0xe7, 0x29, 0x32, 0xcc,
			0xb0, 0x0a, 0xfe, 0x66, 0x90, 0x5f, 0xb9, 0x66, 0xfc,
			0x7a, 0x05, 0x7b, 0x49, 0x1c, 0x37, 0x5a, 0x31, 0x54,
			0x0a, 0x79, 0xe3, 0x0a, 0x47, 0x80, 0x70, 0x8a, 0x1e,
			0x92, 0x8d, 0x7c, 0x6e, 0xf9, 0x59, 0x43, 0x3b, 0x9a,
			0x0d, 0xbd, 0x19, 0xcc, 0x73, 0x08, 0x2c, 0xf5, 0xd3,
			0x04, 0xff, 0x2e, 0x9a, 0xcb, 0xc5, 0x62, 0x20, 0x02,
			0x50, 0xe7, 0x37, 0x6d, 0x7d, 0x35, 0xf2, 0x2b, 0xfa,
			0x25, 0x7c, 0x86, 0xb0, 0xda, 0x74, 0x83, 0x79, 0x1f,
			0x8f, 0x82, 0xe7, 0x95, 0x59, 0xe5, 0xb4, 0xb9, 0xbf,
			0xe0, 0xe1, 0xfe, 0xc5, 0x2a, 0xc4, 0x09, 0x33, 0xb3,
			0x93, 0x4b, 0x13, 0xdd, 0x65, 0x0e, 0xd5, 0xcc, 0x18,
			0x3e, 0x79, 0x6b, 0xe3, 0x5f, 0xc5, 0x9f, 0xaf, 0x51,
			0x3c, 0x40, 0xf1, 0x24, 0x9b, 0xc8, 0xfe, 0xc4, 0xf2,
			0xf6, 0x11,
		}
	};

	TC_PRINT(".");
	result = do_hmac_prng_pr_false_test(55, &vec);

	return result;
}

unsigned int test_56(void)
{
	unsigned int result = TC_PASS;
	const struct hmac_prng_test_vector vec = {
		32,
		16,
		32,
		0,
		128,
		{
			0xf1, 0x9f, 0x4d, 0xd4, 0x01, 0xe7, 0xfb, 0x21, 0xb3,
			0xf7, 0xf7, 0x3c, 0x8b, 0x39, 0x0e, 0xb6, 0x76, 0xf8,
			0x95, 0xda, 0xab, 0x86, 0x0b, 0x49, 0x1c, 0xb2, 0xfa,
			0xc8, 0x51, 0x97, 0xc1, 0x49,
		},
		{
			0x25, 0x38, 0xe6, 0xbe, 0x68, 0x44, 0x1f, 0x15, 0xac,
			0x6f, 0xd0, 0xa3, 0x4e, 0xf3, 0xb8, 0xb8,
		},
		{
			0x12, 0x35, 0x2e, 0x74, 0xb9, 0x12, 0xc5, 0xc6, 0x37,
			0xaf, 0x35, 0xb1, 0x90, 0x47, 0x77, 0x5f, 0x9c, 0xae,
			0x26, 0xc1, 0xad, 0x49, 0xc5, 0xd5, 0x6c, 0xd2, 0x87,
			0xc7, 0xb4, 0x11, 0x76, 0x22,
		},
		{
			0x05, 0x1f, 0xfc, 0xc7, 0x64, 0x79, 0xa5, 0x67, 0x0c,
			0xb0, 0xfb, 0xba, 0x2b, 0xdc, 0x83, 0x79, 0x33, 0x1d,
			0x8d, 0xba, 0xd0, 0x60, 0x69, 0xf9, 0xa5, 0xe3, 0x6c,
			0xb8, 0xf7, 0xaf, 0xb3, 0x98,
		},
		{
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00,
		},
		{
			0x8c, 0x44, 0xe3, 0xd5, 0xd0, 0xfe, 0xe7, 0x9b, 0x1a,
			0x25, 0x8f, 0x3e, 0x30, 0xe3, 0xcd, 0x9a, 0x0e, 0xbd,
			0x12, 0xcf, 0x68, 0x97, 0x8c, 0xca, 0x5e, 0xd0, 0x53,
			0x44, 0x76, 0x57, 0xff, 0x41, 0x05, 0x77, 0x8b, 0x4d,
			0xd8, 0x72, 0xfd, 0xe9, 0x2f, 0x98, 0x80, 0x4a, 0x72,
			0x42, 0xea, 0x57, 0xe1, 0x3b, 0x0d, 0x6a, 0x8d, 0x49,
			0x37, 0x37, 0x48, 0xc4, 0x95, 0xa7, 0x7d, 0xe8, 0x0e,
			0xfe, 0x24, 0xfa, 0xe7, 0x68, 0x60, 0x4d, 0x1c, 0xbb,
			0x94, 0xeb, 0xd0, 0x8f, 0x37, 0x91, 0x40, 0xea, 0x52,
			0x08, 0xdb, 0x58, 0x9d, 0x1d, 0x1d, 0xdc, 0xb6, 0x9e,
			0xcc, 0x76, 0x4b, 0x51, 0xfc, 0x08, 0x25, 0x08, 0xac,
			0xd6, 0x93, 0xce, 0xdb, 0xc7, 0x07, 0x0f, 0x55, 0x2d,
			0x29, 0x4b, 0x6b, 0x2b, 0xab, 0x9c, 0x7b, 0x6c, 0x9c,
			0x0e, 0x06, 0x88, 0x8b, 0xab, 0xbd, 0x75, 0x68, 0x8c,
			0xf5, 0x36,
		}
	};

	TC_PRINT(".");
	result = do_hmac_prng_pr_false_test(56, &vec);

	return result;
}

unsigned int test_57(void)
{
	unsigned int result = TC_PASS;
	const struct hmac_prng_test_vector vec = {
		32,
		16,
		32,
		0,
		128,
		{
			0xa0, 0x24, 0x5f, 0x99, 0x08, 0xf6, 0xc6, 0x64, 0xde,
			0xa7, 0x68, 0x9e, 0x97, 0x1a, 0x1f, 0xf2, 0xc1, 0x89,
			0xee, 0xe4, 0x22, 0xea, 0x15, 0x7d, 0x40, 0xa4, 0x44,
			0xd8, 0x3c, 0x94, 0x19, 0x80,
		},
		{
			0xf5, 0x69, 0xf2, 0xaf, 0x4d, 0x5f, 0xbb, 0xb7, 0x81,
			0x3f, 0x3e, 0x24, 0x4e, 0x4d, 0x3d, 0xc4,
		},
		{
			0x88, 0x7e, 0x6c, 0x40, 0x26, 0x35, 0x97, 0xd7, 0x56,
			0xc2, 0x5b, 0x40, 0x15, 0xe7, 0x09, 0xa9, 0x66, 0x3e,
			0x48, 0xd5, 0xa9, 0xfb, 0xb4, 0x81, 0x3b, 0x85, 0xa5,
			0x3b, 0x99, 0x7a, 0x64, 0xb6,
		},
		{
			0x2b, 0x85, 0x59, 0x8a, 0x4f, 0x92, 0xa0, 0x0f, 0x4c,
			0xb4, 0xc1, 0xfa, 0xd1, 0x82, 0x9e, 0xd6, 0xf8, 0xf0,
			0x2a, 0x8a, 0x81, 0x02, 0x7d, 0x14, 0xb6, 0x57, 0x4c,
			0x91, 0x78, 0x3c, 0x1d, 0xc4,
		},
		{
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00,
		},
		{
			0xb4, 0xc4, 0xf4, 0x13, 0x96, 0x70, 0x6c, 0xf3, 0x6d,
			0x6c, 0xd9, 0xff, 0xb6, 0xf8, 0xa9, 0x4c, 0x46, 0x82,
			0xa8, 0x69, 0x2a, 0xe9, 0xd8, 0xea, 0xd8, 0x0a, 0xe8,
			0x9d, 0x96, 0x4a, 0x01, 0xa5, 0xde, 0xc1, 0x49, 0x3d,
			0x96, 0xe7, 0x64, 0xb9, 0x49, 0x35, 0xf8, 0x8d, 0xfd,
			0x95, 0xe7, 0xb5, 0xfd, 0x19, 0x6e, 0xed, 0xa8, 0xc2,
			0xaf, 0xe9, 0x94, 0x6d, 0xca, 0x07, 0x25, 0xff, 0x51,
			0x7d, 0x7b, 0xa3, 0xd8, 0xf7, 0xe0, 0x17, 0x41, 0x19,
			0x23, 0xfa, 0xa9, 0x28, 0x9f, 0x68, 0xb7, 0xf7, 0xba,
			0x6e, 0x29, 0xe3, 0xde, 0x65, 0x2f, 0xa4, 0xd6, 0x0e,
			0x8c, 0xac, 0xf5, 0x82, 0xef, 0xa2, 0x15, 0x7a, 0x23,
			0xe9, 0x53, 0xb5, 0x03, 0x98, 0x1c, 0x48, 0x5c, 0xf5,
			0x23, 0xbd, 0x14, 0x56, 0xbb, 0x7e, 0x8c, 0x32, 0x2f,
			0x7b, 0xf0, 0x06, 0x22, 0x3e, 0x37, 0x74, 0x69, 0x75,
			0x00, 0xfd,
		}
	};

	TC_PRINT(".");
	result = do_hmac_prng_pr_false_test(57, &vec);

	return result;
}

unsigned int test_58(void)
{
	unsigned int result = TC_PASS;
	const struct hmac_prng_test_vector vec = {
		32,
		16,
		32,
		0,
		128,
		{
			0xee, 0x8f, 0x7a, 0x02, 0x9a, 0xa7, 0xd2, 0x20, 0xa5,
			0xa1, 0x9d, 0x28, 0x5f, 0xff, 0x41, 0x1f, 0x2e, 0xd5,
			0x66, 0xa1, 0x2e, 0xc3, 0xc8, 0x13, 0xf9, 0x55, 0x9d,
			0x22, 0x1d, 0xa3, 0x8e, 0x81,
		},
		{
			0xb0, 0x28, 0xd4, 0xb9, 0x6d, 0x9a, 0x61, 0x80, 0x1d,
			0x24, 0x53, 0xc4, 0xb4, 0x2f, 0xaf, 0xdb,
		},
		{
			0x28, 0x2c, 0xf8, 0x31, 0x13, 0x75, 0x83, 0x7c, 0x25,
			0x77, 0xd3, 0x1c, 0x50, 0x3e, 0xc0, 0x60, 0x23, 0xf8,
			0xe2, 0xa5, 0xa0, 0xa2, 0xe5, 0xcf, 0x9c, 0xb7, 0xd9,
			0x11, 0x89, 0x9f, 0x2b, 0x5a,
		},
		{
			0x4c, 0x7b, 0x59, 0xe4, 0xdf, 0xd6, 0x9c, 0x36, 0xfe,
			0xd4, 0xa1, 0x28, 0xd7, 0xe6, 0x3d, 0x5e, 0x76, 0x47,
			0x14, 0x3f, 0x5d, 0x4a, 0xab, 0x55, 0x51, 0x6e, 0xad,
			0x95, 0x9c, 0x05, 0x94, 0x6a,
		},
		{
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00,
		},
		{
			0xb6, 0xe8, 0x89, 0xd0, 0x2d, 0x5d, 0x4c, 0xd5, 0xa9,
			0x37, 0xc7, 0x94, 0x94, 0xe9, 0x92, 0x8c, 0x38, 0x3d,
			0x5a, 0x3b, 0xb1, 0x1f, 0x6c, 0xea, 0xa1, 0x80, 0xc7,
			0x96, 0x47, 0x96, 0xac, 0x59, 0xfc, 0xc2, 0x46, 0x61,
			0x71, 0xd6, 0x1f, 0x53, 0x3c, 0xea, 0xee, 0x81, 0xb0,
			0xdc, 0x76, 0x3f, 0x0c, 0x62, 0xc4, 0x49, 0xb7, 0x79,
			0xcd, 0x30, 0x3d, 0xdf, 0x56, 0xe1, 0xce, 0x01, 0xdc,
			0x12, 0x7b, 0xf1, 0xbb, 0x52, 0x67, 0x23, 0xfd, 0x7f,
			0x2f, 0x05, 0x46, 0x76, 0xd6, 0x51, 0xc9, 0x4d, 0xfb,
			0x06, 0x23, 0xf9, 0x72, 0x22, 0xe3, 0x42, 0x41, 0xb5,
			0x65, 0x4d, 0x5d, 0x9f, 0x23, 0x1b, 0x99, 0x41, 0x1c,
			0x0f, 0x36, 0xd5, 0x7f, 0xcb, 0xd0, 0xed, 0x49, 0xe2,
			0xea, 0xc4, 0x7d, 0xb3, 0xf2, 0xa1, 0x22, 0x17, 0x8e,
			0x11, 0x6d, 0x68, 0xf0, 0x4f, 0xe0, 0x89, 0x88, 0x54,
			0xe6, 0x95,
		}
	};

	TC_PRINT(".");
	result = do_hmac_prng_pr_false_test(58, &vec);

	return result;
}

unsigned int test_59(void)
{
	unsigned int result = TC_PASS;
	const struct hmac_prng_test_vector vec = {
		32,
		16,
		32,
		0,
		128,
		{
			0x10, 0xb8, 0x78, 0x9c, 0xdb, 0xd6, 0x77, 0x84, 0x42,
			0xa4, 0x5e, 0xdf, 0x22, 0x8b, 0x99, 0x23, 0xf4, 0x52,
			0x63, 0x1a, 0xd0, 0xfe, 0x9e, 0x60, 0x8d, 0x10, 0x82,
			0x6b, 0xa7, 0x1d, 0xa7, 0xca,
		},
		{
			0x15, 0x9f, 0xc5, 0xd8, 0xe5, 0x0e, 0xb5, 0x6e, 0x22,
			0x97, 0x47, 0x89, 0xb1, 0xdc, 0x20, 0xd1,
		},
		{
			0x2d, 0xd5, 0x9e, 0x37, 0x76, 0x6c, 0x66, 0x75, 0x71,
			0xb7, 0x79, 0xc0, 0x6e, 0x12, 0xba, 0x21, 0x91, 0x88,
			0x48, 0x97, 0x72, 0xf4, 0x86, 0x31, 0xa6, 0x72, 0x8b,
			0x5b, 0x86, 0x7e, 0x3c, 0xf4,
		},
		{
			0x96, 0x6d, 0x94, 0x20, 0x38, 0x03, 0x05, 0x09, 0xb2,
			0x0e, 0x61, 0x00, 0x62, 0x04, 0x2b, 0x6b, 0xf1, 0x04,
			0x81, 0x28, 0x18, 0x89, 0x32, 0x92, 0xa6, 0x8d, 0x57,
			0xd1, 0xce, 0x86, 0x51, 0x51,
		},
		{
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00,
		},
		{
			0x3e, 0x6a, 0xcd, 0x8b, 0x4e, 0x85, 0xb4, 0xa0, 0xf7,
			0x92, 0x8f, 0x6b, 0xd4, 0x1a, 0x8e, 0x6b, 0x52, 0x52,
			0x4f, 0xe7, 0x27, 0x23, 0xa0, 0x50, 0x96, 0x37, 0xd3,
			0x3f, 0x15, 0xaf, 0xe7, 0xd8, 0xda, 0x6a, 0x15, 0x20,
			0x9b, 0x9e, 0x41, 0x49, 0x57, 0x6f, 0xbb, 0x1f, 0xd8,
			0x31, 0xf7, 0x84, 0xc0, 0x44, 0x39, 0xab, 0xda, 0x46,
			0x05, 0xd0, 0x65, 0x56, 0xdc, 0x30, 0x02, 0x05, 0x5b,
			0x58, 0x55, 0xfb, 0xa2, 0x01, 0xf6, 0xda, 0xef, 0x79,
			0xf7, 0x8d, 0x00, 0x1e, 0xd6, 0x9e, 0xca, 0x8a, 0x41,
			0x85, 0x13, 0xd0, 0x24, 0x64, 0xe8, 0xd7, 0x42, 0xc2,
			0x79, 0x9c, 0xd6, 0x8e, 0xdf, 0xbe, 0x88, 0xae, 0x9b,
			0x35, 0xa0, 0xaa, 0x06, 0x5c, 0x42, 0xa4, 0x77, 0x00,
			0x58, 0xc4, 0xb0, 0x26, 0xd0, 0x35, 0x0a, 0x7a, 0xfa,
			0x9c, 0x52, 0xc3, 0xc7, 0xfa, 0x05, 0x4f, 0x8a, 0x96,
			0xd8, 0x87,
		}
	};

	TC_PRINT(".");
	result = do_hmac_prng_pr_false_test(59, &vec);

	return result;
}

unsigned int test_60(void)
{
	unsigned int result = TC_PASS;
	const struct hmac_prng_test_vector vec = {
		32,
		16,
		32,
		0,
		128,
		{
			0x98, 0x29, 0xd2, 0xe5, 0x40, 0x96, 0x29, 0xd9, 0xc5,
			0x3c, 0x7d, 0xbb, 0x16, 0xc6, 0x19, 0xb6, 0x16, 0xb0,
			0xd1, 0x73, 0x94, 0xa3, 0xe0, 0x55, 0xbf, 0x6f, 0xae,
			0x9f, 0xcb, 0xbb, 0xaf, 0xd4,
		},
		{
			0xe1, 0x5d, 0x27, 0x62, 0x63, 0x15, 0x16, 0x80, 0x7c,
			0x1f, 0x07, 0x33, 0x82, 0xe8, 0x52, 0x12,
		},
		{
			0x25, 0x56, 0xe3, 0xd7, 0x5e, 0xef, 0xe6, 0xb6, 0x17,
			0x13, 0x28, 0xe6, 0x60, 0xbb, 0x65, 0x58, 0xda, 0xdf,
			0xfa, 0xa1, 0xe0, 0x32, 0xe7, 0xeb, 0xb6, 0xb3, 0x26,
			0x2a, 0xdd, 0xe0, 0xdd, 0xeb,
		},
		{
			0xa4, 0xf4, 0xe2, 0x8b, 0x33, 0x0b, 0x73, 0x38, 0x2f,
			0xcc, 0x5c, 0x85, 0x7e, 0xd6, 0x2e, 0x94, 0x5f, 0xd9,
			0x71, 0x55, 0x40, 0x64, 0x54, 0x54, 0x37, 0xa5, 0xd2,
			0x2d, 0xdc, 0xbf, 0xf3, 0xee,
		},
		{
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00,
		},
		{
			0x74, 0x74, 0x02, 0xc5, 0x0d, 0xcc, 0xc3, 0xa6, 0x66,
			0xd9, 0x4d, 0x2d, 0x6f, 0x6f, 0x43, 0xfd, 0x2b, 0x50,
			0x53, 0x84, 0x73, 0x3c, 0x97, 0x62, 0xc2, 0xef, 0x84,
			0x93, 0x6f, 0xb3, 0x29, 0xc3, 0x66, 0x54, 0x12, 0x88,
			0xfb, 0xc5, 0x78, 0xe9, 0x39, 0x7b, 0x5b, 0x11, 0x98,
			0xf1, 0x66, 0x5f, 0x8c, 0x37, 0x3d, 0xe8, 0x55, 0x6d,
			0x3c, 0x08, 0xc6, 0x61, 0x9a, 0xa3, 0xb3, 0x55, 0xdb,
			0x20, 0x6f, 0x84, 0x0b, 0x6a, 0xa4, 0xcc, 0x72, 0x20,
			0x6d, 0x7f, 0xef, 0xb2, 0x43, 0x5d, 0x6b, 0x02, 0x4e,
			0x4c, 0x15, 0x68, 0xe9, 0xab, 0x31, 0xf7, 0x11, 0x0f,
			0x43, 0x11, 0xb0, 0x5d, 0x79, 0x96, 0xce, 0xba, 0x6e,
			0x5e, 0x6b, 0xb9, 0x00, 0xf8, 0xe7, 0x21, 0xae, 0x10,
			0x6a, 0x95, 0x11, 0xf8, 0x92, 0x6d, 0xe2, 0xf8, 0x48,
			0x71, 0x00, 0x69, 0x8a, 0xa8, 0xfe, 0x99, 0x53, 0x88,
			0xa0, 0x72,
		}
	};

	TC_PRINT(".");
	result = do_hmac_prng_pr_false_test(60, &vec);

	return result;
}

unsigned int test_61(void)
{
	unsigned int result = TC_PASS;
	const struct hmac_prng_test_vector vec = {
		32,
		16,
		0,
		0,
		128,
		{
			0x6a, 0xe8, 0x03, 0x03, 0x29, 0x23, 0x91, 0x33, 0x5b,
			0xf9, 0xc9, 0x38, 0x7f, 0xbd, 0x3b, 0xf6, 0x15, 0x75,
			0x6c, 0x9c, 0x27, 0xc3, 0x47, 0x8c, 0x87, 0xe2, 0x60,
			0xcf, 0x97, 0xd4, 0x71, 0x10,
		},
		{
			0x01, 0xe1, 0x62, 0x47, 0xdd, 0x4c, 0xae, 0x64, 0x99,
			0x33, 0x7d, 0x82, 0x78, 0x4e, 0xa5, 0x7f,
		},
		{
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00,
		},
		{
			0x03, 0x57, 0x02, 0xef, 0x4e, 0x11, 0x2b, 0x17, 0x31,
			0x12, 0xc5, 0x85, 0x1d, 0x07, 0xb2, 0x79, 0x30, 0x98,
			0x63, 0x74, 0x0d, 0x38, 0xd0, 0xd0, 0x72, 0x02, 0x23,
			0xe2, 0x40, 0x17, 0xbb, 0xc0,
		},
		{
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00,
		},
		{
			0xcf, 0x43, 0x15, 0x59, 0x8f, 0xcd, 0x6a, 0xf1, 0x31,
			0x55, 0x18, 0xc4, 0xbf, 0xba, 0xc0, 0x54, 0x0c, 0x58,
			0x96, 0x35, 0x27, 0x35, 0x48, 0xa7, 0xb5, 0x07, 0xe7,
			0xd2, 0xe6, 0x85, 0xe5, 0x94, 0x7b, 0x87, 0xae, 0x25,
			0x7e, 0x58, 0xfa, 0xf2, 0x14, 0xf2, 0xb5, 0x8e, 0xd1,
			0x0c, 0x3b, 0xd3, 0x5f, 0x75, 0xf6, 0xc3, 0x5d, 0xd6,
			0xd4, 0x41, 0xc9, 0x3b, 0xcd, 0x42, 0xe7, 0x17, 0x20,
			0x10, 0x26, 0x31, 0xb1, 0xa6, 0xa4, 0xba, 0x24, 0x7c,
			0x17, 0x5e, 0xd8, 0x00, 0xcf, 0xca, 0x6e, 0x1e, 0x83,
			0x9b, 0x5a, 0xa9, 0x07, 0x60, 0x4c, 0xcf, 0xe6, 0xf9,
			0x84, 0xf6, 0x82, 0x2e, 0x00, 0x1a, 0xb0, 0x2d, 0xd6,
			0x63, 0x49, 0x64, 0xf7, 0x89, 0xcb, 0x10, 0x7a, 0x97,
			0x73, 0x46, 0x69, 0x3f, 0x32, 0x44, 0xc8, 0x95, 0xe8,
			0x40, 0xdf, 0xa0, 0xed, 0xf7, 0xf1, 0x4d, 0xc6, 0x1d,
			0x79, 0x4f,
		}
	};

	TC_PRINT(".");
	result = do_hmac_prng_pr_false_test(61, &vec);

	return result;
}

unsigned int test_62(void)
{
	unsigned int result = TC_PASS;
	const struct hmac_prng_test_vector vec = {
		32,
		16,
		0,
		0,
		128,
		{
			0xda, 0x2c, 0x40, 0x6c, 0x1a, 0x40, 0xf1, 0xbe, 0x98,
			0xfd, 0xb2, 0x86, 0x07, 0x8a, 0x92, 0x7f, 0x60, 0x6a,
			0xe8, 0xec, 0x91, 0xab, 0x3a, 0x66, 0x3f, 0xe2, 0x13,
			0xfd, 0x8f, 0x05, 0x23, 0xf9,
		},
		{
			0x4b, 0x49, 0x85, 0x7c, 0x62, 0x5f, 0x7a, 0x6c, 0xa2,
			0x66, 0x9a, 0xba, 0x21, 0x3d, 0x79, 0xcb,
		},
		{
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00,
		},
		{
			0x52, 0xc1, 0xc0, 0x06, 0xc5, 0x77, 0x96, 0x91, 0x79,
			0xcc, 0x1f, 0xef, 0xff, 0x1b, 0xb0, 0xdc, 0x42, 0x25,
			0x5c, 0x35, 0x8b, 0x68, 0x6c, 0x73, 0x21, 0x6d, 0xa1,
			0x21, 0x6f, 0x82, 0xff, 0xfb,
		},
		{
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00,
		},
		{
			0x5b, 0x6e, 0x8e, 0xf0, 0x30, 0x07, 0x12, 0xaa, 0xeb,
			0x44, 0xa5, 0x2f, 0x91, 0xca, 0x2f, 0x3d, 0xee, 0xfc,
			0xee, 0xa9, 0x5c, 0xe2, 0x8e, 0x8c, 0x4d, 0x93, 0x10,
			0x12, 0x5a, 0x7d, 0x25, 0x9c, 0x34, 0x23, 0xb2, 0xcd,
			0x66, 0x2b, 0x33, 0x37, 0xae, 0xdf, 0x7d, 0xf1, 0x27,
			0x19, 0xaf, 0x7b, 0xe6, 0xca, 0xcb, 0x3a, 0x65, 0x65,
			0x07, 0x0f, 0xaf, 0xc9, 0x86, 0xc3, 0x36, 0x83, 0x6a,
			0xa2, 0xe1, 0x8c, 0x23, 0x7b, 0x23, 0xff, 0x19, 0x33,
			0x9b, 0x4b, 0x5e, 0xf7, 0x04, 0x63, 0x4f, 0x16, 0x26,
			0xd6, 0x6b, 0xce, 0x9e, 0x72, 0x55, 0x51, 0x83, 0x74,
			0x2b, 0x59, 0x13, 0x35, 0x82, 0x1c, 0xe9, 0xc3, 0xa9,
			0x5f, 0x2a, 0x1b, 0xea, 0xb6, 0xb0, 0x65, 0x9f, 0xfe,
			0x6e, 0x94, 0x0b, 0x55, 0x9d, 0xfb, 0x8a, 0x8d, 0xf1,
			0xa4, 0x73, 0x30, 0x8c, 0x31, 0x54, 0x58, 0x4e, 0xbf,
			0x96, 0x22,
		}
	};

	TC_PRINT(".");
	result = do_hmac_prng_pr_false_test(62, &vec);

	return result;
}

unsigned int test_63(void)
{
	unsigned int result = TC_PASS;
	const struct hmac_prng_test_vector vec = {
		32,
		16,
		0,
		0,
		128,
		{
			0x5b, 0x77, 0xe8, 0x85, 0x05, 0x6b, 0x4f, 0xaf, 0x9d,
			0x8e, 0xf9, 0xc8, 0x57, 0x30, 0xfd, 0x50, 0x75, 0xf0,
			0xa0, 0x70, 0x15, 0xc6, 0xdb, 0xd7, 0x32, 0x3c, 0xe6,
			0x3e, 0xa5, 0xd7, 0x1e, 0x42,
		},
		{
			0x9a, 0xc3, 0xae, 0x89, 0xcf, 0xb2, 0x86, 0xb3, 0x11,
			0x49, 0xe7, 0x8b, 0xce, 0xd8, 0xcf, 0xf0,
		},
		{
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00,
		},
		{
			0x0d, 0xa5, 0xab, 0x25, 0x7b, 0x38, 0x96, 0x73, 0x85,
			0x2c, 0xde, 0x48, 0x00, 0xc0, 0x5a, 0xca, 0x59, 0x6e,
			0xc5, 0x7c, 0x25, 0xd7, 0xda, 0x45, 0x19, 0x11, 0x48,
			0x7a, 0x5b, 0xa6, 0xbd, 0xaa,
		},
		{
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00,
		},
		{
			0x1d, 0x60, 0x4f, 0x4d, 0x5b, 0xb1, 0x0e, 0x11, 0x4a,
			0xed, 0x67, 0x8a, 0x51, 0x39, 0xbb, 0x46, 0xee, 0x69,
			0x55, 0xd8, 0x6e, 0x06, 0x3d, 0x17, 0xca, 0x5e, 0xf6,
			0xdb, 0x38, 0x71, 0x51, 0x43, 0x0d, 0xb2, 0x3a, 0xa0,
			0xb4, 0x8a, 0x34, 0x3b, 0x2d, 0x35, 0x00, 0x3d, 0x29,
			0x5f, 0xd0, 0x24, 0xfc, 0x34, 0x4e, 0x7c, 0x01, 0x06,
			0x49, 0x24, 0x84, 0x69, 0xda, 0x7d, 0x9a, 0xb7, 0xe2,
			0x50, 0x97, 0xbe, 0x35, 0xfe, 0xda, 0xd1, 0xba, 0x89,
			0xad, 0x66, 0xaf, 0x96, 0x80, 0x9c, 0x64, 0xba, 0x3b,
			0x2e, 0xfe, 0x60, 0x1c, 0x1d, 0x6c, 0x20, 0x1c, 0xa5,
			0x5e, 0xa8, 0x2d, 0x90, 0x1a, 0xf1, 0x46, 0xf2, 0x00,
			0x29, 0x1b, 0x11, 0x3f, 0xbb, 0x05, 0x9a, 0x20, 0x43,
			0x28, 0x5a, 0x8d, 0x88, 0xee, 0x65, 0x5d, 0xa7, 0x6f,
			0x83, 0x79, 0x08, 0xec, 0xfc, 0x9b, 0xc0, 0xbb, 0xae,
			0xc1, 0xc3,
		}
	};

	TC_PRINT(".");
	result = do_hmac_prng_pr_false_test(63, &vec);

	return result;
}

unsigned int test_64(void)
{
	unsigned int result = TC_PASS;
	const struct hmac_prng_test_vector vec = {
		32,
		16,
		0,
		0,
		128,
		{
			0x40, 0x30, 0xb2, 0xa9, 0x83, 0xa8, 0xe2, 0x14, 0xc9,
			0xb6, 0x05, 0x3f, 0x47, 0x4d, 0xeb, 0xb1, 0x35, 0x52,
			0x2e, 0x2b, 0x0d, 0x50, 0xae, 0x98, 0x44, 0x1b, 0xef,
			0x99, 0xb9, 0x3e, 0x63, 0xb4,
		},
		{
			0xd6, 0x29, 0x2c, 0x76, 0x33, 0xac, 0xc7, 0xa1, 0x7e,
			0x79, 0x7a, 0x14, 0x99, 0x43, 0xe6, 0xe4,
		},
		{
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00,
		},
		{
			0xea, 0x9f, 0xf3, 0x34, 0x4c, 0xba, 0x86, 0x34, 0xe8,
			0x05, 0x8f, 0x09, 0x35, 0x10, 0x51, 0x9c, 0x4c, 0xb9,
			0x3a, 0x1a, 0xb4, 0x7c, 0x31, 0x23, 0x67, 0x42, 0x95,
			0x28, 0x0a, 0x26, 0x30, 0x9c,
		},
		{
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00,
		},
		{
			0xe9, 0x8a, 0x2d, 0x67, 0xd2, 0xd5, 0x2d, 0xc6, 0x12,
			0x43, 0x7c, 0x57, 0x87, 0xad, 0xad, 0x2f, 0x5d, 0xaa,
			0x82, 0x90, 0x42, 0x3c, 0x45, 0xe5, 0x90, 0x94, 0x55,
			0xe7, 0x55, 0xf2, 0xd4, 0xa7, 0x29, 0xa6, 0xe6, 0xcb,
			0x42, 0xf3, 0x6b, 0x0e, 0x40, 0x57, 0x1f, 0x1d, 0x77,
			0x21, 0xb4, 0x0e, 0x3d, 0x4f, 0x77, 0x3d, 0x84, 0x5e,
			0x72, 0x6e, 0x8e, 0x1e, 0x5b, 0xd9, 0x50, 0x4a, 0x94,
			0x59, 0x43, 0xf3, 0x34, 0x60, 0x3f, 0x28, 0x2b, 0xfc,
			0x7c, 0x5d, 0x8b, 0x2a, 0x6a, 0x1c, 0x82, 0xcc, 0xa1,
			0xee, 0x94, 0x3b, 0xe6, 0xc4, 0x64, 0xbc, 0xf8, 0xa4,
			0xdf, 0x47, 0x0d, 0x3d, 0xdc, 0xd7, 0xea, 0xb1, 0xe8,
			0xbb, 0xa0, 0x09, 0x0e, 0x53, 0x7c, 0x36, 0x70, 0xf4,
			0x24, 0x43, 0x8e, 0x3a, 0x0b, 0x19, 0x72, 0x97, 0xa7,
			0xa1, 0x6d, 0x12, 0xa2, 0x82, 0x55, 0x8d, 0x55, 0x6f,
			0x3b, 0x5e,
		}
	};

	TC_PRINT(".");
	result = do_hmac_prng_pr_false_test(64, &vec);

	return result;
}

unsigned int test_65(void)
{
	unsigned int result = TC_PASS;
	const struct hmac_prng_test_vector vec = {
		32,
		16,
		0,
		0,
		128,
		{
			0x94, 0x7b, 0x3f, 0x93, 0xa6, 0x01, 0xda, 0x15, 0xaa,
			0xec, 0x58, 0x07, 0x8d, 0x19, 0x8c, 0x20, 0xc9, 0x13,
			0x79, 0xd5, 0xbf, 0x1c, 0x0d, 0xea, 0x32, 0x96, 0x91,
			0xf4, 0x7b, 0x3c, 0xdb, 0x40,
		},
		{
			0x97, 0x69, 0x2e, 0xbc, 0x8c, 0x9b, 0x04, 0x5b, 0x73,
			0xe8, 0x23, 0x50, 0x0e, 0xba, 0x50, 0x77,
		},
		{
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00,
		},
		{
			0x59, 0x9f, 0xe8, 0x4d, 0x8a, 0x84, 0xc3, 0x06, 0xee,
			0x33, 0x4a, 0x3b, 0x44, 0x30, 0x05, 0xe3, 0x3b, 0xa0,
			0xf8, 0xf5, 0x9b, 0x63, 0x6e, 0x67, 0xd7, 0x4f, 0x8c,
			0x59, 0x65, 0x58, 0xcf, 0x8e,
		},
		{
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00,
		},
		{
			0x38, 0x8d, 0xe4, 0xee, 0x5c, 0x19, 0xad, 0x97, 0x2c,
			0x65, 0x0c, 0x86, 0x5e, 0xc3, 0x4f, 0x7d, 0xb6, 0x69,
			0x66, 0x9d, 0x32, 0x6f, 0x0c, 0x55, 0x89, 0xc5, 0xab,
			0x24, 0x10, 0xd6, 0x4f, 0x2d, 0x27, 0x14, 0x84, 0x3c,
			0xf5, 0xa2, 0x28, 0x8e, 0x37, 0x95, 0xfa, 0xe7, 0xf5,
			0x41, 0xfd, 0xa4, 0xbd, 0x4d, 0x48, 0x84, 0x01, 0x4c,
			0xc7, 0x75, 0x8e, 0xc2, 0x97, 0x3b, 0xce, 0x26, 0xa6,
			0xb4, 0xc4, 0xda, 0x09, 0x11, 0xde, 0xba, 0x01, 0x64,
			0x24, 0x63, 0x0d, 0x30, 0xd5, 0xf3, 0x53, 0x6e, 0x4e,
			0x79, 0x77, 0xdf, 0xc7, 0x0f, 0x40, 0xb5, 0x30, 0x8f,
			0x38, 0xef, 0x6e, 0x5a, 0x3d, 0xd7, 0xa0, 0x60, 0xda,
			0x5c, 0x68, 0xcc, 0xe2, 0x75, 0x05, 0x74, 0x5f, 0x57,
			0x68, 0x24, 0x5a, 0xb3, 0xc3, 0x1f, 0xdc, 0xc5, 0x40,
			0xd3, 0x76, 0x7b, 0x9f, 0xa6, 0x2d, 0x41, 0x71, 0xc7,
			0x15, 0xc7,
		}
	};

	TC_PRINT(".");
	result = do_hmac_prng_pr_false_test(65, &vec);

	return result;
}

unsigned int test_66(void)
{
	unsigned int result = TC_PASS;
	const struct hmac_prng_test_vector vec = {
		32,
		16,
		0,
		0,
		128,
		{
			0xc8, 0x68, 0xe7, 0x22, 0x1f, 0xe5, 0x65, 0xc1, 0x3e,
			0x46, 0xba, 0x78, 0x14, 0x17, 0xda, 0x8c, 0xf4, 0x2b,
			0xed, 0xc9, 0xbf, 0x5e, 0xca, 0xb8, 0x98, 0xf6, 0x4f,
			0x53, 0xa8, 0xe5, 0xbe, 0x2f,
		},
		{
			0x49, 0x24, 0x05, 0x87, 0xc2, 0xf9, 0xe2, 0xc9, 0xaf,
			0xae, 0x3a, 0x7a, 0xa7, 0x06, 0x20, 0x80,
		},
		{
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00,
		},
		{
			0xa6, 0x98, 0x20, 0x3c, 0x5f, 0x5e, 0x55, 0x9d, 0x5f,
			0x08, 0xdf, 0x28, 0x23, 0x0a, 0xb3, 0xb1, 0xff, 0x40,
			0x59, 0xce, 0x8e, 0x8b, 0x2b, 0x96, 0x76, 0x88, 0x03,
			0x13, 0xd1, 0x34, 0xf7, 0xfd,
		},
		{
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00,
		},
		{
			0x64, 0xe6, 0x9b, 0x9c, 0xdd, 0x82, 0x94, 0x57, 0x3c,
			0x67, 0xe0, 0x6c, 0xd6, 0x62, 0x66, 0x2e, 0x98, 0xcb,
			0xca, 0xb9, 0xb8, 0xfc, 0x8c, 0x9a, 0xd7, 0xd3, 0x66,
			0xc3, 0xf9, 0x78, 0xf1, 0x0a, 0xf1, 0xbb, 0xd9, 0x93,
			0x4a, 0xdb, 0x9a, 0x31, 0x22, 0x8d, 0x0c, 0x51, 0xa2,
			0x68, 0xac, 0xb7, 0x76, 0xe3, 0xdf, 0x0d, 0x9a, 0x5d,
			0xc4, 0x13, 0xda, 0x62, 0x36, 0xe7, 0x7c, 0x15, 0xf2,
			0x2d, 0xff, 0x41, 0x09, 0x11, 0x5e, 0x2e, 0x7a, 0x09,
			0xd4, 0x5d, 0x43, 0xf5, 0xa2, 0x69, 0x10, 0x4a, 0x71,
			0x7e, 0x10, 0x1f, 0x2c, 0x84, 0x27, 0x04, 0x9a, 0xb6,
			0x58, 0x8d, 0xaf, 0x89, 0x07, 0xe3, 0x31, 0x68, 0xee,
			0xbe, 0xde, 0xcc, 0x47, 0x01, 0x90, 0x65, 0x57, 0xf9,
			0x7f, 0xd3, 0x4b, 0x72, 0x46, 0x42, 0xf2, 0x85, 0xc0,
			0xb0, 0x6a, 0xbc, 0x3c, 0xa1, 0x5b, 0xe6, 0x87, 0xc9,
			0xbe, 0x1d,
		}
	};

	TC_PRINT(".");
	result = do_hmac_prng_pr_false_test(66, &vec);

	return result;
}

unsigned int test_67(void)
{
	unsigned int result = TC_PASS;
	const struct hmac_prng_test_vector vec = {
		32,
		16,
		0,
		0,
		128,
		{
			0x5b, 0x75, 0xc3, 0xc8, 0x00, 0x0a, 0x81, 0x72, 0x18,
			0x24, 0xe9, 0x67, 0x66, 0x62, 0x85, 0x12, 0x57, 0xff,
			0x31, 0x5b, 0x9f, 0x20, 0x65, 0x63, 0x1e, 0x4b, 0x1c,
			0x31, 0xa8, 0x24, 0xed, 0x0f,
		},
		{
			0x18, 0x71, 0xbf, 0x15, 0xff, 0x16, 0xe9, 0x4c, 0x9c,
			0x8d, 0x93, 0xda, 0x29, 0x51, 0x55, 0x66,
		},
		{
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00,
		},
		{
			0x99, 0x48, 0x67, 0xb4, 0x13, 0x45, 0x9c, 0x17, 0xa1,
			0xe5, 0x07, 0x69, 0xcb, 0x2d, 0xc3, 0x0a, 0x00, 0x12,
			0xc8, 0xd5, 0x94, 0x74, 0x2e, 0xd4, 0xea, 0x2c, 0x2a,
			0xc4, 0x34, 0xbe, 0x33, 0x86,
		},
		{
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00,
		},
		{
			0x2b, 0x40, 0xdb, 0x08, 0xa5, 0xe1, 0x5e, 0xb1, 0x81,
			0x7f, 0x05, 0x14, 0x1c, 0xb0, 0xb5, 0x86, 0x46, 0x84,
			0xea, 0x4e, 0x10, 0x04, 0xc2, 0x60, 0x98, 0xb4, 0x83,
			0x11, 0x9b, 0xde, 0x01, 0x75, 0x26, 0xdf, 0x8d, 0x39,
			0x3a, 0xbd, 0x6a, 0x26, 0x02, 0xf4, 0x2f, 0xe3, 0x52,
			0x24, 0xea, 0x7d, 0xee, 0xd2, 0xf6, 0x40, 0x3d, 0x92,
			0xc4, 0x1d, 0xf8, 0x01, 0xab, 0x93, 0x65, 0xce, 0x24,
			0xa6, 0xa9, 0xae, 0xa9, 0x08, 0xdc, 0xf6, 0x11, 0x3e,
			0x02, 0xcb, 0x67, 0xae, 0x13, 0x01, 0x5b, 0x61, 0x74,
			0xf2, 0x2c, 0xd9, 0x43, 0x31, 0xa4, 0x79, 0xab, 0x03,
			0xb7, 0xa1, 0x9d, 0xe2, 0x81, 0xe0, 0x69, 0xa1, 0x7b,
			0x60, 0x0c, 0x66, 0x49, 0xd7, 0xb8, 0x8e, 0x5b, 0xa3,
			0xf3, 0x40, 0xfb, 0xdb, 0x53, 0x7a, 0x9e, 0x45, 0x81,
			0x49, 0x6c, 0x8e, 0xaa, 0x40, 0xe5, 0xb8, 0x88, 0x62,
			0xc4, 0xb0,
		}
	};

	TC_PRINT(".");
	result = do_hmac_prng_pr_false_test(67, &vec);

	return result;
}

unsigned int test_68(void)
{
	unsigned int result = TC_PASS;
	const struct hmac_prng_test_vector vec = {
		32,
		16,
		0,
		0,
		128,
		{
			0xbb, 0x44, 0x58, 0xcc, 0xeb, 0x0d, 0xce, 0x73, 0x32,
			0xf3, 0x0c, 0xe9, 0x0f, 0x69, 0xd8, 0x28, 0x25, 0xb5,
			0x47, 0xbb, 0x51, 0x2a, 0xfb, 0xae, 0x3e, 0x1c, 0xba,
			0xaa, 0x4c, 0x17, 0x2b, 0x7b,
		},
		{
			0x60, 0xbd, 0x6a, 0x33, 0xbe, 0xe6, 0x1d, 0x1a, 0x9b,
			0xbf, 0xdd, 0xfe, 0xe6, 0x0f, 0x7a, 0x18,
		},
		{
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00,
		},
		{
			0xe8, 0x8a, 0x2a, 0xee, 0x17, 0xcc, 0x49, 0x16, 0x40,
			0xf2, 0xe0, 0xa6, 0x93, 0xf0, 0x3e, 0xbc, 0x48, 0xa9,
			0x57, 0x90, 0x31, 0x86, 0x1d, 0xf3, 0x1c, 0xdb, 0x42,
			0x64, 0x99, 0x7f, 0x8a, 0x64,
		},
		{
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00,
		},
		{
			0x5b, 0xea, 0x97, 0xa6, 0xda, 0xae, 0xe5, 0x40, 0xab,
			0x6d, 0x41, 0x7c, 0xa4, 0x58, 0x7c, 0x19, 0x8f, 0x58,
			0x9d, 0xb5, 0xac, 0x72, 0xb4, 0xf1, 0x38, 0x4b, 0x1b,
			0x1d, 0x8c, 0x03, 0xec, 0x73, 0xb2, 0x97, 0x93, 0x9f,
			0x5a, 0x8b, 0x82, 0x40, 0xfd, 0x10, 0x33, 0xca, 0xce,
			0x0e, 0x97, 0x1e, 0x3c, 0x3f, 0x49, 0x23, 0x9b, 0x16,
			0x85, 0x76, 0xf8, 0x3d, 0xce, 0x89, 0x53, 0x37, 0x87,
			0xfc, 0xb7, 0x25, 0x37, 0xb3, 0x2f, 0x58, 0x5d, 0xf1,
			0x35, 0x50, 0x64, 0xf7, 0xd7, 0x37, 0xb6, 0xc2, 0x52,
			0x59, 0x5f, 0x16, 0xc4, 0x2d, 0x77, 0xb8, 0x37, 0xfb,
			0x7d, 0x4d, 0x44, 0xbd, 0x84, 0xdb, 0xe8, 0x4d, 0x0b,
			0xb5, 0xa4, 0x22, 0x44, 0x87, 0xfa, 0xe3, 0xca, 0x26,
			0xe9, 0x30, 0xe5, 0x4c, 0x27, 0xe2, 0xeb, 0xdd, 0xe9,
			0x92, 0xe7, 0x6d, 0xc4, 0xc4, 0x07, 0x77, 0x7a, 0xa4,
			0xbd, 0x11,
		}
	};

	TC_PRINT(".");
	result = do_hmac_prng_pr_false_test(68, &vec);

	return result;
}

unsigned int test_69(void)
{
	unsigned int result = TC_PASS;
	const struct hmac_prng_test_vector vec = {
		32,
		16,
		0,
		0,
		128,
		{
			0x7e, 0x70, 0x38, 0x1b, 0xfb, 0xa7, 0x80, 0x7b, 0xc7,
			0x73, 0xe2, 0xcd, 0x68, 0x3f, 0x90, 0xc7, 0xad, 0x60,
			0x6d, 0xcf, 0x46, 0x27, 0x67, 0x98, 0x8b, 0x3f, 0x6c,
			0x75, 0x8f, 0x5c, 0x79, 0x5d,
		},
		{
			0x7e, 0x5a, 0xb4, 0x42, 0x70, 0x29, 0xe9, 0x9d, 0xf2,
			0x20, 0x1d, 0x81, 0xc3, 0xff, 0x28, 0x4e,
		},
		{
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00,
		},
		{
			0xe0, 0xdd, 0x5b, 0x4e, 0x7c, 0xa7, 0x2a, 0xfd, 0xe5,
			0x3c, 0x16, 0xb8, 0x22, 0x54, 0x03, 0xbb, 0x6e, 0x74,
			0x97, 0x42, 0xf3, 0xe3, 0x88, 0x96, 0xfb, 0xf8, 0xf1,
			0x8b, 0x7c, 0xe6, 0xf7, 0x99,
		},
		{
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00,
		},
		{
			0x8a, 0xf2, 0x7c, 0x16, 0x3d, 0x25, 0xec, 0xf4, 0xf5,
			0x39, 0x94, 0x4d, 0x94, 0x50, 0xf5, 0x11, 0x6e, 0xa8,
			0xaa, 0x7f, 0x97, 0x36, 0x1c, 0x69, 0x6f, 0x8d, 0xc7,
			0xd8, 0xb3, 0xaf, 0xe6, 0xff, 0xc0, 0x20, 0x14, 0x59,
			0xa1, 0x73, 0x3d, 0x9e, 0xe0, 0x9b, 0x2e, 0x45, 0xf3,
			0xb6, 0xcd, 0x5f, 0x45, 0xd9, 0xf9, 0xf4, 0x5f, 0xdc,
			0x66, 0x2b, 0x56, 0x90, 0x59, 0x89, 0x1f, 0x2e, 0x9e,
			0xbc, 0x74, 0x0f, 0x78, 0x40, 0x4a, 0x0b, 0xb1, 0xc4,
			0x6a, 0x6b, 0xfe, 0xee, 0xed, 0x9c, 0x6b, 0x55, 0x2c,
			0x5c, 0x46, 0x8a, 0x49, 0x96, 0xad, 0x41, 0xcf, 0xff,
			0x77, 0xae, 0x4d, 0x98, 0x96, 0xcb, 0x80, 0xaf, 0x27,
			0x63, 0x5a, 0x4e, 0x2a, 0x1b, 0x5c, 0x07, 0xc1, 0xb5,
			0x8b, 0x49, 0xc9, 0xa7, 0x68, 0x51, 0x14, 0x4e, 0x69,
			0x03, 0x7e, 0x14, 0xf7, 0xb8, 0x05, 0x16, 0x13, 0x29,
			0xca, 0x15,
		}
	};

	TC_PRINT(".");
	result = do_hmac_prng_pr_false_test(69, &vec);

	return result;
}

unsigned int test_70(void)
{
	unsigned int result = TC_PASS;
	const struct hmac_prng_test_vector vec = {
		32,
		16,
		0,
		0,
		128,
		{
			0x2e, 0x54, 0x32, 0xac, 0xda, 0xb8, 0xca, 0x81, 0xee,
			0x56, 0xf3, 0xe6, 0x9a, 0x0c, 0x74, 0x8a, 0x72, 0xf8,
			0x3e, 0x11, 0xd1, 0x8c, 0x2e, 0xf8, 0xfc, 0x8a, 0xad,
			0x56, 0x8e, 0x19, 0xe9, 0x1c,
		},
		{
			0xca, 0x5f, 0x6e, 0xb3, 0x25, 0xe4, 0xa2, 0xb2, 0x4c,
			0x00, 0x91, 0x5b, 0xc3, 0x7d, 0x99, 0x41,
		},
		{
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00,
		},
		{
			0xae, 0x3d, 0x7a, 0xc0, 0x62, 0x2f, 0x7d, 0xc0, 0x69,
			0xe5, 0x2c, 0xbd, 0x15, 0x84, 0x47, 0x29, 0x79, 0xe1,
			0xc8, 0xa9, 0x6b, 0xf4, 0x61, 0xc8, 0xd3, 0x97, 0x6d,
			0x8d, 0x53, 0x5c, 0x10, 0xec,
		},
		{
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00,
		},
		{
			0xfd, 0xa5, 0xdb, 0x4b, 0x28, 0xbb, 0xc5, 0xd2, 0xf6,
			0xbd, 0x33, 0xac, 0x98, 0x39, 0x9b, 0xcf, 0xcf, 0xa4,
			0x60, 0x37, 0x47, 0x8c, 0xf2, 0x69, 0xbf, 0x35, 0x9d,
			0xb2, 0x28, 0x28, 0x06, 0x62, 0x71, 0x8f, 0x6d, 0x4c,
			0xa4, 0x77, 0xbb, 0x1c, 0xac, 0xa5, 0x67, 0x30, 0x9a,
			0xba, 0xab, 0x08, 0x32, 0xe7, 0x88, 0x58, 0x84, 0xe8,
			0x6c, 0x4e, 0x0b, 0x01, 0x7e, 0x86, 0x77, 0x74, 0x9c,
			0x5d, 0xb2, 0xc3, 0x3e, 0x65, 0xfa, 0x53, 0x8d, 0xf4,
			0xae, 0xc4, 0x46, 0xc7, 0xca, 0x72, 0x4a, 0xf1, 0x8e,
			0x45, 0x98, 0x36, 0x01, 0x78, 0x5f, 0x98, 0x00, 0xa0,
			0xc5, 0xb2, 0x3f, 0xea, 0xfb, 0xbd, 0x34, 0x9d, 0x20,
			0x4a, 0xe5, 0x4b, 0x40, 0xa0, 0x19, 0xa5, 0x7a, 0x83,
			0x68, 0xf0, 0x7d, 0x70, 0x94, 0x5f, 0x22, 0xbe, 0x24,
			0xaa, 0x99, 0x2f, 0x93, 0x0f, 0x92, 0xa6, 0x26, 0xbb,
			0x22, 0xb6,
		}
	};

	TC_PRINT(".");
	result = do_hmac_prng_pr_false_test(70, &vec);

	return result;
}

unsigned int test_71(void)
{
	unsigned int result = TC_PASS;
	const struct hmac_prng_test_vector vec = {
		32,
		16,
		0,
		0,
		128,
		{
			0xef, 0xfa, 0xaf, 0x06, 0xcd, 0x99, 0x7b, 0x99, 0x78,
			0x33, 0x72, 0xc5, 0x15, 0x67, 0x2e, 0xde, 0x1a, 0x74,
			0x16, 0x22, 0xa2, 0x04, 0x39, 0x53, 0x45, 0x1c, 0x33,
			0x66, 0x8e, 0x8d, 0xf4, 0x65,
		},
		{
			0xfb, 0x92, 0x29, 0x10, 0xbc, 0x6c, 0x2a, 0xd0, 0x46,
			0x1c, 0x98, 0x09, 0xd1, 0x8a, 0x23, 0xf9,
		},
		{
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00,
		},
		{
			0x53, 0xce, 0x26, 0xba, 0xbc, 0x29, 0x4d, 0x2f, 0x1b,
			0x48, 0xb5, 0x8a, 0xec, 0xad, 0xab, 0x33, 0x08, 0xd8,
			0x71, 0x18, 0x92, 0xcf, 0xa3, 0x93, 0xf3, 0x58, 0x33,
			0x5f, 0xc0, 0xf4, 0x67, 0x4e,
		},
		{
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00,
		},
		{
			0x8a, 0xe5, 0x35, 0xa3, 0xcc, 0x00, 0xda, 0x2c, 0x81,
			0x7e, 0x7f, 0x38, 0x9a, 0x9b, 0xc9, 0x97, 0xd8, 0xe7,
			0x20, 0xe3, 0x94, 0xbc, 0xd3, 0xa6, 0xc2, 0x3e, 0xc6,
			0x78, 0xed, 0x9d, 0xa4, 0x8d, 0x3d, 0x83, 0xe3, 0x2f,
			0x73, 0xd8, 0x96, 0xda, 0x58, 0x2a, 0x5c, 0x2b, 0x0f,
			0x44, 0x12, 0x7b, 0x3f, 0x7e, 0xd3, 0x6d, 0x91, 0xfc,
			0x87, 0x7b, 0xbe, 0x91, 0x33, 0x90, 0x64, 0x89, 0x0a,
			0x4c, 0x2d, 0xb0, 0x5f, 0x16, 0xb5, 0x53, 0x61, 0x1d,
			0x68, 0x72, 0xc8, 0xbf, 0x40, 0x84, 0x34, 0x4c, 0x5d,
			0xae, 0x08, 0xca, 0x48, 0x17, 0x2f, 0x98, 0x22, 0x24,
			0x4d, 0x4f, 0xf3, 0x72, 0xe0, 0x4c, 0xe9, 0x9a, 0xed,
			0x28, 0xc3, 0x94, 0x4c, 0x47, 0xfa, 0x43, 0x4e, 0x20,
			0xe9, 0x97, 0x30, 0xba, 0xf2, 0xbe, 0x9e, 0xe8, 0x52,
			0x47, 0xf1, 0xb9, 0x4b, 0x12, 0x9c, 0x3f, 0x6c, 0x3e,
			0x0f, 0xe0,
		}
	};

	TC_PRINT(".");
	result = do_hmac_prng_pr_false_test(71, &vec);

	return result;
}

unsigned int test_72(void)
{
	unsigned int result = TC_PASS;
	const struct hmac_prng_test_vector vec = {
		32,
		16,
		0,
		0,
		128,
		{
			0x4a, 0x35, 0x42, 0xce, 0xa1, 0xb5, 0xa7, 0xb8, 0x93,
			0x85, 0x15, 0x32, 0x54, 0x98, 0x84, 0xa9, 0xeb, 0xa9,
			0x36, 0x95, 0xbe, 0x8d, 0x76, 0x76, 0x1d, 0xb6, 0x98,
			0x31, 0xbd, 0x10, 0x53, 0xee,
		},
		{
			0xff, 0x03, 0x20, 0xc4, 0x7e, 0x47, 0xb4, 0x40, 0x71,
			0x8b, 0x80, 0xab, 0x61, 0x6d, 0x7f, 0xff,
		},
		{
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00,
		},
		{
			0x86, 0x9a, 0xe8, 0xff, 0x94, 0x9a, 0x10, 0xc9, 0x3c,
			0x05, 0xd6, 0x20, 0xe4, 0xc4, 0xf1, 0x3d, 0x03, 0x76,
			0xee, 0x1e, 0x00, 0xc7, 0x1b, 0xba, 0x58, 0x83, 0xb3,
			0xbc, 0x41, 0xf5, 0x24, 0x7b,
		},
		{
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00,
		},
		{
			0xad, 0xda, 0x83, 0xc6, 0x11, 0x88, 0x3e, 0x01, 0xf9,
			0x58, 0xfe, 0xbf, 0xf1, 0x05, 0x2b, 0x65, 0x8b, 0x0c,
			0x84, 0xf8, 0x57, 0xad, 0x8d, 0x7d, 0x18, 0xde, 0x89,
			0x7d, 0xe2, 0xa8, 0xee, 0xaf, 0x39, 0x53, 0xd9, 0x40,
			0x7c, 0xbc, 0x4c, 0x05, 0x9c, 0x9f, 0xf9, 0xbf, 0xe6,
			0x77, 0x44, 0xe1, 0x34, 0x06, 0xcb, 0xfb, 0x09, 0xed,
			0x31, 0xdc, 0x2f, 0xbc, 0xd9, 0x62, 0x61, 0x29, 0xd0,
			0xb6, 0xe4, 0xa8, 0x0a, 0xc3, 0xc1, 0xb2, 0x86, 0xd8,
			0x1f, 0x6f, 0x28, 0x18, 0x3a, 0x3e, 0x8c, 0xe2, 0x66,
			0x68, 0x60, 0x05, 0x60, 0x08, 0x4f, 0x3a, 0xde, 0xd9,
			0x4e, 0xe5, 0x7d, 0xe1, 0x86, 0x57, 0xf4, 0x43, 0x50,
			0xf9, 0x75, 0x32, 0xa7, 0xc2, 0x5d, 0xcb, 0x99, 0xa8,
			0x68, 0x3a, 0xc3, 0xd6, 0x32, 0xa3, 0x76, 0x18, 0xeb,
			0x9e, 0x2b, 0x18, 0x54, 0x5c, 0x00, 0xb0, 0xc2, 0xcd,
			0xc3, 0xc0,
		}
	};

	TC_PRINT(".");
	result = do_hmac_prng_pr_false_test(72, &vec);

	return result;
}

unsigned int test_73(void)
{
	unsigned int result = TC_PASS;
	const struct hmac_prng_test_vector vec = {
		32,
		16,
		0,
		0,
		128,
		{
			0xc5, 0x02, 0xa0, 0x09, 0xeb, 0x41, 0xc8, 0xf8, 0x22,
			0x06, 0x66, 0xd4, 0xe2, 0x33, 0x54, 0xb3, 0xd0, 0x86,
			0xc8, 0xf6, 0xe0, 0x96, 0x28, 0xd2, 0xa9, 0xbb, 0xe0,
			0x72, 0x77, 0x0c, 0x99, 0xee,
		},
		{
			0xbb, 0xfc, 0xb4, 0x61, 0x3c, 0x45, 0x03, 0x26, 0x8b,
			0xc9, 0x07, 0x45, 0xdf, 0x3c, 0xc8, 0x90,
		},
		{
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00,
		},
		{
			0x6d, 0xa4, 0xc1, 0x2b, 0x0a, 0xa1, 0x28, 0xa5, 0x8f,
			0xee, 0xb8, 0x7a, 0xbb, 0xea, 0x04, 0xee, 0xcf, 0xb2,
			0xb4, 0x3c, 0x62, 0x93, 0xb8, 0x86, 0x3d, 0xe3, 0x16,
			0xae, 0x6e, 0xd2, 0x22, 0x21,
		},
		{
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00,
		},
		{
			0xc2, 0xa8, 0x78, 0x4f, 0xbc, 0xe4, 0xfa, 0x6e, 0x15,
			0x84, 0x4f, 0xdd, 0x8a, 0x84, 0x41, 0xd6, 0xb5, 0x6e,
			0xbe, 0x6c, 0x0d, 0xb5, 0x76, 0xd6, 0x81, 0xe0, 0x2b,
			0xdb, 0x45, 0x9e, 0x4b, 0xaa, 0xdd, 0xe1, 0x7b, 0xd0,
			0xb8, 0x7d, 0xfa, 0xfc, 0x9f, 0x92, 0x94, 0x1d, 0x7c,
			0xa8, 0x99, 0xa1, 0x3f, 0x7e, 0x19, 0xeb, 0xd4, 0x92,
			0xb3, 0x47, 0xf7, 0x75, 0x0d, 0x7c, 0x43, 0xe6, 0x70,
			0x28, 0x65, 0x47, 0x48, 0x57, 0x2d, 0xc9, 0x1d, 0x20,
			0x02, 0xb1, 0x44, 0x27, 0x18, 0x7c, 0xf3, 0x3d, 0x42,
			0x1a, 0x56, 0xef, 0xef, 0xbd, 0x62, 0x1a, 0x84, 0xde,
			0x1e, 0x56, 0x64, 0xdf, 0x1c, 0xb2, 0xe7, 0xef, 0xc3,
			0x6b, 0xce, 0xf0, 0x3a, 0xca, 0xe1, 0x3b, 0x05, 0xea,
			0x10, 0x59, 0x76, 0xf8, 0x40, 0xea, 0x75, 0x9d, 0x68,
			0x00, 0x4b, 0x40, 0x43, 0xe8, 0xca, 0x76, 0xd5, 0x2c,
			0x73, 0x66,
		}
	};

	TC_PRINT(".");
	result = do_hmac_prng_pr_false_test(73, &vec);

	return result;
}

unsigned int test_74(void)
{
	unsigned int result = TC_PASS;
	const struct hmac_prng_test_vector vec = {
		32,
		16,
		0,
		0,
		128,
		{
			0x30, 0x4f, 0x12, 0x9a, 0xfb, 0x5b, 0xa1, 0xe0, 0x62,
			0xbd, 0x6c, 0x0d, 0x85, 0x9e, 0x71, 0x61, 0xe3, 0xb9,
			0xea, 0x53, 0xef, 0x52, 0x6f, 0x00, 0x32, 0x95, 0x33,
			0xb6, 0xbe, 0x12, 0xfa, 0xaf,
		},
		{
			0x58, 0x56, 0x5e, 0x9d, 0x77, 0x6c, 0x89, 0xab, 0xf6,
			0xcd, 0xa5, 0xe7, 0x7c, 0xe7, 0xd2, 0x7b,
		},
		{
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00,
		},
		{
			0x19, 0x80, 0xa2, 0xd6, 0x5b, 0x26, 0xb7, 0xed, 0x3b,
			0xfc, 0x2b, 0xa9, 0x76, 0xf1, 0x4f, 0x14, 0x7d, 0xdb,
			0x7f, 0xb1, 0x8c, 0x85, 0x43, 0xd0, 0x46, 0x86, 0xe6,
			0xad, 0xc0, 0x20, 0xcf, 0x72,
		},
		{
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00,
		},
		{
			0x8c, 0xda, 0x68, 0xca, 0xf5, 0x7c, 0x12, 0xdd, 0x0a,
			0x2b, 0x62, 0x8f, 0xe8, 0x75, 0xd5, 0xe0, 0xbb, 0xa5,
			0x09, 0x81, 0x41, 0x5a, 0x4a, 0xe2, 0xd5, 0x88, 0x06,
			0xaf, 0x4c, 0x23, 0xf0, 0x59, 0x78, 0xe3, 0x9e, 0x56,
			0x62, 0x69, 0x07, 0x6c, 0xd4, 0x3e, 0x36, 0xea, 0xa1,
			0x02, 0x5e, 0x35, 0x13, 0x95, 0x51, 0x4a, 0xe5, 0x07,
			0x11, 0xb1, 0x87, 0xed, 0xe5, 0xcf, 0xd8, 0x45, 0x8a,
			0x7b, 0x8a, 0x7d, 0x97, 0x88, 0xc2, 0x12, 0x0d, 0x1d,
			0x71, 0xf6, 0x1e, 0xa9, 0x5d, 0x84, 0xa7, 0xff, 0x1e,
			0x04, 0xf5, 0x14, 0xe8, 0x44, 0x8b, 0xa2, 0xea, 0x6b,
			0x95, 0x6a, 0xea, 0xfd, 0xc3, 0xeb, 0xb6, 0xc1, 0xcd,
			0x0c, 0x7b, 0x7e, 0xc7, 0x6b, 0x95, 0x8e, 0xef, 0xb8,
			0x12, 0xec, 0xb3, 0xe8, 0x6b, 0x33, 0xa4, 0xd3, 0xa7,
			0xb2, 0x97, 0x7f, 0x66, 0xb2, 0x14, 0x08, 0x96, 0x62,
			0xd1, 0x4a,
		}
	};

	TC_PRINT(".");
	result = do_hmac_prng_pr_false_test(74, &vec);

	return result;
}

unsigned int test_75(void)
{
	unsigned int result = TC_PASS;
	const struct hmac_prng_test_vector vec = {
		32,
		16,
		0,
		0,
		128,
		{
			0xc5, 0x58, 0x92, 0x6a, 0x4d, 0xbb, 0x9f, 0x41, 0xe7,
			0x56, 0x89, 0xd9, 0xc8, 0xae, 0xc8, 0x67, 0x97, 0xc2,
			0x9f, 0x8c, 0x77, 0xe3, 0x56, 0xf0, 0x33, 0x1b, 0xed,
			0x78, 0x8b, 0x76, 0xe9, 0xb7,
		},
		{
			0xcf, 0x83, 0xe7, 0x71, 0x58, 0x26, 0xfd, 0x14, 0x89,
			0xcc, 0x30, 0x54, 0xd3, 0xcd, 0x57, 0x37,
		},
		{
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00,
		},
		{
			0xd1, 0x20, 0x7c, 0x7b, 0x91, 0x4f, 0x5e, 0x87, 0x3e,
			0xa0, 0xcf, 0x6f, 0x06, 0xdb, 0xd0, 0x2d, 0x59, 0x49,
			0x4f, 0x6c, 0x8d, 0x4c, 0x9a, 0xef, 0x5a, 0xd1, 0x80,
			0xc9, 0xbb, 0xbe, 0xe2, 0x08,
		},
		{
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00,
		},
		{
			0xd3, 0xa7, 0xd7, 0x8c, 0xfe, 0x76, 0xff, 0x97, 0xbc,
			0x54, 0xf7, 0xf6, 0x94, 0xf7, 0x2f, 0x31, 0x24, 0x41,
			0xd8, 0x60, 0x8d, 0x3c, 0x15, 0x13, 0xfd, 0x28, 0xe9,
			0x47, 0x42, 0xcb, 0x19, 0x68, 0x3a, 0x02, 0x70, 0x83,
			0x9b, 0x02, 0x6c, 0xee, 0x52, 0xe4, 0x92, 0x4d, 0xee,
			0x99, 0x9e, 0xe8, 0xcd, 0x7d, 0xd0, 0x1e, 0xa4, 0x45,
			0xcf, 0x91, 0x00, 0x87, 0x98, 0xb8, 0xed, 0x64, 0xc8,
			0x45, 0x8d, 0x86, 0x78, 0xc3, 0x44, 0xd4, 0xe3, 0xfe,
			0x32, 0x01, 0xc1, 0xaf, 0x2f, 0xae, 0x3b, 0xea, 0x82,
			0xea, 0x3a, 0xf0, 0xcd, 0xac, 0x8e, 0x77, 0xb5, 0xe4,
			0xd7, 0xc2, 0xb0, 0x84, 0xe4, 0x16, 0xe5, 0x32, 0x23,
			0x66, 0xad, 0x13, 0xe3, 0x6b, 0x45, 0x5f, 0x04, 0x7b,
			0xa4, 0x64, 0xcf, 0xf2, 0x87, 0xaf, 0x37, 0x22, 0x97,
			0xc6, 0x8b, 0x51, 0xaa, 0x47, 0x01, 0x90, 0x19, 0x43,
			0xaa, 0xc8,
		}
	};

	TC_PRINT(".");
	result = do_hmac_prng_pr_false_test(75, &vec);

	return result;
}

unsigned int test_76(void)
{
	unsigned int result = TC_PASS;
	const struct hmac_prng_test_vector vec = {
		32,
		16,
		32,
		0,
		128,
		{
			0x63, 0x3d, 0x32, 0xe3, 0x00, 0x5f, 0x78, 0x11, 0x47,
			0x23, 0xb3, 0xea, 0x5a, 0xc1, 0x21, 0xba, 0x74, 0xaa,
			0x00, 0xc5, 0x2d, 0x93, 0x96, 0x67, 0xe3, 0x0c, 0x33,
			0x51, 0xb3, 0x85, 0x49, 0xf7,
		},
		{
			0x37, 0xaf, 0xff, 0x50, 0x4a, 0x2d, 0x8a, 0xc1, 0x68,
			0xc6, 0x8e, 0x24, 0xd0, 0xfe, 0x66, 0xf6,
		},
		{
			0x9f, 0x16, 0x99, 0xc9, 0x9d, 0x60, 0xb0, 0x85, 0xbc,
			0x61, 0xcb, 0x11, 0x0e, 0xf8, 0xab, 0x59, 0x0d, 0x82,
			0xa9, 0x70, 0x02, 0x1c, 0x3c, 0x6a, 0x5d, 0x48, 0x02,
			0x1c, 0x45, 0xde, 0x49, 0x56,
		},
		{
			0x3e, 0x33, 0x47, 0xc5, 0x47, 0xf1, 0x7f, 0x4d, 0x0b,
			0x9f, 0x46, 0x40, 0x5a, 0x54, 0xee, 0xdd, 0x7e, 0x98,
			0x0d, 0x06, 0xa2, 0x15, 0xec, 0x15, 0xe8, 0x93, 0x16,
			0xab, 0x74, 0x3b, 0x75, 0x47,
		},
		{
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00,
		},
		{
			0x6e, 0x38, 0xe8, 0x29, 0x62, 0xd7, 0x07, 0xce, 0x9a,
			0x6a, 0xc3, 0x83, 0xa7, 0x38, 0xa7, 0x48, 0xf9, 0x75,
			0xeb, 0x78, 0x56, 0x11, 0xfa, 0xd5, 0xe3, 0xf5, 0xa4,
			0xfe, 0x44, 0xd7, 0xb5, 0x9a, 0x98, 0x13, 0x7a, 0x2b,
			0xcd, 0xc3, 0x5f, 0x9e, 0xe9, 0xa1, 0xe2, 0x1b, 0xb1,
			0x7d, 0xf1, 0x66, 0x5c, 0xd1, 0x39, 0x76, 0x25, 0xa1,
			0x77, 0x24, 0x7e, 0x2e, 0x32, 0x9a, 0x66, 0x01, 0x40,
			0x63, 0x61, 0x41, 0x56, 0x06, 0x10, 0xa3, 0x68, 0xbf,
			0xd4, 0x99, 0xc2, 0xe2, 0x5b, 0xe3, 0x18, 0xaa, 0x4d,
			0xa9, 0xe7, 0xa3, 0x52, 0xd1, 0x15, 0xdb, 0x82, 0x82,
			0xed, 0x8d, 0x79, 0xec, 0xf9, 0xcd, 0x82, 0x03, 0x60,
			0xd3, 0xd2, 0xd1, 0xa5, 0x8a, 0x93, 0xe0, 0x40, 0xf5,
			0x55, 0x48, 0x87, 0xce, 0x6c, 0x98, 0x58, 0xbc, 0x2b,
			0xb1, 0x02, 0x24, 0x99, 0x80, 0xa8, 0x58, 0x49, 0x8a,
			0xbc, 0xda,
		}
	};

	TC_PRINT(".");
	result = do_hmac_prng_pr_false_test(76, &vec);

	return result;
}

unsigned int test_77(void)
{
	unsigned int result = TC_PASS;
	const struct hmac_prng_test_vector vec = {
		32,
		16,
		32,
		0,
		128,
		{
			0xcb, 0x20, 0x15, 0x2e, 0x99, 0xd8, 0xca, 0x5e, 0x80,
			0x95, 0xa1, 0x3e, 0x72, 0xe0, 0xc1, 0xbb, 0x9e, 0x6c,
			0xbe, 0xad, 0xbd, 0x0b, 0xf4, 0xe7, 0x0f, 0xc6, 0xfa,
			0x3c, 0x81, 0xec, 0x5d, 0x0f,
		},
		{
			0x0a, 0x55, 0xd4, 0x33, 0xd3, 0x74, 0x4a, 0x2f, 0x38,
			0x19, 0x39, 0xbe, 0x85, 0xc9, 0x7a, 0x98,
		},
		{
			0xb5, 0xbd, 0x74, 0x29, 0x59, 0x1e, 0x5e, 0x29, 0x14,
			0x53, 0x2a, 0x7d, 0xea, 0x75, 0xff, 0x76, 0xca, 0xa3,
			0x9f, 0x15, 0x27, 0x9c, 0x73, 0x09, 0x2c, 0x2c, 0xac,
			0x3b, 0x0d, 0x28, 0xc1, 0x3b,
		},
		{
			0xd0, 0x8c, 0xa9, 0x6d, 0x74, 0x5f, 0x7e, 0x3a, 0x9f,
			0x2a, 0xcb, 0xc1, 0xe8, 0x00, 0xa9, 0x81, 0x95, 0x52,
			0x2a, 0x4f, 0x7c, 0x60, 0x7a, 0xad, 0x62, 0xf3, 0x8b,
			0x1f, 0x63, 0x35, 0x4b, 0xd1,
		},
		{
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00,
		},
		{
			0x03, 0xe8, 0xcd, 0x60, 0x76, 0x82, 0x62, 0xcf, 0x4c,
			0xc2, 0xf2, 0x95, 0x50, 0x6c, 0x24, 0xf0, 0x6f, 0xb3,
			0xfd, 0x3a, 0x88, 0x9c, 0x71, 0x52, 0x14, 0x51, 0xdf,
			0x6f, 0x2e, 0xfa, 0x07, 0x47, 0xff, 0xb8, 0x75, 0x78,
			0xb7, 0x1b, 0xcf, 0xc3, 0x7d, 0x3a, 0x43, 0xf8, 0x5a,
			0xb4, 0xe5, 0xfc, 0x02, 0xd2, 0x1a, 0x90, 0xe8, 0x5a,
			0xf1, 0x8d, 0x6d, 0x75, 0xe9, 0xfa, 0x95, 0xf7, 0xf9,
			0x29, 0x42, 0xa2, 0x93, 0xda, 0x5d, 0x31, 0xa6, 0xb7,
			0x77, 0xf1, 0x10, 0xff, 0x86, 0x27, 0x91, 0x42, 0x8b,
			0xa0, 0x1b, 0x3c, 0x1b, 0x2f, 0xb4, 0xb2, 0x36, 0x63,
			0x18, 0xd2, 0x44, 0xa9, 0x1e, 0xc1, 0x30, 0xf4, 0xc0,
			0xbd, 0xb8, 0xc4, 0x0c, 0xb7, 0xa6, 0x23, 0xe5, 0xed,
			0x02, 0x0b, 0xb3, 0x05, 0xa3, 0x8b, 0x13, 0x47, 0x12,
			0x15, 0x1b, 0x48, 0x91, 0xda, 0x7f, 0xfb, 0x06, 0x91,
			0x2f, 0x4b,
		}
	};

	TC_PRINT(".");
	result = do_hmac_prng_pr_false_test(77, &vec);

	return result;
}

unsigned int test_78(void)
{
	unsigned int result = TC_PASS;
	const struct hmac_prng_test_vector vec = {
		32,
		16,
		32,
		0,
		128,
		{
			0xbd, 0xcb, 0xcf, 0x6d, 0x34, 0x75, 0xac, 0x89, 0x03,
			0xdd, 0x32, 0xcb, 0x12, 0x54, 0x36, 0xa6, 0xf4, 0xce,
			0x74, 0x64, 0x49, 0x60, 0x43, 0xa1, 0x80, 0xb2, 0x60,
			0xd2, 0xa0, 0x0e, 0xed, 0xa1,
		},
		{
			0x4e, 0x63, 0xef, 0x1d, 0xd0, 0x4d, 0x3e, 0x6c, 0xa8,
			0xa8, 0x09, 0x9d, 0x7e, 0x3d, 0xa0, 0x95,
		},
		{
			0xe0, 0xb7, 0x81, 0x6c, 0xae, 0x86, 0x74, 0xb8, 0x73,
			0x08, 0x54, 0x1f, 0xdd, 0x65, 0xc0, 0xf8, 0x11, 0xb7,
			0x80, 0x8f, 0x3f, 0x2f, 0xc1, 0x5f, 0x57, 0x7d, 0x64,
			0x74, 0x8e, 0xe3, 0x6d, 0x4b,
		},
		{
			0x04, 0x1d, 0x73, 0x1b, 0x34, 0x97, 0xb4, 0x19, 0x09,
			0xde, 0xec, 0xaf, 0xff, 0x8b, 0x71, 0x16, 0x08, 0x5d,
			0x8e, 0xf2, 0x8c, 0x32, 0xf4, 0x23, 0x3f, 0x6c, 0x66,
			0x0e, 0x77, 0xa9, 0x9b, 0xb6,
		},
		{
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00,
		},
		{
			0xd1, 0x0f, 0x8e, 0x09, 0xba, 0x93, 0x52, 0x69, 0xd8,
			0xc3, 0x87, 0x62, 0xad, 0xca, 0xf2, 0x83, 0x08, 0xd2,
			0x5d, 0xce, 0xcc, 0x19, 0xff, 0xdb, 0xf7, 0x93, 0xa9,
			0xc6, 0x75, 0x85, 0xcb, 0x79, 0x1d, 0xf6, 0x5a, 0x24,
			0xda, 0x8b, 0xa2, 0xb7, 0x79, 0x41, 0xf7, 0x01, 0xde,
			0x86, 0x3b, 0xe3, 0xd6, 0xf3, 0xc9, 0xd1, 0x3f, 0x44,
			0x45, 0x97, 0x19, 0x38, 0x7b, 0x51, 0x36, 0x53, 0x46,
			0x63, 0x86, 0x2b, 0x70, 0xc7, 0xdc, 0xf9, 0x91, 0x31,
			0xde, 0x59, 0x25, 0x30, 0xb3, 0xce, 0xdc, 0x61, 0x68,
			0x98, 0xd3, 0x65, 0x6e, 0x20, 0x64, 0xd8, 0x79, 0x14,
			0x9d, 0xb2, 0x54, 0xd2, 0x6e, 0x72, 0xc5, 0x46, 0x6a,
			0xd5, 0x5b, 0x1a, 0xc6, 0xfe, 0x52, 0x43, 0x86, 0xa0,
			0x99, 0xaa, 0x64, 0x2a, 0xd0, 0x96, 0xa0, 0x93, 0x3f,
			0x92, 0xdb, 0x03, 0xe9, 0x41, 0x70, 0xe0, 0x5d, 0xa5,
			0x00, 0xe5,
		}
	};

	TC_PRINT(".");
	result = do_hmac_prng_pr_false_test(78, &vec);

	return result;
}

unsigned int test_79(void)
{
	unsigned int result = TC_PASS;
	const struct hmac_prng_test_vector vec = {
		32,
		16,
		32,
		0,
		128,
		{
			0x0c, 0xf0, 0x73, 0x1c, 0x47, 0xca, 0x73, 0xe8, 0xc4,
			0x29, 0x42, 0xcc, 0x61, 0xf9, 0x98, 0xf5, 0x34, 0x2e,
			0x31, 0x8c, 0xb8, 0xed, 0x3b, 0x18, 0x69, 0x02, 0x0e,
			0x3d, 0xab, 0x1e, 0x12, 0x67,
		},
		{
			0x60, 0x4c, 0x64, 0x15, 0x4f, 0x91, 0x4e, 0xd0, 0xcf,
			0x63, 0xc8, 0x61, 0x65, 0x3b, 0x78, 0xd4,
		},
		{
			0x30, 0x50, 0xb2, 0xdf, 0x2f, 0x59, 0x76, 0x3e, 0x44,
			0x3c, 0xaa, 0x92, 0x5a, 0x54, 0xde, 0x1e, 0x5c, 0xed,
			0x87, 0x59, 0xb5, 0x54, 0xb5, 0xf0, 0xf6, 0x8c, 0xb0,
			0x1b, 0x41, 0x50, 0xf9, 0x99,
		},
		{
			0xed, 0xa0, 0x82, 0xed, 0xfa, 0xf4, 0xf9, 0x76, 0x6d,
			0xe2, 0x9a, 0xe2, 0xcb, 0x93, 0x0f, 0xb1, 0xbc, 0x26,
			0xbd, 0xe6, 0xd1, 0x8a, 0xb1, 0x6f, 0x66, 0xfb, 0xf4,
			0xb0, 0x6d, 0x3e, 0x74, 0x80,
		},
		{
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00,
		},
		{
			0x39, 0xb3, 0xf4, 0x7c, 0x02, 0x4b, 0xc8, 0x4a, 0xad,
			0x80, 0x91, 0x13, 0x6d, 0x34, 0x1e, 0xba, 0x3a, 0x89,
			0xd0, 0x65, 0x77, 0xaa, 0x4f, 0xd3, 0xd2, 0x4f, 0x8b,
			0x7a, 0x5b, 0xe4, 0x28, 0x0f, 0xdf, 0x62, 0x35, 0x34,
			0x90, 0xd5, 0xf6, 0x6c, 0x1a, 0x7d, 0x57, 0xcf, 0x19,
			0x8a, 0x63, 0x37, 0x56, 0xc0, 0x90, 0x71, 0x86, 0xa7,
			0x1a, 0x4f, 0xea, 0x41, 0xc3, 0xfa, 0x42, 0xef, 0xee,
			0xfb, 0x0a, 0xc2, 0x85, 0xea, 0x85, 0x87, 0xf1, 0xa8,
			0xd8, 0xfb, 0xb7, 0x83, 0xae, 0x62, 0x7c, 0x1e, 0x85,
			0x8f, 0xfb, 0xe0, 0x51, 0xd6, 0xb7, 0xa2, 0xa5, 0x18,
			0xa2, 0x4e, 0x71, 0xd5, 0x54, 0xe8, 0xa0, 0xda, 0x3d,
			0x54, 0xbc, 0x69, 0xe4, 0xca, 0x94, 0x0b, 0x7c, 0xa3,
			0x20, 0xc4, 0xbc, 0x44, 0xdf, 0x1e, 0x47, 0x6e, 0x05,
			0xe4, 0x89, 0xa2, 0xc6, 0x68, 0x70, 0x2b, 0x0b, 0xb8,
			0x91, 0x3d,
		}
	};

	TC_PRINT(".");
	result = do_hmac_prng_pr_false_test(79, &vec);

	return result;
}

unsigned int test_80(void)
{
	unsigned int result = TC_PASS;
	const struct hmac_prng_test_vector vec = {
		32,
		16,
		32,
		0,
		128,
		{
			0x97, 0x15, 0x5a, 0x62, 0x4e, 0xe4, 0x2b, 0x97, 0x4c,
			0x4b, 0xc9, 0xe0, 0xb9, 0xa7, 0x37, 0xeb, 0x79, 0x0c,
			0xde, 0x2f, 0x0a, 0x93, 0xf8, 0xef, 0x2c, 0x6f, 0xe7,
			0x20, 0x15, 0xc5, 0x27, 0x6b,
		},
		{
			0x44, 0x4d, 0xf2, 0xbe, 0xae, 0x4a, 0xe6, 0xe9, 0xa6,
			0x40, 0x41, 0x6f, 0xc3, 0x94, 0x8d, 0xde,
		},
		{
			0x62, 0x5c, 0x7e, 0xf0, 0xfa, 0x30, 0xe0, 0xcb, 0x5c,
			0x28, 0xff, 0x3a, 0x23, 0x96, 0x63, 0x93, 0x24, 0x29,
			0x2b, 0x20, 0x06, 0x9e, 0xcb, 0x1c, 0x01, 0x63, 0xd9,
			0x66, 0xf2, 0x52, 0x0e, 0x61,
		},
		{
			0x40, 0x1b, 0x91, 0xbb, 0xd7, 0x26, 0xeb, 0x24, 0xeb,
			0x19, 0xb4, 0xf3, 0x62, 0x88, 0x19, 0x2a, 0xe0, 0x71,
			0x35, 0x91, 0x7d, 0xec, 0x75, 0xb7, 0xf7, 0x75, 0x81,
			0x77, 0x76, 0x72, 0x98, 0xb7,
		},
		{
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00,
		},
		{
			0x8b, 0x1c, 0x56, 0xcd, 0x41, 0x5d, 0xdf, 0x12, 0x3b,
			0xc5, 0xbb, 0x32, 0x7f, 0x0e, 0xc4, 0xcf, 0x53, 0xa6,
			0x49, 0x83, 0x1d, 0x7c, 0x09, 0x20, 0xe7, 0x42, 0x03,
			0x3c, 0xe1, 0x83, 0xa4, 0x42, 0x3c, 0x4b, 0x16, 0x2e,
			0xac, 0xa3, 0x15, 0x7c, 0xb1, 0x94, 0xdc, 0xe0, 0x6a,
			0x54, 0x3b, 0xf1, 0x55, 0x16, 0x4c, 0x70, 0x41, 0x75,
			0x0f, 0xb3, 0xaf, 0xc7, 0x78, 0x92, 0xbd, 0x7b, 0x45,
			0x2a, 0x20, 0xb6, 0x48, 0x90, 0x18, 0xe5, 0x36, 0x9f,
			0xce, 0x4e, 0x7e, 0xb7, 0x93, 0x54, 0xea, 0x8a, 0x03,
			0x38, 0x80, 0xa6, 0xdb, 0x0a, 0x79, 0xee, 0x0c, 0x1c,
			0xa1, 0x5d, 0x80, 0x75, 0x12, 0x31, 0x2c, 0x3f, 0x2d,
			0x82, 0xbd, 0xf0, 0x06, 0x83, 0x64, 0xcc, 0x3e, 0xae,
			0x76, 0x3b, 0xe2, 0x4e, 0xdb, 0x39, 0x35, 0x6d, 0xc1,
			0xa6, 0xd1, 0xc5, 0xeb, 0x09, 0x3c, 0xde, 0x4b, 0xf9,
			0xa5, 0x89,
		}
	};

	TC_PRINT(".");
	result = do_hmac_prng_pr_false_test(80, &vec);

	return result;
}

unsigned int test_81(void)
{
	unsigned int result = TC_PASS;
	const struct hmac_prng_test_vector vec = {
		32,
		16,
		32,
		0,
		128,
		{
			0x88, 0xe9, 0xbc, 0x0e, 0x56, 0xbb, 0xbf, 0xe8, 0xc0,
			0x7f, 0x31, 0x1b, 0x95, 0x5d, 0x2b, 0x87, 0x7f, 0xe7,
			0x04, 0x7f, 0x3f, 0x85, 0xac, 0x83, 0xf9, 0xda, 0x68,
			0xac, 0x2a, 0xbe, 0x36, 0xe2,
		},
		{
			0x2c, 0xf7, 0x59, 0x3a, 0x98, 0x12, 0x25, 0x25, 0xc2,
			0x81, 0xd3, 0xce, 0xc1, 0xe2, 0xb9, 0x4c,
		},
		{
			0x0d, 0x28, 0x96, 0x1b, 0x6a, 0xba, 0xd3, 0x01, 0x91,
			0xb2, 0x14, 0x70, 0xba, 0x1e, 0xe0, 0x0d, 0xa1, 0x70,
			0x37, 0x90, 0xdd, 0x8a, 0x15, 0x53, 0x73, 0x97, 0xc7,
			0x3e, 0x80, 0xeb, 0x7f, 0xbc,
		},
		{
			0xe3, 0x28, 0x52, 0xb8, 0x1c, 0x80, 0xf3, 0x7d, 0x79,
			0xcf, 0xfd, 0x3c, 0xae, 0x78, 0x59, 0x10, 0xe7, 0x92,
			0x32, 0x81, 0x3d, 0x17, 0x4a, 0x2d, 0x14, 0xf0, 0xbf,
			0x27, 0x5f, 0x31, 0x29, 0x4b,
		},
		{
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00,
		},
		{
			0x4a, 0x6b, 0x13, 0xbd, 0xe6, 0xcb, 0xf8, 0x66, 0xd1,
			0xb6, 0x09, 0x42, 0x48, 0x8c, 0xef, 0x40, 0x86, 0x36,
			0x7f, 0xd4, 0xe2, 0x44, 0x5f, 0x73, 0xed, 0xef, 0x03,
			0x28, 0xf6, 0x94, 0x1d, 0x40, 0x84, 0xa4, 0x46, 0x98,
			0x62, 0x81, 0x2f, 0xf6, 0xe4, 0xd9, 0xe4, 0x19, 0x2e,
			0x29, 0xd5, 0x9d, 0x56, 0x2e, 0x5d, 0xaf, 0xa0, 0xae,
			0x10, 0x94, 0x4f, 0x8b, 0x62, 0xad, 0x15, 0xa8, 0xf4,
			0x83, 0xd6, 0xd1, 0x0e, 0xed, 0x6c, 0x4f, 0xe4, 0x26,
			0x45, 0x58, 0x7b, 0x61, 0x25, 0xd8, 0x63, 0x65, 0x37,
			0x10, 0xbd, 0x6a, 0x21, 0x27, 0x7a, 0xe4, 0x49, 0xb7,
			0xd2, 0xa9, 0x79, 0x78, 0x29, 0x74, 0xa7, 0x31, 0xda,
			0x60, 0x1b, 0x29, 0xbc, 0x8e, 0x31, 0xfa, 0x12, 0x1b,
			0x8b, 0x7e, 0x95, 0xd1, 0xeb, 0x30, 0xa7, 0x5b, 0x3d,
			0x4f, 0xb2, 0x13, 0x1e, 0x17, 0xfd, 0xea, 0xa0, 0x39,
			0x5e, 0xa6,
		}
	};

	TC_PRINT(".");
	result = do_hmac_prng_pr_false_test(81, &vec);

	return result;
}

unsigned int test_82(void)
{
	unsigned int result = TC_PASS;
	const struct hmac_prng_test_vector vec = {
		32,
		16,
		32,
		0,
		128,
		{
			0xdf, 0x81, 0x88, 0xfe, 0x2b, 0x7b, 0xc5, 0xed, 0x26,
			0xf7, 0x47, 0xc9, 0x3e, 0xd4, 0x80, 0x24, 0xe3, 0xed,
			0x62, 0x75, 0x30, 0x10, 0x7d, 0x94, 0x90, 0x6b, 0xb2,
			0xde, 0xbd, 0x4f, 0xb9, 0x2b,
		},
		{
			0x0d, 0xd7, 0x50, 0xc7, 0x4f, 0x83, 0x63, 0xc1, 0x4c,
			0x17, 0x2b, 0x40, 0x98, 0xf5, 0x20, 0x58,
		},
		{
			0x8a, 0x9b, 0xa6, 0xbd, 0xb3, 0x05, 0x9e, 0xc8, 0x8b,
			0xb2, 0x9e, 0x1c, 0x51, 0x60, 0x51, 0xf8, 0xf9, 0x58,
			0xb3, 0xc7, 0x75, 0x1f, 0xb3, 0x7a, 0x61, 0x6e, 0x9d,
			0x4a, 0x6c, 0xf1, 0x7a, 0x79,
		},
		{
			0x1b, 0x21, 0x45, 0xc0, 0xeb, 0x75, 0x77, 0x50, 0x30,
			0xd1, 0x68, 0x1c, 0x84, 0x8b, 0x92, 0x49, 0xda, 0xcb,
			0x81, 0x37, 0xa3, 0xa0, 0xfe, 0x26, 0x54, 0x4d, 0x17,
			0xa2, 0x37, 0x4a, 0x51, 0x82,
		},
		{
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00,
		},
		{
			0xb9, 0x25, 0xc2, 0x7c, 0x1b, 0x2a, 0x82, 0xe6, 0x96,
			0x9a, 0x90, 0xfe, 0x4e, 0x4b, 0x6f, 0x27, 0xc3, 0x69,
			0xe8, 0x2b, 0x4b, 0x03, 0x47, 0x9a, 0x9a, 0x15, 0x2a,
			0xca, 0x12, 0x88, 0xb2, 0x62, 0x42, 0x0f, 0xaa, 0x6c,
			0x62, 0xda, 0x1f, 0x22, 0x5d, 0xc7, 0xf3, 0x12, 0x5d,
			0x42, 0x88, 0x58, 0x50, 0x78, 0x8b, 0x26, 0x44, 0x10,
			0xc8, 0x14, 0x9e, 0xab, 0xf6, 0xba, 0x16, 0x4c, 0x17,
			0x32, 0xa2, 0xb6, 0x0b, 0x77, 0xa5, 0x25, 0xec, 0x74,
			0x5b, 0xac, 0x6e, 0xda, 0x51, 0xec, 0x7d, 0x88, 0xd1,
			0x1b, 0x40, 0xc2, 0xe1, 0x28, 0x54, 0xd3, 0x92, 0xe7,
			0xc6, 0xaf, 0x2f, 0xff, 0x7a, 0xaf, 0x15, 0x44, 0xab,
			0x30, 0x6a, 0xc3, 0x1b, 0x6d, 0x97, 0x1b, 0x70, 0xa8,
			0x2a, 0x67, 0x2c, 0x81, 0xe9, 0x28, 0x20, 0x4d, 0x04,
			0x96, 0x0e, 0xbf, 0xf5, 0xbf, 0x5e, 0x38, 0xaa, 0x89,
			0x7f, 0x23,
		}
	};

	TC_PRINT(".");
	result = do_hmac_prng_pr_false_test(82, &vec);

	return result;
}

unsigned int test_83(void)
{
	unsigned int result = TC_PASS;
	const struct hmac_prng_test_vector vec = {
		32,
		16,
		32,
		0,
		128,
		{
			0x6a, 0xeb, 0x84, 0xcf, 0x5f, 0x72, 0x98, 0x2b, 0xf7,
			0xb1, 0xef, 0x4c, 0xa1, 0x6f, 0x8a, 0x27, 0x96, 0x5c,
			0x35, 0xb2, 0xa5, 0x55, 0x61, 0x94, 0x6c, 0x6d, 0x2c,
			0xf6, 0xa6, 0xf9, 0xe4, 0x1e,
		},
		{
			0x82, 0x76, 0x07, 0xb8, 0x06, 0xdf, 0x2c, 0x42, 0x37,
			0x41, 0x20, 0x9b, 0xed, 0x59, 0xb4, 0xeb,
		},
		{
			0xc2, 0x53, 0x73, 0xb6, 0x1d, 0x8d, 0x58, 0x2f, 0xc2,
			0x68, 0xcb, 0xd6, 0x49, 0x3a, 0x91, 0x61, 0xee, 0xbe,
			0xde, 0x96, 0xc4, 0x3b, 0x02, 0x95, 0x28, 0x1c, 0xc8,
			0xac, 0x47, 0x38, 0x24, 0xe7,
		},
		{
			0x57, 0x54, 0x81, 0x26, 0x38, 0x1e, 0xd8, 0x62, 0x67,
			0x05, 0xd3, 0x53, 0x71, 0x22, 0x80, 0x0c, 0x4c, 0xd9,
			0xef, 0x81, 0x32, 0x04, 0x4d, 0xfd, 0x0f, 0x8d, 0x27,
			0xd5, 0xeb, 0xce, 0x55, 0xd1,
		},
		{
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00,
		},
		{
			0xb2, 0x0c, 0x3a, 0xe8, 0x13, 0x3b, 0x87, 0x20, 0x49,
			0x8c, 0x17, 0xfc, 0xa0, 0xb9, 0xa2, 0xf7, 0x04, 0x57,
			0x26, 0xfd, 0xc1, 0x5e, 0x71, 0xa6, 0xd3, 0x9e, 0x18,
			0x95, 0x49, 0xb0, 0x2d, 0x39, 0x92, 0xa7, 0x4b, 0xfa,
			0x9d, 0x68, 0xec, 0xca, 0x5f, 0xf1, 0x71, 0x89, 0x0e,
			0xe5, 0xba, 0xfc, 0x4e, 0x59, 0xbf, 0xc6, 0x62, 0xfd,
			0xb2, 0x45, 0x8e, 0xf2, 0x44, 0xe5, 0x4e, 0x03, 0xfa,
			0x43, 0xa0, 0x61, 0x67, 0x97, 0xbd, 0xca, 0x83, 0xb6,
			0xef, 0x8f, 0x36, 0xda, 0xd2, 0x80, 0xc9, 0xdf, 0xb1,
			0xca, 0x56, 0xd3, 0xaa, 0x5e, 0x2d, 0xa3, 0x2a, 0xaf,
			0xe2, 0xf6, 0x89, 0xf5, 0x1a, 0x43, 0xc7, 0x54, 0x7d,
			0x24, 0xed, 0x94, 0xd0, 0x2a, 0x56, 0x7f, 0x78, 0x55,
			0xaa, 0xaf, 0xc8, 0xb6, 0x94, 0xea, 0x5f, 0x0b, 0xb5,
			0x60, 0x2f, 0x72, 0xda, 0xbf, 0x86, 0x56, 0xe7, 0x43,
			0x58, 0xb2,
		}
	};

	TC_PRINT(".");
	result = do_hmac_prng_pr_false_test(83, &vec);

	return result;
}

unsigned int test_84(void)
{
	unsigned int result = TC_PASS;
	const struct hmac_prng_test_vector vec = {
		32,
		16,
		32,
		0,
		128,
		{
			0x49, 0xce, 0xab, 0x47, 0xef, 0x95, 0x58, 0x5a, 0xaa,
			0xeb, 0x98, 0x06, 0x4c, 0x61, 0xe8, 0xa2, 0x89, 0xee,
			0xe5, 0x41, 0x2f, 0x4a, 0xf1, 0xfb, 0x6e, 0x48, 0xa1,
			0x23, 0x58, 0xf9, 0xcf, 0x67,
		},
		{
			0xd4, 0x8e, 0x4a, 0x8a, 0x61, 0x2c, 0xac, 0x57, 0xfe,
			0x7b, 0xc1, 0x78, 0x8c, 0x64, 0x83, 0x6b,
		},
		{
			0x62, 0x1e, 0x31, 0x3b, 0x13, 0x34, 0x80, 0xd5, 0xc4,
			0x71, 0xba, 0xe8, 0xda, 0x09, 0x7a, 0x03, 0x33, 0xb2,
			0xb2, 0xea, 0x23, 0xf8, 0x3c, 0x1b, 0x10, 0x28, 0x50,
			0xd4, 0x11, 0xd1, 0x51, 0x5c,
		},
		{
			0x84, 0x40, 0x7b, 0x20, 0xd0, 0xad, 0xc2, 0x2c, 0x07,
			0xbf, 0x24, 0x94, 0x08, 0x0a, 0xd2, 0x86, 0x93, 0x8b,
			0x21, 0x28, 0xf8, 0x24, 0xda, 0xe3, 0xe4, 0x4d, 0x3c,
			0x71, 0x81, 0x87, 0x02, 0xc0,
		},
		{
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00,
		},
		{
			0xdf, 0xb9, 0xcc, 0xd2, 0x74, 0x93, 0x63, 0xfd, 0x99,
			0x3d, 0xf5, 0xdb, 0x53, 0x82, 0x6d, 0xc3, 0x6a, 0xdf,
			0x4e, 0x04, 0x08, 0x78, 0xf6, 0x85, 0x15, 0x14, 0x46,
			0x6d, 0xd7, 0x21, 0x4b, 0xa7, 0x0d, 0x35, 0xf4, 0x74,
			0xb2, 0x2d, 0x5d, 0x18, 0x0d, 0x71, 0xf8, 0xca, 0x00,
			0x49, 0xfc, 0x90, 0x15, 0x6d, 0x6d, 0x79, 0x67, 0x08,
			0x28, 0x0c, 0xe1, 0xd2, 0x25, 0x18, 0x4b, 0x06, 0xdb,
			0xe3, 0xd7, 0x98, 0xb7, 0xb9, 0x02, 0x85, 0x62, 0xd2,
			0x22, 0xf1, 0x1e, 0xe8, 0xfe, 0xd9, 0xa9, 0x55, 0x87,
			0xa6, 0x53, 0x6e, 0x90, 0x7a, 0xde, 0xe3, 0x10, 0x2b,
			0x2f, 0x3d, 0x92, 0xdb, 0x24, 0x67, 0x37, 0xa9, 0xbc,
			0x71, 0xaa, 0xaa, 0x4f, 0x40, 0xcd, 0xa3, 0x3d, 0x33,
			0xa3, 0x37, 0x9d, 0x2e, 0x8b, 0xfe, 0xd1, 0x76, 0x0e,
			0xc1, 0x28, 0x01, 0xe7, 0x2a, 0x38, 0x4b, 0x74, 0x8f,
			0xfa, 0xf5,
		}
	};

	TC_PRINT(".");
	result = do_hmac_prng_pr_false_test(84, &vec);

	return result;
}

unsigned int test_85(void)
{
	unsigned int result = TC_PASS;
	const struct hmac_prng_test_vector vec = {
		32,
		16,
		32,
		0,
		128,
		{
			0xf3, 0x22, 0xb2, 0x58, 0xc6, 0x29, 0x51, 0xd3, 0x7b,
			0xa6, 0x80, 0xab, 0xc4, 0x9a, 0x61, 0x98, 0x3f, 0x3f,
			0xd8, 0x99, 0x73, 0x94, 0x0c, 0x1d, 0x4f, 0x07, 0x65,
			0xc9, 0x5d, 0x0d, 0x70, 0x78,
		},
		{
			0x0b, 0x79, 0xd5, 0xbe, 0xfe, 0x42, 0x85, 0xa7, 0x3e,
			0xa4, 0xb4, 0x8e, 0x2b, 0xa1, 0x85, 0xc1,
		},
		{
			0x05, 0x32, 0xbc, 0x7e, 0x99, 0x70, 0x90, 0x06, 0xaa,
			0x19, 0x1b, 0x37, 0x9a, 0xce, 0xfa, 0x16, 0x45, 0xc6,
			0x7d, 0x2f, 0x5b, 0x61, 0xf1, 0x3f, 0x36, 0xf8, 0x68,
			0xbc, 0xe4, 0x44, 0xa5, 0x29,
		},
		{
			0x2e, 0x4e, 0x16, 0x74, 0x8e, 0xbf, 0x36, 0x59, 0x02,
			0xd9, 0x10, 0xa0, 0x1d, 0x9c, 0xa2, 0x4a, 0xeb, 0x8e,
			0x3e, 0x54, 0x58, 0xed, 0xfd, 0x88, 0xf6, 0xb9, 0x09,
			0xc1, 0xff, 0xc7, 0x46, 0x8c,
		},
		{
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00,
		},
		{
			0x85, 0x5e, 0xe8, 0xe0, 0x06, 0x0c, 0xb8, 0xb4, 0xfc,
			0x56, 0x92, 0x07, 0x3f, 0x62, 0xcc, 0x3e, 0x19, 0xa1,
			0x9b, 0x89, 0xdf, 0x2d, 0xf9, 0x7c, 0x2a, 0x21, 0x87,
			0x9d, 0x74, 0x57, 0x1d, 0x33, 0x62, 0xec, 0xdd, 0x1a,
			0xd9, 0xe4, 0x64, 0x58, 0xe3, 0x5f, 0x5f, 0x35, 0x80,
			0xe7, 0x66, 0x06, 0x7e, 0x3d, 0x8f, 0x72, 0x58, 0xd8,
			0xee, 0xcb, 0x17, 0xa0, 0x75, 0xf7, 0xdc, 0x75, 0x23,
			0xa4, 0x78, 0xb5, 0xd1, 0x77, 0xf6, 0x73, 0x65, 0x9e,
			0x38, 0x87, 0x67, 0x0e, 0xdf, 0x6e, 0x8f, 0x0f, 0xf7,
			0x5e, 0x26, 0xd4, 0x1a, 0xdf, 0xee, 0x6a, 0xe2, 0x8f,
			0xbe, 0x5c, 0x2e, 0x24, 0x7e, 0x10, 0x36, 0x24, 0x1e,
			0x1f, 0x5b, 0xf3, 0x16, 0xfb, 0xd9, 0xad, 0xb3, 0xc1,
			0x59, 0x30, 0xe8, 0x42, 0x5a, 0xe7, 0x50, 0x24, 0xc2,
			0x77, 0x02, 0x99, 0x72, 0xf0, 0xd6, 0xc6, 0x45, 0xb4,
			0xa1, 0x17,
		}
	};

	TC_PRINT(".");
	result = do_hmac_prng_pr_false_test(85, &vec);

	return result;
}

unsigned int test_86(void)
{
	unsigned int result = TC_PASS;
	const struct hmac_prng_test_vector vec = {
		32,
		16,
		32,
		0,
		128,
		{
			0x33, 0xa6, 0x8b, 0xad, 0x0f, 0xa3, 0x44, 0xfd, 0x6a,
			0x46, 0xf7, 0x5f, 0x04, 0x28, 0xcb, 0xdf, 0x27, 0x11,
			0xd3, 0xf0, 0xc7, 0xef, 0x0f, 0x6a, 0x39, 0x50, 0x73,
			0xed, 0x70, 0x89, 0x7b, 0xaa,
		},
		{
			0x18, 0x92, 0x79, 0x9f, 0xeb, 0x41, 0x0b, 0x9d, 0xd6,
			0xe6, 0x9b, 0xf4, 0x40, 0x3e, 0xfc, 0x20,
		},
		{
			0x67, 0x7e, 0xcc, 0xd0, 0xc6, 0xe0, 0x1a, 0x26, 0x3f,
			0xc7, 0xd2, 0xe2, 0xc2, 0xd0, 0xc6, 0x29, 0x4a, 0x30,
			0x7b, 0xf3, 0xee, 0x1b, 0xa3, 0x53, 0x72, 0xc2, 0x16,
			0x6d, 0x04, 0x04, 0x29, 0x72,
		},
		{
			0xa6, 0x44, 0x7d, 0xdb, 0xfa, 0xf7, 0xea, 0x07, 0xe1,
			0x0a, 0x95, 0xdb, 0x1f, 0xae, 0x3e, 0xa8, 0x6d, 0x10,
			0x3c, 0xfc, 0xdd, 0xa5, 0x50, 0xf1, 0x10, 0x1b, 0x02,
			0xdd, 0xc5, 0xac, 0x46, 0x0c,
		},
		{
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00,
		},
		{
			0x22, 0x91, 0x43, 0x3d, 0xf6, 0xfa, 0x57, 0x25, 0x89,
			0xc3, 0xa6, 0x51, 0x3f, 0x38, 0x1a, 0xf4, 0x21, 0x27,
			0x87, 0x49, 0x9b, 0xad, 0x08, 0x64, 0xcb, 0x36, 0xd0,
			0xeb, 0xee, 0x3b, 0x56, 0xe3, 0x40, 0xab, 0x7b, 0xdb,
			0x9f, 0x3b, 0x0e, 0x0d, 0x61, 0xdb, 0xa6, 0xb0, 0x14,
			0x35, 0x77, 0x21, 0x08, 0xbd, 0x89, 0x21, 0xcf, 0xc0,
			0x0b, 0xeb, 0xd2, 0x07, 0x66, 0x94, 0x41, 0x84, 0x04,
			0x6a, 0x84, 0xf5, 0x6c, 0x43, 0x19, 0x69, 0x58, 0x80,
			0xd2, 0x43, 0x45, 0xac, 0xc6, 0x4f, 0x85, 0x79, 0xd3,
			0xca, 0x30, 0xc1, 0xf5, 0x4e, 0x41, 0x1c, 0xff, 0x51,
			0x5e, 0xd7, 0x2a, 0x8f, 0xca, 0xa5, 0xd2, 0xa1, 0x5f,
			0xc2, 0x52, 0x6d, 0x5d, 0x11, 0x6f, 0xa1, 0x78, 0x3f,
			0xff, 0x6d, 0x70, 0xd1, 0x56, 0xb6, 0xe3, 0x3b, 0xf3,
			0x1d, 0x21, 0x0d, 0x3e, 0xe7, 0x9c, 0x44, 0xb7, 0x3e,
			0xaa, 0x7e,
		}
	};

	TC_PRINT(".");
	result = do_hmac_prng_pr_false_test(86, &vec);

	return result;
}

unsigned int test_87(void)
{
	unsigned int result = TC_PASS;
	const struct hmac_prng_test_vector vec = {
		32,
		16,
		32,
		0,
		128,
		{
			0x31, 0x36, 0xf4, 0x42, 0xdd, 0x3c, 0xdc, 0x24, 0x95,
			0x38, 0xbd, 0x5f, 0x0e, 0xb3, 0x55, 0xc7, 0x67, 0x0a,
			0xdd, 0x64, 0x27, 0xd1, 0xe1, 0x80, 0x31, 0x7b, 0x7d,
			0x64, 0x96, 0x78, 0x0b, 0x83,
		},
		{
			0x83, 0x65, 0x57, 0x29, 0x4d, 0x84, 0x4f, 0x21, 0x80,
			0xd3, 0x7a, 0xc0, 0x57, 0xcb, 0xb8, 0x69,
		},
		{
			0x48, 0x34, 0xc6, 0x8e, 0x72, 0xe2, 0x5a, 0xce, 0xc7,
			0xce, 0x57, 0x7e, 0xfd, 0x4d, 0xc9, 0x74, 0x6b, 0x8a,
			0xbb, 0x89, 0xa4, 0x46, 0xad, 0x39, 0xdb, 0x70, 0x42,
			0xce, 0xb6, 0xda, 0x9c, 0xde,
		},
		{
			0xc6, 0x6a, 0x48, 0x65, 0xfb, 0x9b, 0x0f, 0x86, 0xf0,
			0x69, 0x6d, 0x4a, 0x2e, 0x1e, 0xa5, 0xf7, 0xa3, 0x93,
			0x15, 0x7d, 0x09, 0x69, 0x29, 0xdf, 0xf4, 0x5f, 0x64,
			0xe7, 0x45, 0xd0, 0x6a, 0x3c,
		},
		{
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00,
		},
		{
			0xed, 0xb8, 0x11, 0x68, 0x13, 0x0e, 0xc4, 0x33, 0x01,
			0x6e, 0x07, 0x42, 0x93, 0x74, 0x07, 0x31, 0x37, 0xe0,
			0xec, 0x1d, 0x14, 0x64, 0xe6, 0x3a, 0xd2, 0xdd, 0x24,
			0xbf, 0xe5, 0xcb, 0x76, 0x3a, 0xa8, 0x79, 0x3d, 0x8f,
			0xb3, 0x2e, 0xb2, 0xc7, 0x0e, 0xb6, 0x70, 0x53, 0x7f,
			0xce, 0x9f, 0x7e, 0x53, 0xc4, 0x2d, 0x4b, 0xd8, 0x5d,
			0xbe, 0x0b, 0x2f, 0x50, 0xf4, 0x40, 0xcb, 0x13, 0x2c,
			0xe6, 0xcc, 0x46, 0xfa, 0xe1, 0x08, 0x69, 0xda, 0x2a,
			0xe6, 0xab, 0x8c, 0x10, 0xc3, 0xa1, 0xff, 0x2e, 0x45,
			0x29, 0xe4, 0x6c, 0x8f, 0x84, 0x3e, 0x0c, 0xf9, 0x31,
			0xb7, 0x70, 0xec, 0xf0, 0xd0, 0x63, 0x9f, 0x1a, 0x5d,
			0x93, 0x94, 0x29, 0x96, 0x01, 0x71, 0x4c, 0xdd, 0xab,
			0xea, 0x3d, 0x00, 0x4d, 0x24, 0xda, 0x00, 0x56, 0x66,
			0x51, 0x48, 0x48, 0xd2, 0xfe, 0x0a, 0x1c, 0x07, 0xc7,
			0x8f, 0x11,
		}
	};

	TC_PRINT(".");
	result = do_hmac_prng_pr_false_test(87, &vec);

	return result;
}

unsigned int test_88(void)
{
	unsigned int result = TC_PASS;
	const struct hmac_prng_test_vector vec = {
		32,
		16,
		32,
		0,
		128,
		{
			0x2e, 0x9b, 0xeb, 0x64, 0xfb, 0x0f, 0xd6, 0xfe, 0xa5,
			0x9b, 0x58, 0x73, 0xdc, 0x0a, 0x94, 0x6e, 0x8a, 0xf6,
			0x8a, 0xfb, 0xf8, 0xf1, 0x63, 0x58, 0x12, 0x4b, 0x4a,
			0x56, 0x79, 0xa1, 0xa8, 0xdb,
		},
		{
			0x05, 0xfa, 0xc5, 0x86, 0xd8, 0x8f, 0x7d, 0xdd, 0x6f,
			0xd8, 0x49, 0xe5, 0xbd, 0x93, 0x32, 0xe1,
		},
		{
			0x81, 0xa6, 0x57, 0xd8, 0x96, 0xe2, 0x94, 0xdb, 0x49,
			0x77, 0xb5, 0x26, 0x53, 0xb8, 0xea, 0x29, 0xc8, 0x9e,
			0xb2, 0xcd, 0xfd, 0xd9, 0x95, 0x67, 0x6c, 0x81, 0x35,
			0xba, 0x6e, 0x8d, 0xd3, 0x1f,
		},
		{
			0x0c, 0xc8, 0x1f, 0x75, 0x7d, 0x01, 0x42, 0x73, 0x66,
			0xbb, 0x76, 0x4b, 0x40, 0x37, 0x8c, 0x10, 0x24, 0xcf,
			0x88, 0x13, 0x6b, 0xcc, 0x36, 0x24, 0x3c, 0xdf, 0x11,
			0x1c, 0x28, 0xd9, 0x76, 0xf8,
		},
		{
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00,
		},
		{
			0xde, 0x24, 0x72, 0x30, 0xbc, 0x5e, 0x80, 0x5a, 0x67,
			0x88, 0xa4, 0xce, 0x2b, 0xdd, 0x42, 0x87, 0x04, 0xc0,
			0x76, 0x68, 0x63, 0x1f, 0x85, 0x91, 0x78, 0x12, 0xcb,
			0x04, 0xef, 0x3b, 0x76, 0x92, 0xe7, 0x26, 0x3a, 0x43,
			0x3a, 0x66, 0xcb, 0x78, 0x50, 0x4a, 0xdb, 0x04, 0xf5,
			0xb6, 0x03, 0x95, 0x68, 0x47, 0x83, 0xf4, 0x1a, 0x3c,
			0x93, 0x7a, 0xd0, 0xe1, 0x0c, 0xb6, 0x9c, 0x4e, 0x80,
			0x95, 0x47, 0x7f, 0xf4, 0x37, 0x8b, 0x8a, 0x3a, 0xe0,
			0x6c, 0x9a, 0x03, 0xe9, 0x85, 0xbf, 0x14, 0xb9, 0x99,
			0xd2, 0x76, 0xa4, 0x5c, 0x27, 0x76, 0x2b, 0x4c, 0x09,
			0xc5, 0x38, 0x72, 0xfe, 0xfc, 0xff, 0xf0, 0x34, 0x96,
			0xc1, 0xc8, 0x83, 0x3d, 0xaa, 0x4b, 0xb6, 0x09, 0x28,
			0xb4, 0x4a, 0x6c, 0x63, 0xaa, 0x44, 0x04, 0x03, 0x51,
			0x53, 0x65, 0x90, 0x7e, 0xd4, 0xd6, 0xcc, 0x87, 0x87,
			0xb8, 0x92,
		}
	};

	TC_PRINT(".");
	result = do_hmac_prng_pr_false_test(88, &vec);

	return result;
}

unsigned int test_89(void)
{
	unsigned int result = TC_PASS;
	const struct hmac_prng_test_vector vec = {
		32,
		16,
		32,
		0,
		128,
		{
			0x51, 0x15, 0xf6, 0x8f, 0xf0, 0x85, 0x32, 0xab, 0xc3,
			0x07, 0x7b, 0x0a, 0x49, 0xf9, 0xeb, 0x9c, 0x29, 0x02,
			0xfa, 0xb5, 0x23, 0x43, 0x9f, 0xb6, 0x89, 0x15, 0x7f,
			0xf9, 0xf0, 0x39, 0x97, 0xaf,
		},
		{
			0x41, 0xdf, 0x1a, 0xc0, 0x1f, 0x8c, 0xa0, 0x29, 0xff,
			0xf6, 0x03, 0x4d, 0x57, 0xd0, 0x93, 0xd0,
		},
		{
			0x1e, 0x92, 0xf8, 0xea, 0xb8, 0x16, 0x68, 0x25, 0x91,
			0x5a, 0x56, 0xbb, 0xb0, 0x0c, 0x4b, 0x25, 0x77, 0xcd,
			0xc9, 0x9c, 0x36, 0x12, 0x62, 0x69, 0xfc, 0xfe, 0xd6,
			0x82, 0xb1, 0x2b, 0x06, 0xed,
		},
		{
			0x0b, 0x24, 0x5e, 0x6e, 0x6e, 0xd2, 0x3e, 0x17, 0x1a,
			0x02, 0xd5, 0x2f, 0x1f, 0x1a, 0x52, 0x0e, 0xd5, 0x0d,
			0x67, 0xae, 0xdc, 0xf9, 0x99, 0xa9, 0x06, 0x3e, 0xae,
			0x51, 0xb3, 0xb3, 0x3e, 0x08,
		},
		{
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00,
		},
		{
			0x5b, 0x1e, 0xde, 0x46, 0xc5, 0x8a, 0x3d, 0x79, 0xcf,
			0x63, 0x05, 0xae, 0x59, 0xfc, 0xde, 0xdd, 0x1f, 0x88,
			0xf1, 0xfe, 0x35, 0x14, 0xf6, 0xb8, 0x16, 0x67, 0xeb,
			0x65, 0x91, 0x72, 0xa1, 0x20, 0xb7, 0x0d, 0x12, 0x8d,
			0x23, 0xcd, 0xcf, 0x2a, 0xdd, 0xb9, 0xb9, 0x7c, 0xda,
			0x13, 0x7a, 0xe3, 0x02, 0xbc, 0x99, 0x3e, 0x9e, 0x40,
			0x5b, 0x50, 0x85, 0xd8, 0xa0, 0xdf, 0x2e, 0x4b, 0x9e,
			0x0f, 0x4a, 0xcc, 0x64, 0x4a, 0x0b, 0xd4, 0x9c, 0xf6,
			0x0d, 0xd2, 0x17, 0x0c, 0x0e, 0xab, 0x8d, 0xf5, 0x37,
			0x39, 0x78, 0xd8, 0x9e, 0x41, 0x5f, 0xf6, 0x89, 0x10,
			0x80, 0xae, 0xed, 0xed, 0xe6, 0x26, 0x6e, 0xf1, 0x22,
			0xd4, 0x48, 0xa0, 0xb2, 0x05, 0x74, 0xcc, 0x51, 0x1c,
			0x3b, 0xdf, 0x35, 0x38, 0x4f, 0x58, 0x87, 0x8a, 0x04,
			0xeb, 0xcc, 0x86, 0x2f, 0x2f, 0x1d, 0xd3, 0xc9, 0x3a,
			0x10, 0x1a,
		}
	};

	TC_PRINT(".");
	result = do_hmac_prng_pr_false_test(89, &vec);

	return result;
}

unsigned int test_90(void)
{
	unsigned int result = TC_PASS;
	const struct hmac_prng_test_vector vec = {
		32,
		16,
		32,
		0,
		128,
		{
			0xdc, 0x59, 0x04, 0xbd, 0x75, 0x2c, 0x66, 0xe0, 0x25,
			0x07, 0x26, 0x22, 0x82, 0x4e, 0x4e, 0x78, 0x9d, 0xfa,
			0xfe, 0xdc, 0xba, 0xad, 0x33, 0x56, 0xa3, 0x44, 0x95,
			0x3e, 0x00, 0x2f, 0xf8, 0x45,
		},
		{
			0x1a, 0xa5, 0x63, 0x88, 0x3b, 0xba, 0x44, 0x4c, 0x88,
			0x50, 0x0e, 0xcf, 0xcc, 0xa2, 0xaf, 0x94,
		},
		{
			0xab, 0x75, 0x4f, 0x51, 0xc0, 0x3f, 0x29, 0xeb, 0x77,
			0x03, 0xca, 0x5e, 0x4c, 0x8b, 0x10, 0xe1, 0x68, 0x49,
			0x4a, 0x1f, 0x09, 0xb5, 0x44, 0x17, 0x5b, 0xd8, 0x7b,
			0x68, 0x7b, 0xf6, 0x9f, 0x7d,
		},
		{
			0xbb, 0xba, 0x28, 0x0c, 0x3e, 0x22, 0x07, 0x21, 0x2f,
			0x18, 0xf7, 0x8d, 0xba, 0x28, 0x62, 0x92, 0x0c, 0x2e,
			0x1b, 0x69, 0xb8, 0xc9, 0x53, 0x1d, 0xcf, 0x8a, 0x5c,
			0x98, 0x1b, 0xf4, 0x38, 0x65,
		},
		{
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00,
		},
		{
			0x2f, 0x7d, 0x00, 0x53, 0xb5, 0x08, 0x3a, 0xe0, 0x49,
			0x52, 0x4f, 0x18, 0xa2, 0x5d, 0x07, 0x83, 0xdb, 0xff,
			0xd2, 0xe5, 0x31, 0xf6, 0x73, 0xf8, 0x7b, 0xbc, 0x28,
			0x71, 0xc0, 0xc4, 0xbf, 0xcc, 0xbe, 0xb5, 0x44, 0xa0,
			0x9d, 0xc2, 0x08, 0xcf, 0xc7, 0x58, 0x2b, 0x48, 0x84,
			0xc9, 0x94, 0xbf, 0x84, 0xaa, 0xed, 0x1b, 0x55, 0xcd,
			0x88, 0xe9, 0x56, 0x43, 0x02, 0x08, 0x8c, 0xb5, 0x49,
			0x92, 0xc4, 0x00, 0x26, 0xca, 0xcd, 0xd0, 0x28, 0x31,
			0x92, 0x6d, 0x11, 0xbf, 0x19, 0x94, 0xe0, 0x8e, 0xf2,
			0xe9, 0x40, 0xf1, 0xa7, 0xac, 0xc1, 0xcb, 0x3b, 0xdd,
			0x4a, 0x3a, 0xfb, 0x2e, 0xe3, 0xa7, 0xde, 0xfe, 0xfb,
			0x6b, 0xa8, 0x7a, 0x5e, 0xf1, 0x82, 0x8c, 0x84, 0x02,
			0x86, 0x63, 0x1c, 0xf1, 0xc8, 0x84, 0x22, 0xba, 0x90,
			0xe3, 0x95, 0x4b, 0x42, 0x1b, 0x0a, 0x86, 0x9a, 0x9f,
			0xde, 0xe1,
		}
	};

	TC_PRINT(".");
	result = do_hmac_prng_pr_false_test(90, &vec);

	return result;
}

unsigned int test_91(void)
{
	unsigned int result = TC_PASS;
	const struct hmac_prng_test_vector vec = {
		32,
		16,
		0,
		0,
		128,
		{
			0xea, 0x28, 0x92, 0x6c, 0xd5, 0xdf, 0x4f, 0xef, 0xd5,
			0x72, 0xc9, 0x10, 0x3d, 0x87, 0xff, 0xb0, 0x4f, 0x59,
			0x9d, 0xa9, 0x5e, 0x1e, 0x6f, 0xec, 0xb8, 0x4f, 0x53,
			0xf7, 0x3f, 0xd0, 0x0d, 0x6c,
		},
		{
			0xcb, 0x40, 0xe1, 0x66, 0x55, 0xb9, 0xa2, 0xc7, 0x1e,
			0x8e, 0x36, 0x77, 0xb9, 0xea, 0x6c, 0x6f,
		},
		{
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00,
		},
		{
			0x3d, 0x2d, 0x1d, 0xb8, 0x8b, 0x84, 0x62, 0x78, 0x7a,
			0x55, 0x76, 0xc9, 0x5f, 0xd6, 0x60, 0x73, 0x4f, 0xb6,
			0x81, 0xf8, 0x94, 0xe8, 0xef, 0xc4, 0x7e, 0x3b, 0xe3,
			0xbf, 0xc3, 0x09, 0x8e, 0x40,
		},
		{
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00,
		},
		{
			0xe9, 0x29, 0xc6, 0xe7, 0x49, 0xc5, 0x17, 0x50, 0x31,
			0xdc, 0xc9, 0x26, 0xbc, 0xe8, 0xd5, 0x29, 0x14, 0x7b,
			0x5e, 0x94, 0x0f, 0x61, 0xd0, 0xba, 0x1f, 0x02, 0x83,
			0x1c, 0x80, 0xc2, 0x7a, 0x23, 0xcd, 0x4b, 0x5f, 0xfb,
			0x50, 0x7c, 0x7d, 0x09, 0xa7, 0x7e, 0x4c, 0x84, 0x27,
			0xe2, 0x90, 0x10, 0xcf, 0x1c, 0x80, 0x21, 0xa8, 0x0c,
			0xa2, 0x95, 0x04, 0xca, 0xa3, 0x50, 0xa2, 0x7d, 0x6c,
			0xa4, 0x55, 0x4f, 0xe4, 0xd8, 0xb0, 0x23, 0x55, 0x54,
			0xf2, 0x51, 0xa5, 0x9e, 0xc6, 0x72, 0x9d, 0x80, 0x2b,
			0x47, 0x30, 0x83, 0xb0, 0xbd, 0x6c, 0xa8, 0x3f, 0x6d,
			0x94, 0x5b, 0x3d, 0x1d, 0xe2, 0xb7, 0x06, 0xbd, 0xcc,
			0x3b, 0x50, 0xdd, 0xef, 0x57, 0x84, 0x7f, 0xff, 0x88,
			0xa4, 0x49, 0x85, 0x86, 0xca, 0x6a, 0xfe, 0x65, 0xe7,
			0x6c, 0x2d, 0x97, 0xf8, 0x7d, 0xde, 0xa6, 0x6f, 0x55,
			0x63, 0xe3,
		}
	};

	TC_PRINT(".");
	result = do_hmac_prng_pr_false_test(91, &vec);

	return result;
}

unsigned int test_92(void)
{
	unsigned int result = TC_PASS;
	const struct hmac_prng_test_vector vec = {
		32,
		16,
		0,
		0,
		128,
		{
			0xbc, 0x3c, 0x34, 0x69, 0x28, 0x92, 0x91, 0x69, 0xc7,
			0xa0, 0x0c, 0x6f, 0x53, 0x2f, 0x7e, 0xb1, 0xc4, 0xa7,
			0x7d, 0x42, 0x19, 0x3b, 0x65, 0x69, 0x7b, 0xdd, 0xe5,
			0xfe, 0x59, 0xae, 0x45, 0x20,
		},
		{
			0x1b, 0x2b, 0xa3, 0x3d, 0xa4, 0x9d, 0x3f, 0x6c, 0xf8,
			0x40, 0x39, 0xcd, 0x99, 0xcc, 0xe5, 0x0f,
		},
		{
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00,
		},
		{
			0xb4, 0x25, 0x4a, 0xab, 0x62, 0xc4, 0x15, 0xd8, 0x32,
			0x3d, 0x55, 0x6a, 0xec, 0xa6, 0x14, 0x17, 0xb4, 0x1b,
			0x09, 0x04, 0x65, 0x48, 0x0d, 0xb8, 0xfb, 0x86, 0x4f,
			0x57, 0x8f, 0x56, 0x7b, 0x3d,
		},
		{
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00,
		},
		{
			0x26, 0x02, 0xfc, 0xc0, 0xfc, 0xdb, 0x71, 0x04, 0x6d,
			0xa4, 0x22, 0x6e, 0x12, 0x77, 0xd5, 0xdf, 0x89, 0x22,
			0x54, 0x73, 0xe4, 0x56, 0x4f, 0x04, 0x7e, 0x60, 0x61,
			0x0d, 0x98, 0x1a, 0x18, 0xe2, 0xb4, 0x4d, 0x79, 0xa9,
			0x3c, 0xd8, 0x64, 0xb8, 0x0f, 0xd3, 0x77, 0x68, 0x5f,
			0xb4, 0x19, 0x8e, 0xce, 0x5b, 0x22, 0x11, 0xae, 0xba,
			0x57, 0xff, 0x49, 0xfd, 0xb6, 0x12, 0x82, 0x62, 0xe2,
			0x83, 0x6e, 0x7e, 0x81, 0x66, 0xf3, 0xc3, 0xd5, 0xa9,
			0x3c, 0x68, 0x6a, 0x9b, 0x70, 0xaa, 0x73, 0x9c, 0x66,
			0xf8, 0x5f, 0x84, 0xc4, 0x4c, 0x31, 0x46, 0x62, 0xd7,
			0xaf, 0x17, 0xad, 0x62, 0x5e, 0x55, 0xb6, 0xb4, 0x80,
			0x1f, 0x0d, 0xda, 0xd8, 0xe6, 0x36, 0x85, 0x4d, 0x22,
			0x8f, 0x01, 0xba, 0x8f, 0x2f, 0x81, 0x20, 0x76, 0x20,
			0x52, 0xd2, 0x89, 0x48, 0x19, 0xa9, 0xfb, 0xc7, 0x6d,
			0x6e, 0x6f,
		}
	};

	TC_PRINT(".");
	result = do_hmac_prng_pr_false_test(92, &vec);

	return result;
}

unsigned int test_93(void)
{
	unsigned int result = TC_PASS;
	const struct hmac_prng_test_vector vec = {
		32,
		16,
		0,
		0,
		128,
		{
			0x0b, 0xa0, 0x38, 0xbd, 0xb7, 0xad, 0x7b, 0xbe, 0x77,
			0xa6, 0xc7, 0xda, 0xa3, 0x3a, 0x2b, 0xdf, 0xd9, 0xa1,
			0xa5, 0xf3, 0x1c, 0xd2, 0xe7, 0x53, 0x77, 0xc7, 0x78,
			0xf4, 0x92, 0xf5, 0xb3, 0xcb,
		},
		{
			0x17, 0xa1, 0x34, 0x23, 0x4a, 0x30, 0xe0, 0x91, 0x70,
			0x89, 0x9c, 0x11, 0x5b, 0x43, 0xca, 0x16,
		},
		{
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00,
		},
		{
			0xdb, 0x02, 0x0e, 0x00, 0xba, 0xce, 0x41, 0x7b, 0xa7,
			0x68, 0x7e, 0x82, 0x9c, 0x1f, 0xfc, 0x91, 0xd2, 0x2e,
			0xf9, 0x3b, 0x27, 0xbf, 0xe1, 0x10, 0x77, 0x32, 0xcf,
			0xe0, 0x82, 0xa0, 0x5c, 0xf6,
		},
		{
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00,
		},
		{
			0x01, 0x79, 0x2f, 0x59, 0xd0, 0xa6, 0x3d, 0xef, 0xd8,
			0x7d, 0x13, 0x18, 0x8b, 0x1a, 0xec, 0xa9, 0x8c, 0x03,
			0xb1, 0x1b, 0x7d, 0xd6, 0x69, 0x83, 0x28, 0x17, 0x2d,
			0xfb, 0x65, 0xcc, 0xb6, 0x95, 0xa1, 0xba, 0xa5, 0x8e,
			0x44, 0xfd, 0x75, 0x23, 0xfd, 0x17, 0x6d, 0x27, 0x06,
			0x64, 0x33, 0x7e, 0x59, 0x8a, 0xa4, 0x53, 0x64, 0x3c,
			0xe3, 0xc6, 0xeb, 0xad, 0xed, 0xec, 0x63, 0x11, 0xe2,
			0xe1, 0xa6, 0xed, 0x22, 0x52, 0x47, 0x74, 0x01, 0x04,
			0x12, 0x53, 0xd3, 0xaf, 0xba, 0xda, 0xc0, 0x6e, 0x4d,
			0x06, 0xf4, 0x6d, 0xc3, 0xd7, 0xac, 0xe2, 0x87, 0xee,
			0x3e, 0x23, 0x28, 0x6b, 0x28, 0x85, 0x2e, 0xe0, 0xcf,
			0x1e, 0x7a, 0xb3, 0xad, 0xb0, 0xff, 0x10, 0x07, 0xd0,
			0x77, 0x16, 0xb0, 0x9c, 0x22, 0xeb, 0x13, 0x80, 0xbb,
			0xd0, 0xe8, 0xda, 0xc4, 0x82, 0xdf, 0x48, 0x0d, 0x41,
			0x58, 0x1d,
		}
	};

	TC_PRINT(".");
	result = do_hmac_prng_pr_false_test(93, &vec);

	return result;
}

unsigned int test_94(void)
{
	unsigned int result = TC_PASS;
	const struct hmac_prng_test_vector vec = {
		32,
		16,
		0,
		0,
		128,
		{
			0x2b, 0x37, 0xc7, 0x0c, 0x56, 0xa2, 0xa1, 0xc3, 0xd5,
			0x15, 0x0e, 0xdc, 0x4c, 0x31, 0x80, 0x7e, 0x17, 0x97,
			0x3f, 0x4a, 0xfd, 0x85, 0x32, 0x18, 0xe9, 0x94, 0x03,
			0xd8, 0xdd, 0x9f, 0x19, 0x5f,
		},
		{
			0xa5, 0x11, 0x0c, 0x3a, 0x0f, 0x45, 0xba, 0x13, 0xb8,
			0xea, 0x3f, 0x77, 0xf3, 0x33, 0x58, 0x49,
		},
		{
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00,
		},
		{
			0x14, 0x50, 0xbb, 0xf9, 0xf6, 0xb6, 0x83, 0x30, 0xfa,
			0x6c, 0x3e, 0xeb, 0x20, 0x18, 0x5e, 0xcb, 0xb3, 0x0c,
			0x4c, 0xcb, 0x4b, 0x7b, 0x5e, 0xe3, 0x27, 0x12, 0x63,
			0xa6, 0x43, 0xd4, 0xf3, 0xe9,
		},
		{
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00,
		},
		{
			0x57, 0x14, 0xe0, 0x8e, 0xcb, 0x34, 0xe5, 0x1c, 0x1b,
			0x5b, 0x91, 0x40, 0x5c, 0x81, 0x2e, 0x80, 0x10, 0x72,
			0x9b, 0x69, 0x95, 0xb6, 0xcc, 0x90, 0x14, 0x80, 0x9c,
			0x47, 0xc3, 0xb6, 0xba, 0xf1, 0x10, 0x13, 0x45, 0x75,
			0x14, 0x6c, 0x6b, 0xb4, 0x3d, 0x20, 0xfe, 0x16, 0x38,
			0x6d, 0x10, 0x05, 0xb5, 0x64, 0x1b, 0xdc, 0x12, 0xb6,
			0x45, 0x4f, 0x3b, 0xb7, 0x45, 0x88, 0xb6, 0x16, 0xc6,
			0x54, 0xbd, 0xca, 0x84, 0xf0, 0x71, 0x36, 0x4e, 0xfd,
			0x8d, 0x1e, 0xe6, 0x66, 0xcd, 0x60, 0xe4, 0xe2, 0xa8,
			0xa3, 0xde, 0x99, 0xe3, 0xf5, 0x6a, 0x72, 0x71, 0x4d,
			0xb0, 0x4f, 0x15, 0xaa, 0x03, 0x76, 0xac, 0xa8, 0xb1,
			0x2d, 0x50, 0x31, 0x8c, 0x12, 0x8e, 0x1f, 0x4c, 0xe2,
			0x58, 0x40, 0x09, 0xed, 0x4d, 0x7e, 0x57, 0x54, 0x4a,
			0xba, 0x9d, 0x63, 0x12, 0x69, 0xef, 0xf9, 0x95, 0x31,
			0x99, 0x23,
		}
	};

	TC_PRINT(".");
	result = do_hmac_prng_pr_false_test(94, &vec);

	return result;
}

unsigned int test_95(void)
{
	unsigned int result = TC_PASS;
	const struct hmac_prng_test_vector vec = {
		32,
		16,
		0,
		0,
		128,
		{
			0xab, 0x79, 0xf1, 0xff, 0x8a, 0x69, 0xc7, 0xf7, 0xeb,
			0x33, 0xe5, 0x7f, 0x03, 0xc5, 0xfd, 0x84, 0x58, 0xc0,
			0xaf, 0xa9, 0xd2, 0x73, 0x88, 0xb7, 0x84, 0x20, 0xa1,
			0xac, 0x8d, 0x98, 0xbe, 0x68,
		},
		{
			0xb3, 0x6b, 0x72, 0xa0, 0x4b, 0xbd, 0xd2, 0x85, 0x96,
			0x8d, 0x73, 0x05, 0xd3, 0x56, 0xf8, 0xff,
		},
		{
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00,
		},
		{
			0x5c, 0xe8, 0x78, 0x3b, 0x45, 0x3b, 0xa8, 0x56, 0x7e,
			0x7b, 0x6d, 0x7a, 0x63, 0xac, 0xe5, 0xb4, 0xea, 0xf8,
			0x75, 0x62, 0x42, 0x0e, 0x72, 0x9f, 0xae, 0x94, 0x39,
			0xce, 0x3a, 0x68, 0xdc, 0x86,
		},
		{
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00,
		},
		{
			0x9d, 0x10, 0x40, 0x4b, 0x95, 0x2e, 0x37, 0xc1, 0xd7,
			0x00, 0x7b, 0xea, 0xb7, 0xf8, 0xf1, 0xfa, 0xf2, 0x36,
			0x17, 0x00, 0xf1, 0x38, 0x8b, 0xeb, 0xfa, 0x83, 0xd8,
			0x57, 0xac, 0xbd, 0x65, 0x20, 0x94, 0x7a, 0x4a, 0x06,
			0x9f, 0x80, 0x27, 0x8d, 0xae, 0x1d, 0x5a, 0x8e, 0xef,
			0xf9, 0xd6, 0x9f, 0x63, 0x30, 0x18, 0x31, 0x0e, 0x2a,
			0x16, 0xac, 0xb9, 0x08, 0xb3, 0xb0, 0x29, 0xb5, 0xbb,
			0xef, 0x71, 0xf2, 0xa0, 0x59, 0x70, 0xf5, 0x44, 0xad,
			0xcf, 0xa6, 0xe7, 0x07, 0x79, 0x9f, 0xc1, 0xe6, 0xb7,
			0x8b, 0x96, 0xea, 0x1a, 0x57, 0x4f, 0x34, 0xd4, 0x49,
			0x94, 0xe6, 0x8d, 0x1c, 0x40, 0xbc, 0x2f, 0x39, 0x7a,
			0xe1, 0xa4, 0x87, 0x28, 0xa9, 0x2b, 0x8b, 0x4d, 0x46,
			0xe3, 0x47, 0x22, 0xdd, 0xf2, 0x4d, 0xd3, 0xa0, 0x35,
			0x26, 0x2e, 0x90, 0xc5, 0xbf, 0xfe, 0x04, 0x89, 0x6b,
			0x56, 0x58,
		}
	};

	TC_PRINT(".");
	result = do_hmac_prng_pr_false_test(95, &vec);

	return result;
}

unsigned int test_96(void)
{
	unsigned int result = TC_PASS;
	const struct hmac_prng_test_vector vec = {
		32,
		16,
		0,
		0,
		128,
		{
			0x05, 0xfa, 0xe5, 0xa2, 0x08, 0x03, 0xa1, 0x44, 0x21,
			0x11, 0xac, 0x0b, 0xd1, 0x81, 0x01, 0x86, 0x31, 0x9d,
			0x72, 0x1d, 0x29, 0x46, 0xec, 0xa2, 0x64, 0xfb, 0x31,
			0xac, 0x8d, 0x8c, 0xbd, 0xa8,
		},
		{
			0x97, 0xc4, 0x1c, 0xa6, 0x69, 0xe2, 0x23, 0xee, 0xcf,
			0xb2, 0x65, 0x99, 0x41, 0xff, 0xa1, 0xbc,
		},
		{
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00,
		},
		{
			0xdf, 0x4f, 0x01, 0xea, 0x4a, 0x91, 0xaa, 0x2e, 0xb6,
			0x51, 0x55, 0xf1, 0x53, 0xdc, 0xa7, 0x0a, 0xfc, 0xe9,
			0x8f, 0xf5, 0x6b, 0xff, 0x2a, 0x1c, 0x94, 0x11, 0x78,
			0xc2, 0xc2, 0xdb, 0xe9, 0x18,
		},
		{
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00,
		},
		{
			0xf3, 0xeb, 0x85, 0xc1, 0x68, 0x37, 0x79, 0x31, 0xa2,
			0xf6, 0x77, 0xf1, 0x06, 0x4c, 0x82, 0xde, 0x81, 0x5e,
			0xff, 0x75, 0x70, 0x1b, 0x03, 0x16, 0x06, 0x09, 0x87,
			0x94, 0xee, 0xa7, 0x16, 0x96, 0x80, 0x54, 0x85, 0xf7,
			0x77, 0xad, 0xe2, 0xf2, 0x50, 0xe4, 0x8f, 0xd5, 0x8d,
			0x23, 0x58, 0xaa, 0x8e, 0xeb, 0xff, 0x59, 0x7d, 0x39,
			0x6a, 0x7a, 0xfc, 0xf3, 0x8b, 0xe6, 0x5e, 0x0e, 0x78,
			0x40, 0x5d, 0x35, 0xee, 0x3d, 0x8d, 0xd2, 0x98, 0x5c,
			0xd6, 0x2c, 0x26, 0xca, 0xc1, 0xbd, 0x0d, 0x9c, 0x6e,
			0x67, 0xac, 0xcf, 0xbb, 0xe2, 0xbf, 0xda, 0x87, 0xd5,
			0x0d, 0xe6, 0x41, 0x5a, 0x4a, 0x9b, 0xaa, 0x27, 0x3f,
			0x99, 0x7b, 0xdc, 0xe9, 0x03, 0x27, 0x1a, 0x05, 0x82,
			0xbe, 0xfc, 0x40, 0x2f, 0x33, 0xfc, 0xab, 0xb6, 0xdb,
			0x6f, 0x14, 0x52, 0x52, 0xd8, 0x70, 0x55, 0x4d, 0x78,
			0x91, 0xd2,
		}
	};

	TC_PRINT(".");
	result = do_hmac_prng_pr_false_test(96, &vec);

	return result;
}

unsigned int test_97(void)
{
	unsigned int result = TC_PASS;
	const struct hmac_prng_test_vector vec = {
		32,
		16,
		0,
		0,
		128,
		{
			0xf0, 0x7a, 0xce, 0x29, 0x9e, 0xa3, 0xc1, 0x04, 0x9d,
			0x88, 0x37, 0x8e, 0x3a, 0x64, 0xd6, 0xfe, 0x78, 0x1b,
			0x87, 0x72, 0xcb, 0xd1, 0x92, 0xc9, 0x69, 0x2a, 0x4d,
			0x8e, 0x7a, 0xec, 0x19, 0x87,
		},
		{
			0x87, 0xcd, 0x0d, 0x8f, 0xff, 0x8d, 0xad, 0xec, 0x5b,
			0x8b, 0xcc, 0xd0, 0x85, 0xf4, 0x1a, 0x1e,
		},
		{
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00,
		},
		{
			0x42, 0xfb, 0x6e, 0x92, 0xee, 0x26, 0x3b, 0x1c, 0x03,
			0xa6, 0x3e, 0x5b, 0xea, 0xf8, 0x06, 0x62, 0xad, 0x67,
			0xb1, 0x95, 0xe1, 0x55, 0xd0, 0xac, 0xb7, 0x47, 0x8a,
			0x82, 0x93, 0x83, 0x1f, 0xc6,
		},
		{
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00,
		},
		{
			0x3e, 0x3e, 0xeb, 0x53, 0x80, 0x0b, 0x48, 0x74, 0xbd,
			0xda, 0x33, 0x1c, 0x1e, 0x9b, 0x98, 0xc5, 0x77, 0x00,
			0xe7, 0xc2, 0x06, 0xf5, 0xf3, 0xd0, 0xf4, 0x21, 0xe3,
			0xc4, 0x90, 0x79, 0x70, 0x84, 0xc0, 0x9e, 0xd6, 0xb4,
			0xbd, 0x58, 0x85, 0xbc, 0xaa, 0x42, 0xe0, 0x36, 0x87,
			0x0d, 0x63, 0x3d, 0xf8, 0xb3, 0xbf, 0x1d, 0x1b, 0xaf,
			0xf5, 0x88, 0xac, 0x9b, 0x24, 0xe0, 0x82, 0x7c, 0x26,
			0xed, 0x4f, 0x06, 0x18, 0xd9, 0x12, 0xd3, 0x90, 0x04,
			0xcc, 0xa9, 0x73, 0x9e, 0x0b, 0x99, 0x46, 0xf8, 0x92,
			0x7b, 0x58, 0x0b, 0xb2, 0xf3, 0x2c, 0x9f, 0x14, 0x2a,
			0x7b, 0x1c, 0x09, 0xb3, 0x2a, 0x40, 0x5e, 0x1e, 0xf5,
			0x20, 0x9c, 0xae, 0x79, 0x0b, 0x07, 0x11, 0xd1, 0x49,
			0x93, 0x51, 0x09, 0x53, 0x01, 0x8f, 0x27, 0x9c, 0x8c,
			0x8d, 0xfd, 0x06, 0x64, 0x8c, 0xd1, 0xb1, 0xa5, 0x8b,
			0xdf, 0x93,
		}
	};

	TC_PRINT(".");
	result = do_hmac_prng_pr_false_test(97, &vec);

	return result;
}

unsigned int test_98(void)
{
	unsigned int result = TC_PASS;
	const struct hmac_prng_test_vector vec = {
		32,
		16,
		0,
		0,
		128,
		{
			0x96, 0xc3, 0xe7, 0xe5, 0xfe, 0xcc, 0xc0, 0x61, 0x80,
			0x59, 0x00, 0x6c, 0x73, 0x5a, 0x6c, 0xe0, 0xb5, 0x11,
			0x4d, 0x20, 0x8c, 0x79, 0x14, 0x3e, 0x1c, 0x9f, 0x8e,
			0xf5, 0x03, 0x6e, 0x33, 0x0d,
		},
		{
			0x6b, 0xbb, 0x09, 0xc4, 0x16, 0x51, 0xc1, 0xc7, 0x8c,
			0x36, 0xc2, 0x5e, 0x4c, 0xee, 0x8a, 0xa9,
		},
		{
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00,
		},
		{
			0xab, 0xa5, 0x10, 0x86, 0x57, 0x7c, 0x69, 0x48, 0xb8,
			0x92, 0xcf, 0x52, 0x54, 0x52, 0x0b, 0xf8, 0xd2, 0x40,
			0xc2, 0xe3, 0xb0, 0x92, 0x4a, 0xfe, 0x69, 0x65, 0xac,
			0xfa, 0xbd, 0x7e, 0x0a, 0xbf,
		},
		{
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00,
		},
		{
			0x1d, 0x7e, 0xc4, 0x82, 0x34, 0xbb, 0x2a, 0xaa, 0xf5,
			0x4f, 0xbd, 0x55, 0xff, 0x06, 0x63, 0xf0, 0xfc, 0x82,
			0x82, 0x25, 0x31, 0xf6, 0x66, 0xee, 0x7f, 0x7f, 0x5e,
			0x25, 0x70, 0x07, 0xf3, 0x04, 0x62, 0x42, 0x8a, 0x51,
			0x9d, 0x86, 0xa8, 0x76, 0x4b, 0xa0, 0xd6, 0xa2, 0x33,
			0x1c, 0xb1, 0x29, 0x23, 0x2d, 0x9a, 0x5c, 0x03, 0x18,
			0x3b, 0x0f, 0x41, 0x9d, 0x81, 0x3f, 0x4c, 0x0e, 0x00,
			0xe4, 0xbe, 0x5d, 0xd1, 0x6a, 0x87, 0xa9, 0xfa, 0xec,
			0x89, 0x15, 0xa3, 0x9f, 0xd2, 0xd4, 0x06, 0xc5, 0x4e,
			0xb8, 0xaa, 0xf2, 0x28, 0xa0, 0x9a, 0x46, 0xdb, 0x55,
			0xfd, 0xa8, 0xa9, 0x0b, 0x27, 0xef, 0xc9, 0x6c, 0x46,
			0x1e, 0x9e, 0x9b, 0xe0, 0x8e, 0x27, 0xaf, 0x86, 0xb0,
			0x17, 0x50, 0xdb, 0xbf, 0xb4, 0x02, 0x45, 0xe9, 0x98,
			0xf0, 0x67, 0x96, 0x86, 0xe1, 0x8d, 0x80, 0x17, 0x02,
			0xff, 0xa2,
		}
	};

	TC_PRINT(".");
	result = do_hmac_prng_pr_false_test(98, &vec);

	return result;
}

unsigned int test_99(void)
{
	unsigned int result = TC_PASS;
	const struct hmac_prng_test_vector vec = {
		32,
		16,
		0,
		0,
		128,
		{
			0x21, 0x07, 0x25, 0xc6, 0x08, 0x39, 0x78, 0x2d, 0x36,
			0x65, 0xa3, 0x00, 0xad, 0xcf, 0x81, 0xc6, 0xd5, 0x14,
			0x78, 0xb1, 0xf1, 0x2e, 0x5d, 0x53, 0x10, 0x4b, 0xeb,
			0x38, 0x5c, 0xe1, 0x50, 0x24,
		},
		{
			0x12, 0x9a, 0x70, 0x5c, 0x88, 0xe4, 0xfd, 0xb1, 0x67,
			0xd3, 0x47, 0x94, 0xf6, 0xf7, 0x39, 0xb4,
		},
		{
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00,
		},
		{
			0xe1, 0x2e, 0x9c, 0xc5, 0x23, 0xd6, 0x18, 0xae, 0x6c,
			0xb6, 0x67, 0xec, 0xa7, 0xed, 0xd3, 0x54, 0x58, 0x18,
			0x7b, 0xd1, 0x9e, 0x90, 0x79, 0xb5, 0xc5, 0xe1, 0xcb,
			0x97, 0x1e, 0x38, 0x03, 0x09,
		},
		{
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00,
		},
		{
			0x34, 0x5b, 0x3b, 0x8c, 0x01, 0x1c, 0x78, 0x7e, 0x90,
			0x63, 0xf8, 0x11, 0xd5, 0x1f, 0x09, 0x6a, 0x31, 0xcc,
			0x1e, 0xa9, 0xfa, 0xa0, 0xb8, 0xf2, 0x9d, 0x91, 0x6b,
			0xe1, 0xb9, 0x25, 0xa4, 0xb7, 0x1f, 0x8e, 0x6d, 0xb5,
			0x6e, 0x0e, 0x22, 0xab, 0xfd, 0xe3, 0xf0, 0x35, 0xf2,
			0xd5, 0xa6, 0xfc, 0xde, 0x02, 0xe5, 0xdf, 0x8c, 0x0b,
			0xef, 0xe0, 0xc0, 0x04, 0x38, 0xfa, 0xa4, 0x27, 0x7c,
			0xa7, 0x90, 0xe6, 0x32, 0x31, 0x80, 0x61, 0xfb, 0xab,
			0xbb, 0x83, 0xdc, 0x83, 0xf7, 0x19, 0xf3, 0xce, 0xab,
			0x43, 0x1e, 0x3f, 0xe8, 0x06, 0x95, 0xbc, 0x44, 0xd7,
			0x4d, 0x09, 0x35, 0xc8, 0x42, 0x25, 0x21, 0xce, 0x78,
			0x4a, 0x92, 0x3c, 0xac, 0xc3, 0x75, 0x17, 0xb9, 0xdd,
			0x93, 0xc7, 0xc0, 0x60, 0x8f, 0x95, 0x5e, 0x5b, 0x48,
			0x68, 0x0b, 0x53, 0x71, 0x42, 0x45, 0x9a, 0x6d, 0x7b,
			0x79, 0xe8,
		}
	};

	TC_PRINT(".");
	result = do_hmac_prng_pr_false_test(99, &vec);

	return result;
}

unsigned int test_100(void)
{
	unsigned int result = TC_PASS;
	const struct hmac_prng_test_vector vec = {
		32,
		16,
		0,
		0,
		128,
		{
			0xf8, 0x7e, 0x04, 0x74, 0x38, 0xc6, 0xf5, 0xdc, 0x41,
			0xa5, 0xe3, 0xbd, 0x0d, 0xdb, 0x38, 0x6c, 0x99, 0x40,
			0x7b, 0xf2, 0x76, 0xb5, 0x78, 0x24, 0xd4, 0x36, 0x6e,
			0x09, 0x73, 0xef, 0x65, 0xf2,
		},
		{
			0x73, 0x00, 0x2b, 0x5a, 0xc3, 0xcd, 0xb5, 0x61, 0x5a,
			0x2e, 0x17, 0x92, 0xb9, 0x63, 0x86, 0xe2,
		},
		{
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00,
		},
		{
			0xca, 0x22, 0xf8, 0x53, 0xf4, 0x37, 0x1e, 0xd3, 0x34,
			0xab, 0x94, 0x44, 0x4b, 0x58, 0xa4, 0xf9, 0xcb, 0xda,
			0xcf, 0xda, 0x96, 0xe4, 0xa9, 0xe4, 0x6c, 0x9c, 0xf7,
			0x76, 0xa9, 0x03, 0x99, 0x0d,
		},
		{
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00,
		},
		{
			0x5d, 0x54, 0x82, 0x7f, 0xb3, 0x7f, 0xd8, 0x64, 0x41,
			0xab, 0x4e, 0xb3, 0x79, 0x60, 0x89, 0xde, 0x39, 0xf1,
			0x13, 0x24, 0x41, 0x58, 0x23, 0x6e, 0xc1, 0x62, 0x99,
			0x69, 0xf9, 0x29, 0x5f, 0x37, 0x83, 0x6b, 0x2d, 0x7d,
			0x4d, 0x6e, 0x59, 0xe0, 0xbd, 0xce, 0xfd, 0x92, 0x3c,
			0x2c, 0x44, 0x21, 0x18, 0xc8, 0xca, 0x3b, 0x00, 0xa2,
			0x58, 0xbe, 0xec, 0xad, 0x7d, 0x28, 0xd7, 0xe1, 0x21,
			0x62, 0xa4, 0x20, 0x21, 0x29, 0x18, 0x93, 0x7a, 0x4d,
			0x0d, 0xa5, 0xea, 0x7c, 0x0b, 0x96, 0x02, 0x81, 0x32,
			0x66, 0x01, 0x5f, 0x38, 0x5e, 0xd5, 0xc6, 0x9a, 0x48,
			0x37, 0x5e, 0x9b, 0x37, 0x38, 0x81, 0x4f, 0x16, 0xc0,
			0x85, 0xd5, 0xcf, 0xd1, 0xd2, 0xe6, 0x26, 0x7e, 0x1c,
			0x5d, 0x7b, 0xad, 0x88, 0xf2, 0x0b, 0x3a, 0xb0, 0xab,
			0x27, 0x9f, 0xcb, 0x65, 0x10, 0x20, 0xec, 0xfc, 0x15,
			0x07, 0x63,
		}
	};

	TC_PRINT(".");
	result = do_hmac_prng_pr_false_test(100, &vec);

	return result;
}

unsigned int test_101(void)
{
	unsigned int result = TC_PASS;
	const struct hmac_prng_test_vector vec = {
		32,
		16,
		0,
		0,
		128,
		{
			0x50, 0xeb, 0xb3, 0x84, 0x61, 0xd3, 0xf2, 0x6c, 0x5a,
			0xc2, 0xec, 0xf5, 0x3a, 0x03, 0x41, 0x78, 0x42, 0x52,
			0x5b, 0xad, 0x57, 0x7f, 0x05, 0x7e, 0xd9, 0x20, 0xc1,
			0xc4, 0x97, 0x0e, 0x55, 0x29,
		},
		{
			0x99, 0x6c, 0x6b, 0x9d, 0xb4, 0xa1, 0xaa, 0xb9, 0xd3,
			0x1c, 0x75, 0x4a, 0xf4, 0x9a, 0x54, 0x45,
		},
		{
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00,
		},
		{
			0xea, 0x89, 0x85, 0x50, 0xce, 0xe3, 0x88, 0x88, 0xc0,
			0x38, 0xf6, 0x7b, 0x49, 0x12, 0xe4, 0x8a, 0xa9, 0xe3,
			0x78, 0xff, 0x3a, 0xdc, 0x9c, 0xc6, 0xc5, 0xba, 0xee,
			0x8c, 0x37, 0x6f, 0xc7, 0x08,
		},
		{
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00,
		},
		{
			0x77, 0x37, 0x71, 0xf1, 0xf3, 0x90, 0x37, 0x63, 0xf4,
			0xf9, 0xd6, 0xb2, 0x16, 0x73, 0xd2, 0xa9, 0x3f, 0x6e,
			0x4d, 0x03, 0x63, 0x6d, 0x38, 0x1b, 0xc2, 0x68, 0x64,
			0xb4, 0x64, 0x96, 0xe9, 0x58, 0x8a, 0x06, 0x4b, 0x00,
			0xe8, 0x46, 0xa8, 0xd9, 0x1e, 0x30, 0x2c, 0x47, 0xda,
			0xcd, 0xab, 0x73, 0x88, 0xf5, 0xcd, 0x00, 0x93, 0xd2,
			0x17, 0x4e, 0x33, 0x32, 0x7f, 0x9d, 0xf6, 0x53, 0x71,
			0x24, 0xab, 0x91, 0xcf, 0x35, 0xcb, 0xee, 0xce, 0x38,
			0xf6, 0x37, 0x3a, 0x8b, 0x85, 0x1d, 0xa2, 0x64, 0x5d,
			0xad, 0x5c, 0xf0, 0x1a, 0x59, 0xf5, 0x31, 0x80, 0xa0,
			0xfb, 0xfe, 0xb9, 0x28, 0xa7, 0x10, 0x90, 0xd1, 0x99,
			0x7b, 0x05, 0x5f, 0xa2, 0x0f, 0x14, 0xf4, 0x9c, 0x28,
			0xdc, 0x06, 0x5d, 0xdd, 0x84, 0xa1, 0x4d, 0x93, 0x23,
			0x19, 0x2b, 0x24, 0x28, 0xae, 0xc6, 0xf9, 0x15, 0xf9,
			0x04, 0x91,
		}
	};

	TC_PRINT(".");
	result = do_hmac_prng_pr_false_test(101, &vec);

	return result;
}

unsigned int test_102(void)
{
	unsigned int result = TC_PASS;
	const struct hmac_prng_test_vector vec = {
		32,
		16,
		0,
		0,
		128,
		{
			0xc1, 0x3d, 0x6c, 0xd6, 0x3b, 0xb7, 0x93, 0x11, 0x74,
			0x69, 0x6f, 0x3e, 0x04, 0xa0, 0xc4, 0x1c, 0xb0, 0xb2,
			0x56, 0x11, 0x34, 0xe8, 0x47, 0xce, 0x03, 0xe3, 0x63,
			0x26, 0xb8, 0x03, 0xf8, 0xab,
		},
		{
			0x20, 0x84, 0xab, 0x32, 0x37, 0x43, 0x92, 0xea, 0x9f,
			0x6e, 0x8a, 0x47, 0x4f, 0x18, 0xe9, 0xd7,
		},
		{
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00,
		},
		{
			0xae, 0xc5, 0xa6, 0xa7, 0x23, 0x2a, 0x52, 0xb8, 0x1c,
			0xe7, 0xe9, 0x81, 0xa3, 0x59, 0xce, 0xf1, 0xbb, 0xd2,
			0xf1, 0xef, 0xf8, 0x48, 0x83, 0x71, 0x46, 0x8c, 0xd1,
			0xf4, 0x14, 0x7a, 0x89, 0xc2,
		},
		{
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00,
		},
		{
			0xda, 0xea, 0x78, 0x88, 0x17, 0x37, 0xcb, 0x26, 0xd6,
			0x0c, 0x36, 0xce, 0xb9, 0xfe, 0xc3, 0xd2, 0x81, 0xc7,
			0xae, 0xc5, 0x4b, 0x4b, 0x98, 0x50, 0x93, 0x7b, 0x37,
			0x3b, 0x2b, 0x26, 0x21, 0xfe, 0x07, 0x75, 0x85, 0xa1,
			0xfe, 0x88, 0x26, 0x5d, 0x84, 0xf2, 0x25, 0x55, 0x2e,
			0x5c, 0x85, 0xcb, 0xec, 0x8d, 0x00, 0x06, 0x96, 0x48,
			0x06, 0x5a, 0xc1, 0x20, 0x73, 0xae, 0xdc, 0xe8, 0xc9,
			0x40, 0x46, 0x09, 0x49, 0xb5, 0x97, 0x66, 0x7e, 0xcf,
			0xce, 0xda, 0xbd, 0x7a, 0x86, 0xa9, 0x79, 0xb9, 0x04,
			0xa2, 0x4d, 0x32, 0xdb, 0x10, 0x22, 0x3e, 0xae, 0x5a,
			0x98, 0xa0, 0xd1, 0xb6, 0x57, 0x1b, 0x86, 0x43, 0xdf,
			0x2c, 0x62, 0x65, 0xa5, 0xd6, 0x6c, 0xee, 0x9f, 0x4a,
			0xbf, 0xc5, 0x77, 0x81, 0x46, 0xd6, 0xfb, 0x2b, 0x85,
			0x3d, 0x82, 0x63, 0x6c, 0x13, 0x25, 0xb2, 0xd1, 0xef,
			0x45, 0x76,
		}
	};

	TC_PRINT(".");
	result = do_hmac_prng_pr_false_test(102, &vec);

	return result;
}

unsigned int test_103(void)
{
	unsigned int result = TC_PASS;
	const struct hmac_prng_test_vector vec = {
		32,
		16,
		0,
		0,
		128,
		{
			0x67, 0xf9, 0x8d, 0x4d, 0x9f, 0x35, 0xa8, 0xda, 0xc0,
			0x3d, 0x19, 0x92, 0x22, 0xb0, 0x7c, 0x78, 0x5f, 0x11,
			0xdc, 0x51, 0x7a, 0x8d, 0x88, 0x40, 0xf5, 0xfe, 0xa4,
			0xb6, 0xfd, 0x68, 0x44, 0x8e,
		},
		{
			0x1d, 0xcd, 0x3a, 0x1b, 0xbb, 0x4f, 0x94, 0xad, 0x78,
			0x35, 0x58, 0x42, 0x89, 0x3d, 0xe0, 0x35,
		},
		{
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00,
		},
		{
			0xf1, 0xf9, 0xca, 0xee, 0x31, 0x03, 0x6a, 0x2a, 0x20,
			0x0a, 0x05, 0x2d, 0x8a, 0x1e, 0x06, 0x59, 0x20, 0xb8,
			0x36, 0x3f, 0xbb, 0xf1, 0xc3, 0x71, 0xa2, 0x32, 0x44,
			0xc6, 0x83, 0x51, 0x13, 0xd3,
		},
		{
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00,
		},
		{
			0x9f, 0x24, 0xa5, 0x6f, 0x98, 0x58, 0x51, 0x26, 0x2d,
			0x0c, 0xfd, 0xf1, 0x22, 0xb8, 0x9b, 0x3b, 0x93, 0xa1,
			0xdf, 0xd9, 0x7a, 0x29, 0x7f, 0xb1, 0xf6, 0xfc, 0x39,
			0xd6, 0xc7, 0x19, 0x94, 0x2e, 0x28, 0x97, 0x7b, 0xde,
			0x91, 0xcb, 0x39, 0x41, 0xc0, 0x35, 0xe3, 0xec, 0x45,
			0x4d, 0xbf, 0x9d, 0xbb, 0x43, 0x57, 0x69, 0x20, 0xdc,
			0x47, 0x27, 0x3d, 0x3f, 0x82, 0xcc, 0xc8, 0xa8, 0xfa,
			0xbc, 0x1b, 0x53, 0x2f, 0x9d, 0x1c, 0x48, 0x7d, 0xb3,
			0x1e, 0x7e, 0xaa, 0xc3, 0x32, 0x5e, 0xdd, 0x1f, 0xd8,
			0x08, 0x70, 0xcf, 0x30, 0xcc, 0xdc, 0x87, 0xa1, 0xfa,
			0x4b, 0x88, 0xeb, 0x7a, 0x1c, 0x46, 0x4d, 0x0b, 0x68,
			0xef, 0xc3, 0xdd, 0x76, 0x0a, 0x32, 0x59, 0xad, 0x28,
			0x0d, 0x49, 0x64, 0x2b, 0xeb, 0xde, 0xbc, 0x1a, 0x58,
			0x29, 0xf3, 0x2f, 0x09, 0xfb, 0x77, 0x7a, 0xfb, 0x40,
			0x9a, 0xee,
		}
	};

	TC_PRINT(".");
	result = do_hmac_prng_pr_false_test(103, &vec);

	return result;
}

unsigned int test_104(void)
{
	unsigned int result = TC_PASS;
	const struct hmac_prng_test_vector vec = {
		32,
		16,
		0,
		0,
		128,
		{
			0x0f, 0x4a, 0x78, 0xc8, 0x62, 0x3d, 0x30, 0x31, 0x54,
			0x39, 0x8c, 0xb9, 0x34, 0x08, 0x57, 0xba, 0x93, 0x73,
			0x88, 0xf9, 0x5b, 0x01, 0x97, 0xec, 0xba, 0x48, 0x7c,
			0x4c, 0xf0, 0x21, 0xb3, 0xca,
		},
		{
			0x6c, 0x02, 0xe6, 0x93, 0x98, 0xab, 0x7b, 0x7d, 0xfc,
			0x4a, 0xd8, 0x3e, 0x7f, 0x3c, 0xa8, 0xff,
		},
		{
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00,
		},
		{
			0x03, 0x02, 0x0b, 0x45, 0x11, 0xb2, 0x52, 0x9b, 0x2a,
			0x33, 0x48, 0x07, 0x8a, 0xd0, 0x31, 0x8b, 0xa5, 0xf8,
			0x25, 0xa1, 0xbb, 0x06, 0x72, 0xdc, 0x89, 0x4c, 0xb4,
			0xd1, 0xdd, 0x3e, 0x29, 0x4d,
		},
		{
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00,
		},
		{
			0xf5, 0xb9, 0xa5, 0x26, 0x29, 0x70, 0xb8, 0xcd, 0x94,
			0x48, 0x2a, 0xc6, 0xe4, 0xde, 0xdd, 0x8f, 0xfd, 0xca,
			0xca, 0x0f, 0xc3, 0x7e, 0x6d, 0x0f, 0xa7, 0x1a, 0xb1,
			0x0e, 0x5a, 0xe0, 0x74, 0x87, 0xc6, 0x88, 0x01, 0x7d,
			0xc0, 0x15, 0x14, 0xf8, 0x57, 0x70, 0x2b, 0x28, 0xcd,
			0x8e, 0x4f, 0x1b, 0x08, 0x39, 0xb9, 0xec, 0x4d, 0x6f,
			0x9e, 0x07, 0xe4, 0x55, 0x1e, 0x15, 0x0c, 0x91, 0xcd,
			0x4f, 0x4a, 0xa2, 0x2a, 0xa7, 0xe8, 0xa5, 0xe1, 0x07,
			0x78, 0x69, 0xb2, 0x45, 0x4b, 0xb8, 0xcd, 0xda, 0xee,
			0x69, 0xa0, 0x67, 0xc6, 0xb0, 0xdc, 0xc1, 0x78, 0xfe,
			0x1d, 0xa6, 0xed, 0xe5, 0xd5, 0x32, 0x69, 0x37, 0x25,
			0x36, 0xf3, 0x4b, 0xed, 0x37, 0x85, 0x66, 0xcb, 0xd8,
			0x98, 0x6d, 0xc1, 0xae, 0x08, 0x48, 0xbe, 0x74, 0x90,
			0x79, 0xdd, 0x57, 0x2d, 0x4d, 0x62, 0xe5, 0x1f, 0xe6,
			0x59, 0xca,
		}
	};

	TC_PRINT(".");
	result = do_hmac_prng_pr_false_test(104, &vec);

	return result;
}

unsigned int test_105(void)
{
	unsigned int result = TC_PASS;
	const struct hmac_prng_test_vector vec = {
		32,
		16,
		0,
		0,
		128,
		{
			0x00, 0x1c, 0xf2, 0xbb, 0x87, 0xee, 0x4a, 0xa1, 0x45,
			0x01, 0x19, 0x08, 0xce, 0x79, 0x92, 0x07, 0x00, 0xff,
			0x40, 0xce, 0x76, 0x50, 0x99, 0x29, 0x2b, 0x7b, 0x7a,
			0xec, 0x68, 0xee, 0xb0, 0x5e,
		},
		{
			0xb1, 0x01, 0x15, 0xcc, 0xfe, 0xfe, 0xc7, 0x48, 0x7c,
			0x87, 0x24, 0x12, 0x97, 0x70, 0x67, 0xa9,
		},
		{
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00,
		},
		{
			0x9b, 0x5d, 0xcf, 0xa4, 0x0b, 0x5c, 0x5a, 0x9d, 0xca,
			0xe4, 0xe8, 0xcd, 0xf1, 0x6e, 0x14, 0x58, 0xd4, 0x91,
			0x64, 0xb3, 0x17, 0xce, 0xfc, 0xe6, 0x3f, 0x28, 0xc1,
			0x0d, 0x29, 0x22, 0x99, 0x74,
		},
		{
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00,
		},
		{
			0xe0, 0xf0, 0x73, 0xc0, 0xbb, 0x40, 0x24, 0xc4, 0x6c,
			0xed, 0xd5, 0x6f, 0x6d, 0xde, 0x44, 0x67, 0x7d, 0x8d,
			0xcd, 0xaf, 0x8d, 0xf9, 0x39, 0xe2, 0xcb, 0xfa, 0xaf,
			0x0f, 0xc3, 0x81, 0x0f, 0x62, 0x1b, 0x29, 0xdd, 0xaa,
			0x78, 0x10, 0xee, 0x3c, 0xfc, 0x25, 0x12, 0x32, 0xc4,
			0xf8, 0xb0, 0x1c, 0x56, 0x64, 0xe4, 0xaf, 0x5e, 0xa0,
			0xa7, 0xa2, 0x0c, 0x76, 0x8a, 0xae, 0x83, 0x92, 0x18,
			0x63, 0xd7, 0xe0, 0xff, 0x12, 0x77, 0x8e, 0xe1, 0xe6,
			0xe4, 0xef, 0xee, 0xa6, 0x32, 0x0f, 0x9c, 0x8d, 0xd4,
			0x39, 0xe7, 0x98, 0x7e, 0x62, 0x0a, 0xc2, 0xee, 0x40,
			0x96, 0x52, 0xba, 0x7f, 0x07, 0x70, 0x8c, 0xa1, 0x9a,
			0x2e, 0x16, 0xf4, 0xd3, 0x24, 0xba, 0x1a, 0xcc, 0xa3,
			0xa4, 0xd2, 0x44, 0x30, 0x24, 0x38, 0x60, 0x8b, 0xa3,
			0xb6, 0x4c, 0xae, 0x05, 0x54, 0x5a, 0xd8, 0x67, 0x19,
			0x49, 0x51,
		}
	};

	TC_PRINT(".");
	result = do_hmac_prng_pr_false_test(105, &vec);

	return result;
}

unsigned int test_106(void)
{
	unsigned int result = TC_PASS;
	const struct hmac_prng_test_vector vec = {
		32,
		16,
		32,
		0,
		128,
		{
			0x22, 0xd8, 0xc6, 0x2b, 0xcd, 0xdf, 0x5d, 0xa1, 0xdb,
			0xdb, 0x09, 0x3d, 0x6b, 0x1f, 0x66, 0x3d, 0xde, 0x33,
			0x73, 0x43, 0xc5, 0x6c, 0xcf, 0xd4, 0x0a, 0xcb, 0xe3,
			0x30, 0x23, 0x09, 0xea, 0xe0,
		},
		{
			0x2a, 0x4b, 0x8e, 0x66, 0xde, 0xaa, 0xc3, 0x8b, 0x70,
			0xd9, 0xff, 0xc2, 0x0c, 0x58, 0x5d, 0xa5,
		},
		{
			0x0a, 0x33, 0x70, 0x38, 0xf4, 0xb4, 0x57, 0x3f, 0xf4,
			0x3a, 0x43, 0x21, 0xa5, 0x86, 0xca, 0x77, 0x7c, 0x30,
			0x30, 0x12, 0x67, 0xd8, 0x2f, 0xdf, 0x93, 0x71, 0x98,
			0xac, 0x56, 0xc7, 0x06, 0x2c,
		},
		{
			0x0b, 0x6f, 0xd1, 0x79, 0xe4, 0x4f, 0x14, 0x9f, 0x06,
			0x2d, 0xa4, 0xf6, 0x6f, 0x82, 0x9c, 0x3c, 0x58, 0xc4,
			0xa0, 0xa4, 0xf7, 0x5a, 0xc2, 0xa9, 0xe0, 0x24, 0x0d,
			0x43, 0xbe, 0xc3, 0x0e, 0x44,
		},
		{
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00,
		},
		{
			0x04, 0x6e, 0x19, 0xb4, 0xd8, 0xab, 0x38, 0xdd, 0x08,
			0xde, 0xfd, 0xd0, 0xd7, 0xc3, 0x0c, 0x8c, 0x75, 0xd5,
			0x68, 0x9c, 0xa2, 0x6f, 0x2b, 0xc9, 0x94, 0xac, 0x7f,
			0xca, 0x4f, 0xdb, 0xee, 0x80, 0x67, 0x7d, 0xfb, 0xdd,
			0x85, 0x1e, 0x77, 0x22, 0x83, 0x58, 0x44, 0xdc, 0xa7,
			0x9d, 0xec, 0x4a, 0x3f, 0xa8, 0x2f, 0xeb, 0x88, 0x4d,
			0xf7, 0xd4, 0x74, 0xbd, 0x97, 0x2e, 0x12, 0x61, 0x9b,
			0xd5, 0xd6, 0xcb, 0x1b, 0x95, 0x1e, 0xac, 0x47, 0xee,
			0xc2, 0x58, 0x11, 0x95, 0xb5, 0x31, 0x53, 0x4e, 0xde,
			0x50, 0x7a, 0xf6, 0xf7, 0x41, 0x7f, 0xca, 0x84, 0x53,
			0x2b, 0xe7, 0xef, 0x5d, 0xa6, 0x73, 0x8d, 0xbf, 0x7a,
			0xad, 0xfc, 0xd7, 0xcb, 0x88, 0x88, 0x62, 0xb5, 0x2e,
			0xc7, 0x73, 0xcf, 0x3f, 0xd0, 0x0e, 0x6d, 0x4e, 0xfb,
			0x30, 0x71, 0xaf, 0x9b, 0x70, 0xa4, 0x99, 0x35, 0xa3,
			0xba, 0x38,
		}
	};

	TC_PRINT(".");
	result = do_hmac_prng_pr_false_test(106, &vec);

	return result;
}

unsigned int test_107(void)
{
	unsigned int result = TC_PASS;
	const struct hmac_prng_test_vector vec = {
		32,
		16,
		32,
		0,
		128,
		{
			0x64, 0x11, 0x75, 0x6d, 0xc7, 0xaa, 0x3b, 0xe0, 0x96,
			0xad, 0x41, 0x9c, 0xe8, 0x38, 0x1c, 0x09, 0x10, 0xd2,
			0xa2, 0xaf, 0x5e, 0x94, 0x4d, 0x8f, 0xf2, 0x1f, 0x2f,
			0xc5, 0x66, 0x6a, 0xcb, 0x87,
		},
		{
			0x73, 0xb6, 0x8f, 0x5c, 0x74, 0x9f, 0xac, 0x09, 0xf0,
			0x1b, 0xa5, 0x65, 0xa7, 0x57, 0x89, 0xf8,
		},
		{
			0x3c, 0xa3, 0xd9, 0x14, 0x6e, 0x2e, 0xbf, 0xf2, 0x1a,
			0x28, 0x7d, 0x38, 0x5c, 0x42, 0x24, 0xed, 0x23, 0x59,
			0x6d, 0x74, 0x50, 0x17, 0xf3, 0xb8, 0x11, 0x48, 0xc9,
			0x2f, 0x3b, 0x9b, 0x27, 0xa1,
		},
		{
			0xd7, 0x70, 0x12, 0x8e, 0x71, 0x1a, 0x8d, 0xf1, 0x63,
			0xf4, 0xe2, 0x89, 0xe7, 0x75, 0x03, 0x2f, 0xdb, 0x47,
			0x3a, 0xa3, 0x8f, 0x7e, 0x1d, 0x29, 0x17, 0x26, 0x12,
			0x13, 0x78, 0xe9, 0xa8, 0xde,
		},
		{
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00,
		},
		{
			0xcd, 0x72, 0xf8, 0x09, 0xd9, 0xcd, 0x1a, 0xe1, 0x3d,
			0x99, 0x5d, 0x1c, 0xac, 0x36, 0x8e, 0xdb, 0xff, 0xf4,
			0x56, 0x97, 0xde, 0xb1, 0xd1, 0xb7, 0x95, 0xff, 0xcf,
			0x35, 0x49, 0x36, 0xf0, 0xbf, 0x61, 0xcf, 0x55, 0x0d,
			0x04, 0x3f, 0x9d, 0x2f, 0xa4, 0x62, 0x81, 0xa1, 0x39,
			0x3e, 0xac, 0xe3, 0x84, 0x7d, 0x5e, 0x4c, 0x63, 0x35,
			0x18, 0x2f, 0x87, 0xf4, 0x65, 0x80, 0x29, 0x89, 0xb2,
			0x55, 0x70, 0x1f, 0x9d, 0xae, 0xe0, 0x3f, 0x59, 0x1b,
			0xa5, 0xc0, 0x80, 0xd1, 0xf0, 0x58, 0x4b, 0x02, 0x7a,
			0xb3, 0xb1, 0xda, 0x57, 0x35, 0xc9, 0x36, 0x11, 0xd9,
			0xbe, 0x11, 0xa7, 0x9c, 0x0f, 0xde, 0x3b, 0xd4, 0x20,
			0x4e, 0xa3, 0x67, 0x40, 0x75, 0xea, 0x96, 0x7a, 0x24,
			0x4a, 0xb1, 0xdc, 0xac, 0xa6, 0xf0, 0x7b, 0x48, 0xbb,
			0xb0, 0xb7, 0xe2, 0x7d, 0x8a, 0x1a, 0x68, 0x0f, 0xa0,
			0x79, 0x4c,
		}
	};

	TC_PRINT(".");
	result = do_hmac_prng_pr_false_test(107, &vec);

	return result;
}

unsigned int test_108(void)
{
	unsigned int result = TC_PASS;
	const struct hmac_prng_test_vector vec = {
		32,
		16,
		32,
		0,
		128,
		{
			0x68, 0xae, 0xa6, 0x3a, 0xa5, 0xd6, 0xa8, 0x3a, 0x5f,
			0x71, 0xe3, 0x32, 0x68, 0xd1, 0x62, 0xa5, 0x8d, 0x8e,
			0xd1, 0x2f, 0xfb, 0x26, 0xc8, 0x25, 0x70, 0x3e, 0xd0,
			0xd1, 0x00, 0xdf, 0xd1, 0xeb,
		},
		{
			0xfa, 0x79, 0x9c, 0x67, 0x7c, 0x36, 0x1c, 0x3e, 0x3e,
			0xb3, 0x21, 0xb0, 0x73, 0x08, 0xf2, 0xfd,
		},
		{
			0xfd, 0x42, 0x73, 0xdf, 0xd5, 0xb3, 0xbc, 0x1c, 0x6a,
			0x12, 0x46, 0xf5, 0x43, 0x75, 0xe9, 0xa0, 0x02, 0x28,
			0x64, 0xdc, 0x40, 0x08, 0xf1, 0x94, 0x22, 0xec, 0x9c,
			0x0f, 0xf8, 0xa9, 0x56, 0x44,
		},
		{
			0xc6, 0x73, 0x35, 0x99, 0x70, 0x4a, 0xb7, 0x20, 0x44,
			0xfd, 0x28, 0x6e, 0x3f, 0x32, 0x7b, 0x53, 0xe2, 0xf0,
			0x4c, 0x33, 0xb1, 0x75, 0x44, 0xa4, 0x2c, 0x39, 0x90,
			0x59, 0x43, 0xce, 0x20, 0xe7,
		},
		{
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00,
		},
		{
			0x38, 0x92, 0x53, 0xf7, 0x3e, 0x2e, 0xd3, 0xf9, 0x10,
			0x9e, 0x6f, 0x98, 0xd8, 0x89, 0xb1, 0x55, 0x4f, 0x3b,
			0xee, 0xdc, 0xf9, 0xd4, 0x12, 0xae, 0xbc, 0x07, 0xba,
			0x9a, 0xc8, 0x50, 0xaf, 0x07, 0x91, 0x3f, 0xe1, 0xc9,
			0x9c, 0xc8, 0x24, 0xe9, 0x4e, 0x55, 0xcb, 0xe9, 0x9e,
			0xe2, 0x30, 0x66, 0xe8, 0xe0, 0x18, 0x83, 0x90, 0xaf,
			0xd8, 0x8d, 0xc3, 0xe1, 0x2d, 0x41, 0xb5, 0xb2, 0x77,
			0x62, 0xa9, 0x6b, 0x2d, 0xb3, 0x05, 0xbf, 0x7c, 0x12,
			0x06, 0x53, 0x09, 0xaa, 0xb5, 0x71, 0xad, 0xf3, 0x5b,
			0x26, 0x9b, 0xfb, 0x64, 0x79, 0x39, 0x79, 0x4c, 0x2e,
			0x7d, 0x1d, 0xae, 0xf3, 0x5d, 0x85, 0x74, 0x55, 0xde,
			0xb0, 0xfe, 0x12, 0x45, 0x1c, 0x41, 0x7e, 0x95, 0x55,
			0x30, 0x11, 0x81, 0x2e, 0xad, 0x9b, 0x81, 0x38, 0xf7,
			0xac, 0xeb, 0x75, 0xa5, 0x5e, 0xdc, 0xbf, 0x96, 0x8e,
			0x1f, 0x68,
		}
	};

	TC_PRINT(".");
	result = do_hmac_prng_pr_false_test(108, &vec);

	return result;
}

unsigned int test_109(void)
{
	unsigned int result = TC_PASS;
	const struct hmac_prng_test_vector vec = {
		32,
		16,
		32,
		0,
		128,
		{
			0xf9, 0xaa, 0xbb, 0x49, 0x60, 0x0f, 0xef, 0x8a, 0x93,
			0x11, 0xc0, 0x28, 0x80, 0xb3, 0xab, 0x2d, 0xf9, 0x0a,
			0xbb, 0xe0, 0x7f, 0x51, 0x43, 0x63, 0x2c, 0x6c, 0x35,
			0xb5, 0x73, 0xff, 0xdb, 0x8d,
		},
		{
			0x7c, 0x64, 0xac, 0xa5, 0xa1, 0x21, 0x11, 0x4f, 0x6e,
			0xbf, 0x5f, 0x62, 0x9b, 0x08, 0x2b, 0x61,
		},
		{
			0xf5, 0x55, 0x69, 0xa6, 0xdf, 0xb8, 0x77, 0x69, 0xcf,
			0x69, 0xb0, 0x2b, 0x40, 0x43, 0xa0, 0xe9, 0x05, 0x5b,
			0x5a, 0xec, 0x53, 0xa3, 0x1d, 0x24, 0x59, 0x55, 0x66,
			0xd5, 0x22, 0xf7, 0x6c, 0xd5,
		},
		{
			0x11, 0xdc, 0x58, 0x43, 0xc5, 0x5d, 0x03, 0x3b, 0x18,
			0x01, 0x01, 0x6b, 0xd0, 0xcf, 0x5d, 0x79, 0x9d, 0x76,
			0x8c, 0xdc, 0x1e, 0xe3, 0xe2, 0x1d, 0xa6, 0x1a, 0x02,
			0x27, 0xb9, 0x83, 0x15, 0x8c,
		},
		{
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00,
		},
		{
			0x3b, 0x6a, 0xa6, 0x99, 0xd9, 0x6f, 0x4f, 0x1d, 0xd2,
			0x9c, 0x19, 0xc5, 0x58, 0xd0, 0x3d, 0xb3, 0x00, 0xdb,
			0x1c, 0xc9, 0x2f, 0xb1, 0xa0, 0x56, 0x52, 0x79, 0xdb,
			0x1d, 0x05, 0x56, 0x67, 0xa7, 0x84, 0x49, 0x34, 0xf0,
			0x4d, 0xb0, 0x00, 0x59, 0x4c, 0xc0, 0x66, 0xb0, 0x4b,
			0xe5, 0x68, 0xc0, 0xde, 0xa8, 0xe4, 0xeb, 0xe5, 0x46,
			0x7e, 0x1f, 0xf9, 0xaf, 0x2c, 0x62, 0x72, 0x3b, 0x90,
			0xd4, 0xf2, 0xc2, 0x2a, 0x6c, 0xba, 0x2a, 0xfe, 0x15,
			0xf5, 0x50, 0x45, 0x03, 0xc8, 0xe4, 0x54, 0xdb, 0xc0,
			0xe8, 0x0a, 0x20, 0x33, 0x15, 0xa8, 0xf4, 0x59, 0xf9,
			0xea, 0xfb, 0x71, 0x11, 0x64, 0x53, 0x9d, 0xef, 0xa4,
			0x42, 0xb8, 0xf3, 0x52, 0x0e, 0xbe, 0xd4, 0xa5, 0xfc,
			0x4a, 0x84, 0x46, 0x10, 0x69, 0xee, 0xc4, 0x42, 0x5a,
			0xa3, 0xeb, 0x88, 0xae, 0x6d, 0x83, 0xad, 0x7a, 0x23,
			0x98, 0x50,
		}
	};

	TC_PRINT(".");
	result = do_hmac_prng_pr_false_test(109, &vec);

	return result;
}

unsigned int test_110(void)
{
	unsigned int result = TC_PASS;
	const struct hmac_prng_test_vector vec = {
		32,
		16,
		32,
		0,
		128,
		{
			0x88, 0xa7, 0x6c, 0x16, 0xd3, 0x27, 0x0e, 0xd3, 0xfc,
			0xd1, 0x76, 0xf9, 0xd7, 0x93, 0xfa, 0x0c, 0x35, 0x51,
			0x65, 0x74, 0xc1, 0xce, 0xf4, 0x25, 0xb6, 0x00, 0x76,
			0x28, 0xaf, 0xa3, 0x5e, 0x2b,
		},
		{
			0xff, 0x16, 0xcf, 0x7c, 0xb8, 0xe4, 0x9d, 0x48, 0x2c,
			0xfd, 0x39, 0x94, 0xab, 0xc5, 0xef, 0x8a,
		},
		{
			0x92, 0x13, 0xc5, 0x4e, 0x3d, 0x00, 0x2d, 0xf8, 0x74,
			0x11, 0x63, 0xab, 0x9d, 0x7e, 0x07, 0x57, 0xcd, 0x51,
			0x2c, 0x69, 0x1a, 0xd6, 0x4b, 0xaf, 0xef, 0x95, 0xcb,
			0x72, 0x53, 0x9b, 0x0a, 0xc6,
		},
		{
			0x49, 0x3b, 0x64, 0x7f, 0xf0, 0xb3, 0xfa, 0xa2, 0x92,
			0x1f, 0x12, 0xf8, 0xf5, 0x7b, 0x91, 0x93, 0x29, 0xf2,
			0xaf, 0x2f, 0xc1, 0xf1, 0x45, 0x76, 0xd9, 0xdf, 0x2f,
			0x8c, 0xc2, 0xad, 0xa7, 0xa6,
		},
		{
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00,
		},
		{
			0xf1, 0x33, 0x0a, 0x85, 0xf9, 0x00, 0x37, 0x87, 0x6b,
			0x37, 0x49, 0x20, 0x3e, 0x84, 0x92, 0x87, 0x44, 0x4a,
			0x82, 0x7f, 0x0a, 0x58, 0xc2, 0x49, 0xff, 0x86, 0x8f,
			0xc1, 0xad, 0xba, 0x4d, 0xce, 0x28, 0x5e, 0x07, 0x6a,
			0x1f, 0x8a, 0xe1, 0xda, 0x8c, 0xf9, 0xfe, 0x14, 0x93,
			0x1e, 0x81, 0x64, 0x18, 0x6c, 0x97, 0xa8, 0xfe, 0xaf,
			0x24, 0x58, 0x34, 0x51, 0xf1, 0x16, 0xe6, 0x5f, 0x8e,
			0x43, 0x2e, 0x7e, 0xd5, 0x5a, 0x36, 0x68, 0x31, 0x20,
			0x37, 0x7e, 0x23, 0x12, 0x8d, 0xca, 0x15, 0x40, 0xfe,
			0xfb, 0xf3, 0xaf, 0x1b, 0x56, 0xd5, 0xc7, 0x41, 0x87,
			0xf5, 0x28, 0x6d, 0x0a, 0x95, 0xfb, 0x55, 0x93, 0x17,
			0x70, 0x54, 0x30, 0x60, 0xce, 0x8d, 0xf0, 0x8f, 0x3c,
			0x19, 0x59, 0xa1, 0xf4, 0xfc, 0x36, 0xb6, 0x46, 0x71,
			0xe0, 0x65, 0x4f, 0xff, 0xe7, 0x0d, 0x96, 0xd5, 0x21,
			0xbe, 0x21,
		}
	};

	TC_PRINT(".");
	result = do_hmac_prng_pr_false_test(110, &vec);

	return result;
}

unsigned int test_111(void)
{
	unsigned int result = TC_PASS;
	const struct hmac_prng_test_vector vec = {
		32,
		16,
		32,
		0,
		128,
		{
			0xf8, 0xf2, 0xc3, 0x19, 0x4e, 0x8c, 0x4e, 0x90, 0x9e,
			0x6f, 0x05, 0x27, 0x95, 0x03, 0x07, 0x18, 0xcd, 0xd6,
			0x23, 0x53, 0x03, 0xbd, 0xe5, 0x37, 0xea, 0x3c, 0x70,
			0x53, 0x05, 0x62, 0x26, 0xe1,
		},
		{
			0xd5, 0x0e, 0xf4, 0xd0, 0x6d, 0x00, 0x74, 0x54, 0x65,
			0xce, 0x7b, 0x08, 0xcd, 0x03, 0x51, 0x76,
		},
		{
			0xed, 0x89, 0x7e, 0xc3, 0x3a, 0xe3, 0xf4, 0xb0, 0xc2,
			0x0b, 0x12, 0x8d, 0x94, 0x61, 0x5f, 0xe3, 0x87, 0x27,
			0x0f, 0x8f, 0x0d, 0x66, 0x5e, 0x11, 0x9b, 0x9b, 0x5a,
			0xd1, 0x0f, 0xd3, 0x65, 0x7a,
		},
		{
			0x91, 0x78, 0x49, 0x2a, 0x92, 0x51, 0x12, 0x80, 0x6b,
			0x27, 0x80, 0x2e, 0x0c, 0x9b, 0x0e, 0x70, 0xaf, 0x3f,
			0xd5, 0xb6, 0xdb, 0x9a, 0xf8, 0x70, 0x40, 0x28, 0x02,
			0x56, 0x35, 0xc5, 0xed, 0x27,
		},
		{
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00,
		},
		{
			0x0e, 0x50, 0xd9, 0xdb, 0x9a, 0x5e, 0xb2, 0xd0, 0xb0,
			0xd5, 0xc4, 0x53, 0x01, 0x70, 0x7e, 0xe2, 0x81, 0x86,
			0x68, 0x79, 0xe0, 0x72, 0xe5, 0x16, 0x96, 0xe3, 0x28,
			0x19, 0xb3, 0x3a, 0x44, 0xf0, 0xd0, 0x0b, 0x88, 0xab,
			0x5d, 0x6c, 0x31, 0xd9, 0x19, 0x88, 0xb1, 0x75, 0x7c,
			0xee, 0xa8, 0x93, 0x6e, 0xd5, 0xd0, 0xad, 0x67, 0x29,
			0x90, 0xf4, 0x95, 0x1d, 0xfa, 0xea, 0x99, 0x4d, 0xc0,
			0x0f, 0x32, 0x65, 0x09, 0x5b, 0xdb, 0xef, 0xaf, 0x1d,
			0x42, 0x24, 0xda, 0x61, 0x68, 0x88, 0xa8, 0x06, 0x60,
			0x9d, 0x28, 0x05, 0xcf, 0x0f, 0x51, 0x83, 0xd5, 0xe9,
			0x25, 0x26, 0x1e, 0x6b, 0x24, 0x90, 0xdd, 0x85, 0x24,
			0x2f, 0xc9, 0xfb, 0xd4, 0x26, 0xd7, 0x7a, 0xe8, 0x33,
			0x9a, 0xea, 0xc1, 0x83, 0x94, 0xbb, 0xf3, 0x51, 0xe0,
			0x61, 0xe4, 0x95, 0x61, 0x38, 0x36, 0x1d, 0x11, 0xb3,
			0x57, 0x72,
		}
	};

	TC_PRINT(".");
	result = do_hmac_prng_pr_false_test(111, &vec);

	return result;
}

unsigned int test_112(void)
{
	unsigned int result = TC_PASS;
	const struct hmac_prng_test_vector vec = {
		32,
		16,
		32,
		0,
		128,
		{
			0x2a, 0x65, 0xb1, 0x29, 0x9d, 0x03, 0x4b, 0x95, 0x40,
			0x07, 0xae, 0x77, 0x34, 0x03, 0xf5, 0x09, 0xec, 0x8d,
			0xf5, 0x2b, 0x25, 0xff, 0x57, 0x79, 0x19, 0xd3, 0x3e,
			0x97, 0x6f, 0xfd, 0x21, 0xa5,
		},
		{
			0x80, 0x80, 0xab, 0xa8, 0xc9, 0xf7, 0xa0, 0x4a, 0xd4,
			0x1c, 0x41, 0xde, 0xbc, 0x8d, 0x6b, 0x02,
		},
		{
			0x31, 0xa4, 0x66, 0x17, 0xe8, 0xee, 0xc9, 0x15, 0x70,
			0x7b, 0x75, 0xf7, 0xba, 0x78, 0x81, 0xf9, 0x63, 0x4e,
			0x7b, 0x01, 0x5e, 0xf2, 0xa2, 0xfb, 0x51, 0xf5, 0x92,
			0xfd, 0xda, 0x27, 0xfb, 0x20,
		},
		{
			0xe3, 0xc8, 0x81, 0x51, 0x72, 0xec, 0xee, 0x13, 0xe6,
			0x49, 0xff, 0x62, 0x4c, 0x62, 0x43, 0xaf, 0xbb, 0x46,
			0x60, 0x2b, 0xbf, 0xc3, 0xbd, 0x28, 0xd0, 0x31, 0x7b,
			0xad, 0x68, 0x56, 0xc6, 0x6f,
		},
		{
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00,
		},
		{
			0x5b, 0x1c, 0x01, 0xab, 0x1d, 0xf4, 0x42, 0x30, 0x5d,
			0xaa, 0x89, 0x98, 0x72, 0x8e, 0x1e, 0x99, 0x97, 0x5b,
			0x32, 0x32, 0x7d, 0xa7, 0x27, 0xf1, 0x62, 0xaf, 0xf5,
			0xec, 0xbb, 0x01, 0xd4, 0xd6, 0xe8, 0xb8, 0x55, 0x1f,
			0x7a, 0xbe, 0x18, 0x92, 0x62, 0x50, 0x12, 0xc2, 0x48,
			0x17, 0x8b, 0x2e, 0xc1, 0x2d, 0x64, 0xd8, 0x40, 0x63,
			0xf8, 0x7f, 0x12, 0x79, 0x28, 0xeb, 0xab, 0x06, 0xcf,
			0xc3, 0x77, 0xfd, 0x96, 0x55, 0xaa, 0xdb, 0xa3, 0x61,
			0xb9, 0x3f, 0x97, 0x6e, 0x51, 0x33, 0xb6, 0xfb, 0x87,
			0x45, 0xf1, 0x30, 0xd8, 0xc5, 0xea, 0xe6, 0xf0, 0xd3,
			0x85, 0x7f, 0xe5, 0xc6, 0x89, 0x04, 0xad, 0xea, 0xa2,
			0x24, 0xcc, 0xb9, 0x3a, 0x96, 0x0e, 0xd7, 0x9e, 0xcf,
			0x55, 0xd6, 0xaf, 0x30, 0x7d, 0x28, 0x73, 0x66, 0xb8,
			0xa2, 0xd4, 0x66, 0xb9, 0x5e, 0xdb, 0xa1, 0x42, 0xe8,
			0x6d, 0x12,
		}
	};

	TC_PRINT(".");
	result = do_hmac_prng_pr_false_test(112, &vec);

	return result;
}

unsigned int test_113(void)
{
	unsigned int result = TC_PASS;
	const struct hmac_prng_test_vector vec = {
		32,
		16,
		32,
		0,
		128,
		{
			0x85, 0xb6, 0x0f, 0xaa, 0x4e, 0xbf, 0xde, 0x82, 0x5f,
			0x0a, 0x49, 0x70, 0xc8, 0x0c, 0x78, 0xe3, 0x77, 0xa5,
			0x1d, 0xce, 0xbb, 0x09, 0x45, 0x3a, 0x03, 0xb6, 0x46,
			0xcb, 0xdc, 0x1c, 0x2f, 0x0e,
		},
		{
			0xfb, 0x4d, 0xff, 0x7e, 0x1a, 0xd3, 0x7f, 0x1d, 0x00,
			0xa1, 0x00, 0xde, 0x0a, 0x9d, 0x5d, 0x2b,
		},
		{
			0x46, 0x10, 0xc5, 0x65, 0x63, 0x72, 0x6c, 0x7b, 0xaa,
			0x3a, 0x21, 0x12, 0x90, 0x4a, 0xd8, 0x03, 0x62, 0x55,
			0xc9, 0x2f, 0xe7, 0x48, 0xd6, 0x5f, 0x12, 0x33, 0x35,
			0x48, 0x96, 0xfe, 0xe7, 0x2a,
		},
		{
			0x85, 0x40, 0x56, 0x92, 0x7b, 0x35, 0x05, 0x3b, 0x57,
			0x44, 0x8a, 0x2e, 0x0b, 0x6c, 0x7c, 0xf3, 0x71, 0xce,
			0x10, 0x79, 0x7e, 0xab, 0x1c, 0x0a, 0x00, 0x9d, 0x7a,
			0xbd, 0x1a, 0x06, 0x7c, 0xcc,
		},
		{
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00,
		},
		{
			0x19, 0x42, 0xa4, 0xdc, 0x08, 0xfe, 0x8d, 0x92, 0xf5,
			0xfa, 0x58, 0x17, 0x56, 0xdd, 0xc3, 0xf7, 0xa3, 0x21,
			0xcb, 0x96, 0x93, 0x3c, 0xc1, 0x93, 0x71, 0x1a, 0x0f,
			0x64, 0x40, 0xa7, 0x6b, 0x6c, 0x5a, 0x5d, 0xb8, 0x06,
			0x9c, 0x5c, 0x82, 0xfe, 0x3e, 0x1c, 0xdf, 0x3f, 0x35,
			0x20, 0xde, 0xb1, 0x65, 0x2a, 0x96, 0x98, 0xf9, 0x72,
			0x6f, 0xd4, 0x04, 0x8b, 0xab, 0xaf, 0x07, 0x05, 0x0e,
			0x93, 0x7d, 0x56, 0x54, 0x28, 0x99, 0xee, 0xa5, 0xec,
			0x2c, 0x16, 0x91, 0x9a, 0x36, 0x0d, 0xe5, 0xcc, 0xf4,
			0x9e, 0xee, 0xd1, 0x15, 0xee, 0x02, 0xc0, 0x67, 0xb7,
			0x25, 0x52, 0xbc, 0x4d, 0x4e, 0xef, 0xb6, 0xaa, 0x91,
			0xa2, 0x33, 0xdd, 0x73, 0x17, 0x95, 0x9a, 0x7e, 0x80,
			0xe1, 0x6b, 0x17, 0x37, 0x91, 0x84, 0x50, 0x3c, 0xbf,
			0x39, 0x31, 0xa6, 0x9e, 0x90, 0x2d, 0x97, 0xf8, 0x20,
			0xf8, 0x03,
		}
	};

	TC_PRINT(".");
	result = do_hmac_prng_pr_false_test(113, &vec);

	return result;
}

unsigned int test_114(void)
{
	unsigned int result = TC_PASS;
	const struct hmac_prng_test_vector vec = {
		32,
		16,
		32,
		0,
		128,
		{
			0xbb, 0x71, 0x47, 0xf6, 0x74, 0x54, 0x51, 0x7b, 0x2f,
			0x2b, 0x10, 0x37, 0x90, 0xb4, 0x42, 0x47, 0xef, 0xb5,
			0x28, 0xa7, 0x7a, 0x05, 0xaa, 0x22, 0x0c, 0x8f, 0xe4,
			0x0b, 0x32, 0x3a, 0x1f, 0x0a,
		},
		{
			0x33, 0xb4, 0x2b, 0x70, 0xeb, 0x65, 0xd9, 0x85, 0xf2,
			0x47, 0x61, 0x36, 0xc9, 0x49, 0xca, 0x18,
		},
		{
			0x7e, 0xaa, 0x52, 0xf6, 0xd4, 0x35, 0x29, 0x8f, 0xda,
			0x70, 0xef, 0x9a, 0xba, 0xe9, 0x0e, 0xb5, 0x49, 0x68,
			0xbd, 0x2b, 0x4c, 0xe7, 0x49, 0x83, 0x6c, 0xb2, 0xb1,
			0x1e, 0x45, 0x2f, 0x67, 0x68,
		},
		{
			0x4c, 0x26, 0x86, 0xe2, 0xed, 0xc7, 0xa2, 0x5b, 0xc9,
			0x27, 0x46, 0x42, 0xb8, 0x86, 0xf1, 0x51, 0x0c, 0x4d,
			0x0f, 0x00, 0x71, 0x5b, 0x75, 0x90, 0x1a, 0x40, 0xf3,
			0xd1, 0x53, 0x77, 0x88, 0xfc,
		},
		{
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00,
		},
		{
			0x50, 0xdc, 0x60, 0xbf, 0x8d, 0xf4, 0xb7, 0x3e, 0x0c,
			0x95, 0xb3, 0xe1, 0x73, 0x64, 0x11, 0x1d, 0xde, 0xff,
			0x81, 0x44, 0x24, 0x60, 0xd6, 0xc9, 0x35, 0xe1, 0xfc,
			0x5d, 0x2e, 0xd2, 0x95, 0xc2, 0x54, 0xc5, 0xc9, 0xf3,
			0x9d, 0x18, 0xf6, 0x54, 0x0e, 0x69, 0x7a, 0x1a, 0x7f,
			0xc5, 0x88, 0xb3, 0x7e, 0x8f, 0xc4, 0x5f, 0x31, 0x4c,
			0x06, 0xe9, 0xeb, 0x04, 0x45, 0x8f, 0x3b, 0xd1, 0x8d,
			0x23, 0xfb, 0x33, 0xdb, 0x2a, 0x31, 0x85, 0xa0, 0xcb,
			0x2b, 0x2d, 0x9b, 0xa6, 0x09, 0x15, 0x38, 0xe8, 0x5c,
			0x2d, 0x6f, 0xba, 0xc0, 0x20, 0x1f, 0xec, 0xd3, 0x37,
			0xd2, 0x68, 0x34, 0x7a, 0xd8, 0xf3, 0x04, 0x21, 0x3c,
			0x3a, 0xf9, 0x45, 0xca, 0x31, 0xed, 0xf8, 0xbe, 0x84,
			0x7a, 0x7b, 0x56, 0xd7, 0xbd, 0xcd, 0x30, 0x83, 0x99,
			0xb0, 0x65, 0x02, 0x79, 0x44, 0x43, 0xf7, 0x38, 0xf6,
			0xee, 0x55,
		}
	};

	TC_PRINT(".");
	result = do_hmac_prng_pr_false_test(114, &vec);

	return result;
}

unsigned int test_115(void)
{
	unsigned int result = TC_PASS;
	const struct hmac_prng_test_vector vec = {
		32,
		16,
		32,
		0,
		128,
		{
			0xd7, 0xdc, 0xdf, 0xaa, 0x81, 0xc3, 0x51, 0x19, 0xa4,
			0x69, 0x51, 0xae, 0xd8, 0xd8, 0x89, 0x95, 0x02, 0xfc,
			0x21, 0xb9, 0x09, 0xc8, 0xde, 0x8c, 0xf3, 0xa5, 0x67,
			0xc1, 0xae, 0x81, 0x16, 0x1d,
		},
		{
			0x4c, 0x24, 0x49, 0x56, 0x7c, 0x08, 0x67, 0xc9, 0xf4,
			0x3b, 0x75, 0x28, 0x60, 0xe3, 0x4b, 0xde,
		},
		{
			0x09, 0x41, 0x7a, 0x19, 0x12, 0xef, 0xc0, 0x14, 0x65,
			0xa8, 0x68, 0x2f, 0xf7, 0x13, 0x78, 0x70, 0x65, 0x24,
			0xb4, 0x6a, 0x0c, 0x27, 0x22, 0x0e, 0x9e, 0x40, 0xec,
			0x43, 0x07, 0x3c, 0x56, 0x3c,
		},
		{
			0x54, 0x8a, 0x97, 0xb1, 0x12, 0xab, 0x6c, 0xcb, 0x57,
			0x8d, 0xd7, 0x75, 0x99, 0xdf, 0x0c, 0xac, 0xde, 0x33,
			0x2a, 0xc1, 0xa6, 0x00, 0x88, 0xdc, 0x01, 0x8d, 0x18,
			0x38, 0x75, 0xb6, 0x1c, 0x51,
		},
		{
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00,
		},
		{
			0xb2, 0x00, 0xd6, 0x98, 0xfc, 0x72, 0xf0, 0x1e, 0x97,
			0x09, 0xe5, 0x3a, 0x0c, 0xa4, 0x82, 0xed, 0x3b, 0xe1,
			0x0e, 0x27, 0x72, 0x96, 0x42, 0x4c, 0xef, 0xd1, 0x10,
			0x72, 0xc7, 0xb1, 0x9b, 0xdd, 0xf7, 0x0f, 0xf1, 0x37,
			0xc9, 0x56, 0xe4, 0xd1, 0x1d, 0x8e, 0xb1, 0xeb, 0x29,
			0xbb, 0xe4, 0x97, 0x9c, 0xba, 0x9e, 0x2e, 0xb9, 0x41,
			0xf5, 0x29, 0xea, 0x96, 0x84, 0xce, 0xc6, 0x61, 0x4a,
			0x5f, 0x8c, 0x30, 0x95, 0x0d, 0x95, 0x44, 0x14, 0x8f,
			0xc4, 0xc9, 0x2b, 0xb8, 0xb7, 0xba, 0x89, 0x9e, 0x72,
			0x17, 0x48, 0xa1, 0xd6, 0xbf, 0x5e, 0x8b, 0xb6, 0x42,
			0x9b, 0xa9, 0x02, 0x0e, 0x08, 0x9a, 0x7c, 0x1e, 0x91,
			0x0c, 0x8f, 0xc7, 0x08, 0xe0, 0x2b, 0xe7, 0x5e, 0xfb,
			0x89, 0xf0, 0x0d, 0x6f, 0x8b, 0x52, 0x05, 0x40, 0x62,
			0xe4, 0x33, 0x43, 0xa6, 0x0d, 0xee, 0xd3, 0x9c, 0xd8,
			0x75, 0x6a,
		}
	};

	TC_PRINT(".");
	result = do_hmac_prng_pr_false_test(115, &vec);

	return result;
}

unsigned int test_116(void)
{
	unsigned int result = TC_PASS;
	const struct hmac_prng_test_vector vec = {
		32,
		16,
		32,
		0,
		128,
		{
			0x79, 0xad, 0xc5, 0xce, 0xae, 0xf7, 0x71, 0x10, 0x24,
			0x01, 0xac, 0xc2, 0xfc, 0xb3, 0xd0, 0x1d, 0x9b, 0xf7,
			0x54, 0x1e, 0xd8, 0x6e, 0x8a, 0xa1, 0x6c, 0x93, 0x8d,
			0x95, 0x56, 0x82, 0x9a, 0x8e,
		},
		{
			0x37, 0x9d, 0x9a, 0xeb, 0xe0, 0xbd, 0xbc, 0xa0, 0x7c,
			0x77, 0x4b, 0x5e, 0xf1, 0xee, 0x73, 0x2d,
		},
		{
			0x8b, 0x13, 0x32, 0x6a, 0x52, 0x19, 0x57, 0xed, 0xe0,
			0x04, 0x23, 0x5c, 0xd1, 0x38, 0x76, 0x7b, 0x7f, 0x45,
			0xf5, 0x50, 0xf2, 0xfc, 0x55, 0xb1, 0xf6, 0x7c, 0xdc,
			0xc7, 0x09, 0x23, 0x81, 0x1d,
		},
		{
			0xe2, 0x68, 0xce, 0xa9, 0xdd, 0xeb, 0x0c, 0xca, 0x53,
			0x88, 0xe1, 0x24, 0x17, 0xd9, 0x0c, 0x7f, 0xab, 0x62,
			0x9b, 0x2b, 0x2c, 0x14, 0x4d, 0xdc, 0x80, 0x54, 0xd0,
			0x42, 0x10, 0x58, 0x67, 0x14,
		},
		{
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00,
		},
		{
			0x00, 0x8f, 0xed, 0xe4, 0x41, 0xe5, 0x50, 0x95, 0x5d,
			0x75, 0x9c, 0x89, 0x22, 0x93, 0x59, 0xf6, 0xa0, 0x6e,
			0xc2, 0xc0, 0x6c, 0xe2, 0xdc, 0xf4, 0x2b, 0xb7, 0x2f,
			0x25, 0x5c, 0x28, 0xed, 0x75, 0x8b, 0x38, 0xa5, 0xf7,
			0xf7, 0xea, 0x94, 0x51, 0xa1, 0xc9, 0xb7, 0xa6, 0x88,
			0xd3, 0x79, 0xc9, 0xd3, 0x6f, 0xa7, 0xc8, 0x6e, 0xb1,
			0x1b, 0x67, 0xf4, 0xe3, 0xb9, 0x83, 0xfe, 0x4b, 0x42,
			0x15, 0x9f, 0xa6, 0x23, 0xf5, 0x5e, 0xea, 0x9f, 0xb1,
			0xff, 0x36, 0x76, 0xad, 0x54, 0x7d, 0xf4, 0x69, 0x60,
			0x7a, 0x03, 0xe8, 0xf8, 0x32, 0x26, 0x79, 0x68, 0xc8,
			0x38, 0x8b, 0x2d, 0xb8, 0x49, 0x16, 0x6a, 0x98, 0xa9,
			0x8a, 0xef, 0x8d, 0x9e, 0x25, 0x88, 0x8b, 0x1f, 0x6a,
			0xec, 0x3d, 0x66, 0xa0, 0x26, 0x35, 0x32, 0x59, 0xbd,
			0xa9, 0x02, 0xdf, 0x45, 0x5e, 0x6d, 0x2d, 0x52, 0x2c,
			0xde, 0xd4,
		}
	};

	TC_PRINT(".");
	result = do_hmac_prng_pr_false_test(116, &vec);

	return result;
}

unsigned int test_117(void)
{
	unsigned int result = TC_PASS;
	const struct hmac_prng_test_vector vec = {
		32,
		16,
		32,
		0,
		128,
		{
			0x37, 0x6d, 0xfb, 0x59, 0x42, 0x41, 0x45, 0x42, 0x0a,
			0xc6, 0x59, 0x67, 0x14, 0x5f, 0x6f, 0xa5, 0x1a, 0xac,
			0xec, 0x27, 0xbe, 0xa1, 0xd3, 0xf9, 0xf8, 0xb7, 0x61,
			0x6f, 0xcb, 0x36, 0xf7, 0x3b,
		},
		{
			0x56, 0x4c, 0x1c, 0xb8, 0x2b, 0xef, 0x2b, 0xdc, 0x2c,
			0x69, 0x99, 0x55, 0xbd, 0x2b, 0x07, 0x77,
		},
		{
			0xa0, 0x83, 0x9d, 0xaa, 0xac, 0xe6, 0xff, 0x20, 0x9f,
			0xba, 0x71, 0xc6, 0xbb, 0xba, 0x05, 0x84, 0x49, 0x7c,
			0xff, 0x77, 0x5d, 0x86, 0x50, 0x72, 0x28, 0x71, 0x7b,
			0x57, 0x6f, 0x3d, 0x5e, 0xd2,
		},
		{
			0x23, 0x0d, 0xa7, 0x2e, 0x74, 0x36, 0x7d, 0x92, 0x10,
			0x77, 0xb7, 0xc3, 0x8c, 0x11, 0xeb, 0x9e, 0x17, 0x13,
			0x1f, 0x7e, 0xe4, 0xff, 0x58, 0x0e, 0xd8, 0x83, 0x53,
			0x0d, 0xac, 0xf3, 0x41, 0x99,
		},
		{
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00,
		},
		{
			0xa7, 0xfe, 0xff, 0x8c, 0x68, 0x59, 0xff, 0x3d, 0x69,
			0x54, 0x3b, 0xe6, 0x16, 0x57, 0xc8, 0xc1, 0x9b, 0xe1,
			0x2b, 0x9f, 0x2b, 0x53, 0x48, 0xb9, 0x4f, 0x23, 0x70,
			0x04, 0x43, 0x7a, 0x20, 0xc6, 0xbe, 0x86, 0x19, 0xd5,
			0x31, 0x00, 0x5f, 0xc4, 0x7f, 0xcd, 0x6a, 0x1f, 0x07,
			0x38, 0x0f, 0xca, 0x90, 0x75, 0xfb, 0x11, 0x48, 0xf5,
			0xe3, 0xe1, 0x57, 0x16, 0x99, 0x8c, 0x12, 0x68, 0xba,
			0xc9, 0x72, 0xf9, 0x4e, 0x1b, 0x3e, 0xdb, 0x89, 0xe2,
			0x86, 0xa7, 0xb3, 0x6a, 0x53, 0xc0, 0x21, 0xfc, 0xa6,
			0x04, 0x53, 0xd7, 0xfb, 0x03, 0xa4, 0xeb, 0x00, 0x96,
			0x0d, 0xe3, 0x1c, 0x45, 0x8b, 0x37, 0x79, 0x86, 0xaf,
			0x33, 0xfc, 0xfc, 0xef, 0xa7, 0xf6, 0xc9, 0x38, 0xc7,
			0xfc, 0x61, 0x83, 0x37, 0xd4, 0xec, 0x8b, 0xd9, 0x42,
			0xb2, 0x3a, 0xb0, 0x1b, 0xb3, 0xb3, 0xde, 0x27, 0x0c,
			0xc9, 0xa9,
		}
	};

	TC_PRINT(".");
	result = do_hmac_prng_pr_false_test(117, &vec);

	return result;
}

unsigned int test_118(void)
{
	unsigned int result = TC_PASS;
	const struct hmac_prng_test_vector vec = {
		32,
		16,
		32,
		0,
		128,
		{
			0xfd, 0xbe, 0xe9, 0xba, 0xff, 0x0d, 0x02, 0x17, 0x18,
			0xbc, 0x07, 0x32, 0xce, 0x5b, 0x2e, 0x0b, 0xba, 0x13,
			0x3b, 0xd3, 0x19, 0xb4, 0xc5, 0x37, 0x5c, 0xbe, 0x32,
			0xda, 0x82, 0x74, 0xef, 0x72,
		},
		{
			0x68, 0x48, 0xa7, 0x8d, 0xac, 0x81, 0x74, 0x3c, 0x0a,
			0xc4, 0xc1, 0xd7, 0xa0, 0x8b, 0x21, 0xf3,
		},
		{
			0xeb, 0xc1, 0xf9, 0x76, 0x83, 0x42, 0x63, 0x2f, 0x57,
			0x6f, 0x7a, 0xf5, 0x03, 0x69, 0x95, 0x98, 0xd1, 0x3b,
			0xba, 0x5f, 0xcc, 0x8f, 0xfb, 0xe2, 0x94, 0xbd, 0xd1,
			0x6b, 0x8c, 0x86, 0x5f, 0xad,
		},
		{
			0xcc, 0x39, 0x27, 0x64, 0x5f, 0x65, 0xf5, 0x46, 0x60,
			0xc1, 0x69, 0xfd, 0x33, 0x94, 0xa3, 0x6a, 0x98, 0x9c,
			0x76, 0x0a, 0x28, 0x7f, 0x23, 0xee, 0x8b, 0xe2, 0x3d,
			0x0b, 0xcd, 0xb2, 0xbf, 0x6c,
		},
		{
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00,
		},
		{
			0xb4, 0x58, 0xae, 0xd8, 0x8a, 0x53, 0xcb, 0x5a, 0x1a,
			0x15, 0x71, 0x97, 0xb3, 0x80, 0x79, 0xcd, 0xa4, 0x55,
			0xbe, 0xdb, 0xc0, 0xe6, 0x9f, 0x7c, 0x66, 0xc1, 0xca,
			0x67, 0xad, 0xec, 0x05, 0xa4, 0x11, 0x71, 0x53, 0x09,
			0x58, 0x2c, 0x7a, 0x2d, 0x57, 0x09, 0xa4, 0xd6, 0xf2,
			0x7c, 0x70, 0x68, 0x66, 0x27, 0xad, 0xec, 0xc6, 0x8f,
			0x3a, 0x20, 0x45, 0xb8, 0xe7, 0xce, 0xd5, 0xb9, 0x2b,
			0x5d, 0xfa, 0x4a, 0x36, 0xe5, 0x55, 0xfd, 0x42, 0x12,
			0xf1, 0xe0, 0x33, 0xd9, 0x4a, 0x52, 0x3b, 0x16, 0xf1,
			0xa4, 0xfb, 0x15, 0xb6, 0x95, 0xd5, 0x8d, 0xf4, 0xa5,
			0xbe, 0x8e, 0xe7, 0xa2, 0xb9, 0xcb, 0xa0, 0xaf, 0x05,
			0xf2, 0x94, 0xcf, 0x0d, 0xaf, 0x54, 0xca, 0xba, 0x5b,
			0xfc, 0xd2, 0x89, 0xc6, 0xf7, 0xd9, 0x78, 0xef, 0xb4,
			0x12, 0x63, 0xc1, 0xba, 0x0d, 0xeb, 0xb0, 0x6b, 0x56,
			0xf3, 0xdc,
		}
	};

	TC_PRINT(".");
	result = do_hmac_prng_pr_false_test(118, &vec);

	return result;
}

unsigned int test_119(void)
{
	unsigned int result = TC_PASS;
	const struct hmac_prng_test_vector vec = {
		32,
		16,
		32,
		0,
		128,
		{
			0x0d, 0x10, 0x15, 0xbc, 0xe0, 0xf7, 0xba, 0xc3, 0xc0,
			0x74, 0x20, 0xb4, 0xf3, 0xf9, 0xbe, 0xca, 0x05, 0x64,
			0x87, 0x89, 0x7a, 0xb2, 0x6e, 0x8a, 0xd5, 0xc3, 0x39,
			0x03, 0x6c, 0x87, 0xa7, 0xce,
		},
		{
			0xad, 0x72, 0x17, 0x94, 0x44, 0x30, 0x6c, 0x67, 0x7b,
			0xb2, 0x70, 0x9d, 0x1d, 0x46, 0x4e, 0xfc,
		},
		{
			0xe8, 0xce, 0x89, 0xf4, 0xb7, 0xe0, 0xcb, 0xb3, 0xa2,
			0xfb, 0x74, 0x79, 0xd9, 0x5e, 0x80, 0xb3, 0x6e, 0xae,
			0x5c, 0x62, 0xd7, 0x23, 0x2f, 0x26, 0xc5, 0xa9, 0x10,
			0x35, 0x99, 0xa4, 0x9b, 0xdd,
		},
		{
			0x15, 0x58, 0x98, 0x57, 0x01, 0x04, 0x68, 0xca, 0x37,
			0xcb, 0x83, 0xad, 0xd5, 0x9c, 0xfc, 0x73, 0x3f, 0x6e,
			0x97, 0xf9, 0x53, 0xe2, 0xf8, 0xb8, 0xb9, 0x8f, 0xab,
			0xb8, 0x1f, 0x60, 0x8e, 0x47,
		},
		{
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00,
		},
		{
			0xcd, 0xb7, 0xa1, 0x15, 0x16, 0x1c, 0x33, 0x2a, 0x97,
			0xca, 0xee, 0xa6, 0xeb, 0x7a, 0x6b, 0xfd, 0x29, 0x9a,
			0x76, 0x8a, 0x8f, 0x78, 0x27, 0xdf, 0x16, 0x30, 0x48,
			0xf4, 0xdb, 0xf1, 0x75, 0x0e, 0xe1, 0xe8, 0x4d, 0x52,
			0x1b, 0x80, 0x01, 0xad, 0x7d, 0xbf, 0x97, 0xa8, 0x67,
			0xfb, 0x2b, 0x99, 0xd2, 0x1f, 0x99, 0x52, 0x4b, 0x84,
			0x11, 0x36, 0x36, 0x36, 0xe2, 0xd4, 0x40, 0xe9, 0x4f,
			0x26, 0xf2, 0xdd, 0x93, 0x51, 0x6e, 0x08, 0x96, 0x4d,
			0x29, 0x1f, 0x49, 0x96, 0x1a, 0xd2, 0xf3, 0xfa, 0x21,
			0xf6, 0xac, 0x7a, 0x00, 0xda, 0x08, 0xdb, 0xd8, 0x3c,
			0x52, 0x02, 0x31, 0xa9, 0x7e, 0x48, 0x29, 0xf6, 0x76,
			0xfb, 0xc1, 0x87, 0x17, 0xab, 0xce, 0xdc, 0x4d, 0xee,
			0x2a, 0x41, 0x44, 0x0d, 0x57, 0x97, 0xab, 0x01, 0x45,
			0x37, 0xa4, 0x2f, 0x59, 0x53, 0xa9, 0x59, 0x53, 0x5b,
			0x3c, 0x81,
		}
	};

	TC_PRINT(".");
	result = do_hmac_prng_pr_false_test(119, &vec);

	return result;
}

unsigned int test_120(void)
{
	unsigned int result = TC_PASS;
	const struct hmac_prng_test_vector vec = {
		32,
		16,
		32,
		0,
		128,
		{
			0x92, 0x84, 0xfd, 0x46, 0x60, 0xbe, 0xb7, 0xa1, 0x54,
			0x34, 0x9d, 0x74, 0xe2, 0xad, 0x84, 0x42, 0xa5, 0xac,
			0x06, 0x67, 0xac, 0x4d, 0x28, 0xda, 0xf0, 0x52, 0x9d,
			0xac, 0x5c, 0x80, 0x5a, 0x21,
		},
		{
			0xaf, 0xe9, 0x6e, 0x33, 0xc6, 0xd5, 0xbe, 0xf1, 0x65,
			0x28, 0x21, 0xde, 0xdb, 0x96, 0x41, 0x83,
		},
		{
			0x1b, 0x34, 0x19, 0xbe, 0xc2, 0x51, 0x35, 0x31, 0xfa,
			0x5f, 0xaf, 0xb4, 0x27, 0x85, 0xeb, 0x07, 0xec, 0x01,
			0xb6, 0x1a, 0x1e, 0x06, 0x45, 0x28, 0x08, 0xb2, 0x27,
			0xf5, 0xf5, 0xc8, 0x73, 0xcf,
		},
		{
			0xf4, 0x94, 0x2b, 0x20, 0xa4, 0x25, 0x89, 0xa2, 0x2e,
			0x1b, 0x3b, 0x22, 0x14, 0x33, 0x6d, 0x1b, 0xa3, 0xb1,
			0x17, 0x53, 0x93, 0x7b, 0x93, 0xf1, 0xd7, 0xc3, 0x63,
			0x6b, 0x34, 0x6d, 0x70, 0xa1,
		},
		{
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			0x00, 0x00, 0x00, 0x00, 0x00,
		},
		{
			0xf0, 0xb8, 0x7f, 0x8c, 0x3c, 0x67, 0xf4, 0xdf, 0x3c,
			0xc6, 0x13, 0xc3, 0xc6, 0x79, 0x99, 0x67, 0x59, 0x51,
			0x17, 0x7c, 0x2d, 0x7d, 0x64, 0x6e, 0xc0, 0x3e, 0x52,
			0x22, 0x67, 0xea, 0x1d, 0x39, 0xd4, 0x20, 0x60, 0xd8,
			0xb1, 0x57, 0x77, 0x4a, 0xf7, 0xad, 0x7f, 0xd7, 0xf8,
			0x51, 0xf9, 0xc1, 0x3a, 0xaf, 0xa5, 0x6a, 0x64, 0xd7,
			0xc0, 0xff, 0x86, 0xc8, 0xdd, 0x95, 0x88, 0xf6, 0x9c,
			0x6e, 0x7a, 0x96, 0x80, 0x75, 0x9b, 0xc1, 0xb6, 0x02,
			0x79, 0x8b, 0x23, 0x95, 0x9f, 0xe5, 0x4f, 0xf4, 0xbd,
			0x2c, 0xe2, 0xd8, 0xed, 0xe7, 0x29, 0x8f, 0x68, 0x80,
			0x1a, 0xad, 0x61, 0x97, 0x74, 0x85, 0xe0, 0xac, 0xba,
			0xde, 0xec, 0xf4, 0x7b, 0x7e, 0xb3, 0x0e, 0x92, 0xf4,
			0x06, 0xd9, 0x73, 0xe3, 0x26, 0x51, 0x8d, 0xb3, 0xaf,
			0x0e, 0xa0, 0x6e, 0xa5, 0x74, 0xba, 0x7b, 0x01, 0x61,
			0xab, 0xf2,
		}
	};

	TC_PRINT(".");
	result = do_hmac_prng_pr_false_test(120, &vec);

	return result;
}


ZTEST(hmac_prng_fn, test_hmac_prng)
{
	unsigned int result = TC_PASS;

	TC_START("Performing HMAC-PRNG tests:");

	result = test_1();
	zassert_false(result == TC_FAIL, "HMAC test 1 failed");

	result = test_2();
	zassert_false(result == TC_FAIL, "HMAC test 2 failed");

	result = test_3();
	zassert_false(result == TC_FAIL, "HMAC test 3 failed");

	result = test_4();
	zassert_false(result == TC_FAIL, "HMAC test 4 failed");

	result = test_5();
	zassert_false(result == TC_FAIL, "HMAC test 5 failed");

	result = test_6();
	zassert_false(result == TC_FAIL, "HMAC test 6 failed");

	result = test_7();
	zassert_false(result == TC_FAIL, "HMAC test 7 failed");

	result = test_8();
	zassert_false(result == TC_FAIL, "HMAC test 8 failed");

	result = test_9();
	zassert_false(result == TC_FAIL, "HMAC test 9 failed");

	result = test_10();
	zassert_false(result == TC_FAIL, "HMAC test 10 failed");

	result = test_11();
	zassert_false(result == TC_FAIL, "HMAC test 11 failed");

	result = test_12();
	zassert_false(result == TC_FAIL, "HMAC test 12 failed");

	result = test_13();
	zassert_false(result == TC_FAIL, "HMAC test 13 failed");

	result = test_14();
	zassert_false(result == TC_FAIL, "HMAC test 14 failed");

	result = test_15();
	zassert_false(result == TC_FAIL, "HMAC test 15 failed");

	result = test_16();
	zassert_false(result == TC_FAIL, "HMAC test 16 failed");

	result = test_17();
	zassert_false(result == TC_FAIL, "HMAC test 17 failed");

	result = test_18();
	zassert_false(result == TC_FAIL, "HMAC test 18 failed");

	result = test_19();
	zassert_false(result == TC_FAIL, "HMAC test 19 failed");

	result = test_20();
	zassert_false(result == TC_FAIL, "HMAC test 20 failed");

	result = test_21();
	zassert_false(result == TC_FAIL, "HMAC test 21 failed");

	result = test_22();
	zassert_false(result == TC_FAIL, "HMAC test 22 failed");

	result = test_23();
	zassert_false(result == TC_FAIL, "HMAC test 23 failed");

	result = test_24();
	zassert_false(result == TC_FAIL, "HMAC test 24 failed");

	result = test_25();
	zassert_false(result == TC_FAIL, "HMAC test 25 failed");

	result = test_26();
	zassert_false(result == TC_FAIL, "HMAC test 26 failed");

	result = test_27();
	zassert_false(result == TC_FAIL, "HMAC test 27 failed");

	result = test_28();
	zassert_false(result == TC_FAIL, "HMAC test 28 failed");

	result = test_29();
	zassert_false(result == TC_FAIL, "HMAC test 29 failed");

	result = test_30();
	zassert_false(result == TC_FAIL, "HMAC test 30 failed");

	result = test_31();
	zassert_false(result == TC_FAIL, "HMAC test 31 failed");

	result = test_32();
	zassert_false(result == TC_FAIL, "HMAC test 32 failed");

	result = test_33();
	zassert_false(result == TC_FAIL, "HMAC test 33 failed");

	result = test_34();
	zassert_false(result == TC_FAIL, "HMAC test 34 failed");

	result = test_35();
	zassert_false(result == TC_FAIL, "HMAC test 35 failed");

	result = test_36();
	zassert_false(result == TC_FAIL, "HMAC test 36 failed");

	result = test_37();
	zassert_false(result == TC_FAIL, "HMAC test 37 failed");

	result = test_38();
	zassert_false(result == TC_FAIL, "HMAC test 38 failed");

	result = test_39();
	zassert_false(result == TC_FAIL, "HMAC test 39 failed");

	result = test_40();
	zassert_false(result == TC_FAIL, "HMAC test 40 failed");

	result = test_41();
	zassert_false(result == TC_FAIL, "HMAC test 41 failed");

	result = test_42();
	zassert_false(result == TC_FAIL, "HMAC test 42 failed");

	result = test_43();
	zassert_false(result == TC_FAIL, "HMAC test 43 failed");

	result = test_44();
	zassert_false(result == TC_FAIL, "HMAC test 44 failed");

	result = test_45();
	zassert_false(result == TC_FAIL, "HMAC test 45 failed");

	result = test_46();
	zassert_false(result == TC_FAIL, "HMAC test 46 failed");

	result = test_47();
	zassert_false(result == TC_FAIL, "HMAC test 47 failed");

	result = test_48();
	zassert_false(result == TC_FAIL, "HMAC test 48 failed");

	result = test_49();
	zassert_false(result == TC_FAIL, "HMAC test 49 failed");

	result = test_50();
	zassert_false(result == TC_FAIL, "HMAC test 50 failed");

	result = test_51();
	zassert_false(result == TC_FAIL, "HMAC test 51 failed");

	result = test_52();
	zassert_false(result == TC_FAIL, "HMAC test 52 failed");

	result = test_53();
	zassert_false(result == TC_FAIL, "HMAC test 53 failed");

	result = test_54();
	zassert_false(result == TC_FAIL, "HMAC test 54 failed");

	result = test_55();
	zassert_false(result == TC_FAIL, "HMAC test 55 failed");

	result = test_56();
	zassert_false(result == TC_FAIL, "HMAC test 56 failed");

	result = test_57();
	zassert_false(result == TC_FAIL, "HMAC test 57 failed");

	result = test_58();
	zassert_false(result == TC_FAIL, "HMAC test 58 failed");

	result = test_59();
	zassert_false(result == TC_FAIL, "HMAC test 59 failed");

	result = test_60();
	zassert_false(result == TC_FAIL, "HMAC test 60 failed");

	result = test_61();
	zassert_false(result == TC_FAIL, "HMAC test 61 failed");

	result = test_62();
	zassert_false(result == TC_FAIL, "HMAC test 62 failed");

	result = test_63();
	zassert_false(result == TC_FAIL, "HMAC test 63 failed");

	result = test_64();
	zassert_false(result == TC_FAIL, "HMAC test 64 failed");

	result = test_65();
	zassert_false(result == TC_FAIL, "HMAC test 65 failed");

	result = test_66();
	zassert_false(result == TC_FAIL, "HMAC test 66 failed");

	result = test_67();
	zassert_false(result == TC_FAIL, "HMAC test 67 failed");

	result = test_68();
	zassert_false(result == TC_FAIL, "HMAC test 68 failed");

	result = test_69();
	zassert_false(result == TC_FAIL, "HMAC test 69 failed");

	result = test_70();
	zassert_false(result == TC_FAIL, "HMAC test 70 failed");

	result = test_71();
	zassert_false(result == TC_FAIL, "HMAC test 71 failed");

	result = test_72();
	zassert_false(result == TC_FAIL, "HMAC test 72 failed");

	result = test_73();
	zassert_false(result == TC_FAIL, "HMAC test 73 failed");

	result = test_74();
	zassert_false(result == TC_FAIL, "HMAC test 74 failed");

	result = test_75();
	zassert_false(result == TC_FAIL, "HMAC test 75 failed");

	result = test_76();
	zassert_false(result == TC_FAIL, "HMAC test 76 failed");

	result = test_77();
	zassert_false(result == TC_FAIL, "HMAC test 77 failed");

	result = test_78();
	zassert_false(result == TC_FAIL, "HMAC test 78 failed");

	result = test_79();
	zassert_false(result == TC_FAIL, "HMAC test 79 failed");

	result = test_80();
	zassert_false(result == TC_FAIL, "HMAC test 80 failed");

	result = test_81();
	zassert_false(result == TC_FAIL, "HMAC test 81 failed");

	result = test_82();
	zassert_false(result == TC_FAIL, "HMAC test 82 failed");

	result = test_83();
	zassert_false(result == TC_FAIL, "HMAC test 83 failed");

	result = test_84();
	zassert_false(result == TC_FAIL, "HMAC test 84 failed");

	result = test_85();
	zassert_false(result == TC_FAIL, "HMAC test 85 failed");

	result = test_86();
	zassert_false(result == TC_FAIL, "HMAC test 86 failed");

	result = test_87();
	zassert_false(result == TC_FAIL, "HMAC test 87 failed");

	result = test_88();
	zassert_false(result == TC_FAIL, "HMAC test 88 failed");

	result = test_89();
	zassert_false(result == TC_FAIL, "HMAC test 89 failed");

	result = test_90();
	zassert_false(result == TC_FAIL, "HMAC test 90 failed");

	result = test_91();
	zassert_false(result == TC_FAIL, "HMAC test 91 failed");

	result = test_92();
	zassert_false(result == TC_FAIL, "HMAC test 92 failed");

	result = test_93();
	zassert_false(result == TC_FAIL, "HMAC test 93 failed");

	result = test_94();
	zassert_false(result == TC_FAIL, "HMAC test 94 failed");

	result = test_95();
	zassert_false(result == TC_FAIL, "HMAC test 95 failed");

	result = test_96();
	zassert_false(result == TC_FAIL, "HMAC test 96 failed");

	result = test_97();
	zassert_false(result == TC_FAIL, "HMAC test 97 failed");

	result = test_98();
	zassert_false(result == TC_FAIL, "HMAC test 98 failed");

	result = test_99();
	zassert_false(result == TC_FAIL, "HMAC test 99 failed");

	result = test_100();
	zassert_false(result == TC_FAIL, "HMAC test 100 failed");

	result = test_101();
	zassert_false(result == TC_FAIL, "HMAC test 101 failed");

	result = test_102();
	zassert_false(result == TC_FAIL, "HMAC test 102 failed");

	result = test_103();
	zassert_false(result == TC_FAIL, "HMAC test 103 failed");

	result = test_104();
	zassert_false(result == TC_FAIL, "HMAC test 104 failed");

	result = test_105();
	zassert_false(result == TC_FAIL, "HMAC test 105 failed");

	result = test_106();
	zassert_false(result == TC_FAIL, "HMAC test 106 failed");

	result = test_107();
	zassert_false(result == TC_FAIL, "HMAC test 107 failed");

	result = test_108();
	zassert_false(result == TC_FAIL, "HMAC test 108 failed");

	result = test_109();
	zassert_false(result == TC_FAIL, "HMAC test 109 failed");

	result = test_110();
	zassert_false(result == TC_FAIL, "HMAC test 110 failed");

	result = test_111();
	zassert_false(result == TC_FAIL, "HMAC test 111 failed");

	result = test_112();
	zassert_false(result == TC_FAIL, "HMAC test 112 failed");

	result = test_113();
	zassert_false(result == TC_FAIL, "HMAC test 113 failed");

	result = test_114();
	zassert_false(result == TC_FAIL, "HMAC test 114 failed");

	result = test_115();
	zassert_false(result == TC_FAIL, "HMAC test 115 failed");

	result = test_116();
	zassert_false(result == TC_FAIL, "HMAC test 116 failed");

	result = test_117();
	zassert_false(result == TC_FAIL, "HMAC test 117 failed");

	result = test_118();
	zassert_false(result == TC_FAIL, "HMAC test 118 failed");

	result = test_119();
	zassert_false(result == TC_FAIL, "HMAC test 119 failed");

	result = test_120();
	zassert_false(result == TC_FAIL, "HMAC test 120 failed");

	TC_PRINT("\n");
	TC_PRINT("All HMAC-PRNG tests succeeded!\n");
}

ZTEST_SUITE(hmac_prng_fn, NULL, NULL, NULL, NULL, NULL);
