Share via


EFI_RNG_ALGORITHM_LIST Structure

このデータ構造体は、サポートされている乱数生成 (RNG) アルゴリズムのリストを含みます。

構文

typedef struct _EFI_RNG_ALGORITHM_LIST {
  UINT32     AlgorithmsCount;
  EFI_GUID * Algorithms;
} EFI_RNG_ALGORITHM_LIST, *PEFI_RNG_ALGORITHM_LIST;

メンバー

  • AlgorithmsCount
    リストにあるアルゴリズムの数。

  • Algorithms
    RNG アルゴリズムのリストへのポインター。各アルゴリズムは sizeof(EFI_GUID) バイト長です。EFI_BOOT_SERVICES->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}