다음을 통해 공유


BCRYPT_MLKEM_KEY_BLOB structure

Note

일부 정보는 상용 출시되기 전에 실질적으로 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다. 이 항목에 설명된 기능은 Windows Insider Preview시험판 버전에서 사용할 수 있습니다.

The BCRYPT_MLKEM_KEY_BLOB structure is used as a header for an ML-KEM public key (byte-encoded encapsulation key) or private keyBLOB in memory.

Syntax

typedef struct _BCRYPT_MLKEM_KEY_BLOB {
  ULONG dwMagic;
  ULONG cbParameterSet;             // Byte size of parameterSet[]
  ULONG cbKey;                      // Byte size of key[]
  // WCHAR parameterSet[cbParameterSet / sizeof(WCHAR)];  // Including \0-terminated
  // BYTE key[cbKey];                                     // Key material
} BCRYPT_MLKEM_KEY_BLOB, *PBCRYPT_MLKEM_KEY_BLOB;

Fields

dwMagic

The dwMagic field is a 4-byte value that indicates the format of the key being used. 다음 값이 정의됩니다.

Value Meaning
BCRYPT_MLKEM_PUBLIC_MAGIC0x504B4C4D 구조체는 공개 키를 나타냅니다.
BCRYPT_MLKEM_PRIVATE_MAGIC0x524B4C4D 구조체는 확장된 프라이빗 키를 나타냅니다.
BCRYPT_MLKEM_PRIVATE_SEED_MAGIC0x534B4C4D 구조체는 프라이빗 시드를 나타냅니다.

cbParameterSet

The length, in bytes, of the buffer parameterSet directly following the struct. 이 버퍼에는 키의 매개 변수 집합을 식별하는 null로 끝나는 유니코드 문자열이 포함되어 있습니다. The following values (per FIPS 203) are currently supported:

parameterSet cbParameterSet Meaning
BCRYPT_MLKEM_PARAMETER_SET_512L"512" 8 ML-KEM-512, 보안 범주 1.
BCRYPT_MLKEM_PARAMETER_SET_768L"768" 8 ML-KEM-768, 보안 범주 3.
BCRYPT_MLKEM_PARAMETER_SET_1024L"1024" 10 ML-KEM-1024, 보안 범주 5.

cbKey

The length, in bytes, of the buffer key directly following parameterSet. 이 크기는 정적이며 사용 중인 키 형식 및 매개 변수 집합에 따라 달라집니다.

Remarks

BCRYPT_MLKEM_PRIVATE_SEED_BLOB supports import and export of ML-KEM seeds. The blob has dwMagic value BCRYPT_MLKEM_PRIVATE_SEED_MAGIC and the key field contains the KEM seed (defined as the 64-byte concatenation of d || z per FIPS 203), so cbKey is currently always 64.

BCRYPT_MLKEM_PRIVATE_BLOB (also aliased as BCRYPT_MLKEM_DECAPSULATION_BLOB) supports import and export of standard byte-encoded ML-KEM decapsulation keys per FIPS 203. The blob has dwMagic value BCRYPT_MLKEM_PRIVATE_MAGIC and the key field contains the byte-encoded key.

BCRYPT_MLKEM_PUBLIC_BLOB (also aliased as BCRYPT_MLKEM_ENCAPSULATION_BLOB) supports import and export of standard byte-encoded ML-KEM encapsulation keys per FIPS 203. The blob has dwMagic value BCRYPT_MLKEM_PUBLIC_MAGIC and the key field contains the byte-encoded key.

The byte sizes of the byte-encoded keys can be found in FIPS 203 Section 8 Table 3. Many callers can instead dynamically query the required blob sizes using BCryptExportKey with NULLpbOutput.

Requirements

Requirement Value
지원되는 최소 클라이언트 Windows 참가자(빌드 27843): ML-KEM 대한 지원이 시작됩니다. [데스크톱 앱만 해당]
지원되는 최소 서버 Windows 참가자(빌드 27843): ML-KEM 대한 지원이 시작됩니다. [데스크톱 앱만 해당]
Header bcrypt.h

See also

BCryptGenerateKeyPair

BCryptImportKeyPair

BCryptFinalizeKeyPair

BCryptExportKey

BCryptGetProperty

BCryptSetProperty

BCryptEncapsulate

BCryptDecapsulate