2 Application for Pseudorandom Number Generator Validation.
4 Copyright (c) 2010, Intel Corporation. All rights reserved.<BR>
5 SPDX-License-Identifier: BSD-2-Clause-Patent
9 #include "TestBaseCryptLib.h"
11 #define RANDOM_NUMBER_SIZE 256
13 CONST UINT8 SeedString
[] = "This is the random seed for PRNG verification.";
15 UINT8 PreviousRandomBuffer
[RANDOM_NUMBER_SIZE
] = { 0x0 };
17 UINT8 RandomBuffer
[RANDOM_NUMBER_SIZE
] = { 0x0 };
21 TestVerifyPrngGeneration (
22 UNIT_TEST_CONTEXT Context
28 Status
= RandomSeed (SeedString
, sizeof (SeedString
));
29 UT_ASSERT_TRUE (Status
);
31 for (Index
= 0; Index
< 10; Index
++) {
32 Status
= RandomBytes (RandomBuffer
, RANDOM_NUMBER_SIZE
);
33 UT_ASSERT_TRUE (Status
);
35 Status
= (CompareMem (PreviousRandomBuffer
, RandomBuffer
, RANDOM_NUMBER_SIZE
) == 0);
36 UT_ASSERT_FALSE (Status
);
38 CopyMem (PreviousRandomBuffer
, RandomBuffer
, RANDOM_NUMBER_SIZE
);
41 return UNIT_TEST_PASSED
;
44 TEST_DESC mPrngTest
[] = {
46 // -----Description--------------------------------Class--------------------Function----------------Pre---Post--Context
48 { "TestVerifyPrngGeneration()", "CryptoPkg.BaseCryptLib.Prng", TestVerifyPrngGeneration
, NULL
, NULL
, NULL
},
51 UINTN mPrngTestNum
= ARRAY_SIZE (mPrngTest
);