Freigeben über


EFI_RNG_ALGORITHM_LIST Struktur

Diese Datenstruktur enthält eine Liste der unterstützten RNG-Algorithmen (Random Number Generation).

Syntax

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

Member

AlgorithmsCount
Die Anzahl der Algorithmen in der Liste.

Algorithmen
Zeiger auf eine Liste von RNG-Algorithmen. Jeder Algorithmus ist sizeof(EFI_GUID) Bytes lang. Es liegt in der Verantwortung des Aufrufers, diesen Arbeitsspeicher mithilfe von EFI_BOOT_SERVICES-FreePool>() freizugeben.

Bemerkungen

Eine Implementierung kann eine oder mehrere Möglichkeiten zum Bereitstellen von RNG-Werten unterstützen. Die Liste der unterstützten RNG-Algorithmen wird in dieser Struktur dargestellt.

Die folgende Liste enthält EFI-GUID-Werte für eine Auswahl von EFI_RNG_PROTOCOL Algorithmen. Die Liste soll nicht vollständig sein und kann durch Anbieter oder andere Branchenstandards ergänzt werden.

#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}