このデータ構造には、サポートされている乱数生成器 (RNG) アルゴリズムの一覧が含まれています。
構文
typedef struct _EFI_RNG_ALGORITHM_LIST {
UINT32 AlgorithmsCount;
EFI_GUID * Algorithms;
} EFI_RNG_ALGORITHM_LIST, *PEFI_RNG_ALGORITHM_LIST;
メンバー
AlgorithmsCount
一覧内のアルゴリズムの数。
アルゴリズム
RNG アルゴリズムの一覧へのポインター。 各アルゴリズムは sizeof(EFI_GUID)
バイト長です。 呼び出し元は、EFI_BOOT_Standard Edition RVICES->FreePool() を使用してこのメモリを解放する必要があります。
解説
実装では、RNG 値を提供するための 1 つ以上の方法をサポートしていることがあります。 サポートされている RNG アルゴリズムの一覧は、この構造体で表されます。
次の一覧は、EFI_RNG_PROTOCOL アルゴリズムの選択に対する EFI GUID 値を示しています。 この一覧は網羅的なものではなく、ベンダーやその他の業界標準によって増加することがあります。
#define EFI_RNG_ALGORITHM_SP800_90_HASH_256_GUID \
{0xa7af67cb, 0x603b, 0x4d42, 0xba, 0x21, 0x70, 0xbf, 0xb6, 0x29,\
0x3f, 0x96}
#define EFI_RNG_ALGORITHM_SP800_90_HMAC_256_GUID \
{0xc5149b43, 0xae85, 0x4f53, 0x99, 0x82, 0xb9, 0x43, 0x35, 0xd3,\
0xa9, 0xe7}
#define EFI_RNG_ALGORITHM_SP800_90_CTR_256_GUID \
{0x44f0de6e, 0x4d8c, 0x4045, 0xa8, 0xc7, 0x4d, 0xd1, 0x68, 0x85,\
0x6b, 0x9e}