EFI_RNG_ALGORITHM_LIST 结构

此数据结构包含支持的随机数生成 (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_SERVICES->FreePool() 释放此内存。

注解

实现可能支持提供 RNG 值的一种或多种方法。 此结构中显示支持的 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}