Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Note
Некоторые сведения относятся к предварительному продукту, который может быть существенно изменен до его коммерческого выпуска. Корпорация Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых в отношении информации, предоставленной здесь. Составные функции, описанные в этом разделе, доступны в предварительной версии Windows Предварительной версии программы предварительной оценки.
Эта структура используется для импорта и экспорта ключей для алгоритмов post-Quantum Digital Signature (PQDSA). Структура BCRYPT_PQDSA_KEY_BLOB используется в качестве заголовка для открытого ключа (PQDSA) (байтового инкапсулированного ключа) или BLOB-объектазакрытого ключа в памяти.
Syntax
typedef struct _BCRYPT_PQDSA_KEY_BLOB {
ULONG dwMagic;
ULONG cbParameterSet; // Byte size of parameterSet[]
ULONG cbKey; // Byte size of key[]
// WCHAR parameterSet[cbParameterSet / sizeof(WCHAR)]; // Including \0 terminator
// BYTE key[cbKey]; // Key material
} BCRYPT_PQDSA_KEY_BLOB, *PBCRYPT_PQDSA_KEY_BLOB;
Fields
dwMagic
Поле dwMagic — это 4-байтовое значение, указывающее формат используемого ключа. Определены следующие значения:
| Value | Meaning |
|---|---|
BCRYPT_MLDSA_PUBLIC_MAGIC0x4B505344 |
Структура представляет открытый ключ. |
BCRYPT_MLDSA_PRIVATE_MAGIC0x4B535344 |
Структура представляет расширенный закрытый ключ. |
BCRYPT_MLDSA_PRIVATE_SEED_MAGIC0x53535344 |
Структура представляет собой частное начальное значение. |
BCRYPT_COMPOSITE_MLDSA_PUBLIC_MAGIC0x4B504D43 |
Структура представляет открытый ключ. |
BCRYPT_COMPOSITE_MLDSA_PRIVATE_MAGIC0x4B534D43 |
Структура представляет закрытый ключ. |
cbParameterSet
Длина буфера в байтах parameterSet непосредственно после структуры. Этот буфер содержит строку Юникода, завершающую значение NULL, которая определяет набор параметров ключа. В настоящее время поддерживаются следующие значения:
| parameterSet | Meaning |
|---|---|
BCRYPT_MLDSA_PARAMETER_SET_44L"44" |
ML-DSA-44, категория безопасности 2. |
BCRYPT_MLDSA_PARAMETER_SET_65L"65" |
ML-DSA-65, категория безопасности 3. |
BCRYPT_MLDSA_PARAMETER_SET_87L"87" |
ML-DSA-87, категория безопасности 5. |
BCRYPT_COMPOSITE_MLDSA_PARAMETER_SET_44_ECDSA_P256_SHA256L"44-ECDSA-P256-SHA256" |
Составной ML-DSA-44 и ECDSA P256 |
BCRYPT_COMPOSITE_MLDSA_PARAMETER_SET_65_ECDSA_P256_SHA512L"65-ECDSA-P256-SHA512" |
Составной ML-DSA-65 и ECDSA P256 |
BCRYPT_COMPOSITE_MLDSA_PARAMETER_SET_65_ECDSA_P384_SHA512L"65-ECDSA-P384-SHA512" |
Составной ML-DSA-65 и ECDSA P384 |
BCRYPT_COMPOSITE_MLDSA_PARAMETER_SET_87_ECDSA_P384_SHA512L"87-ECDSA-P384-SHA512" |
Составной ML-DSA-87 и ECDSA P384 |
cbKey
Длина ключа буфера в байтах непосредственно после набора параметров. Этот размер является статическим и зависит от используемого формата ключа и набора параметров.
Remarks
Потребители алгоритмов post-Quantum Digital Signature будут использовать то же подмножество API BCrypt, что и существующие алгоритмы цифровой подписи (не пост-квантовые), поддерживаемые CNG, для выполнения операций, поддерживаемых алгоритмами. К ним относятся:
- Обработка алгоритма: BCryptOpenAlgorithmProvider, BCryptCloseAlgorithmProvider
- Управление ключами: BCryptGenerateKeyPair, BCryptImportKeyPair, BCryptExportKey, BCryptDekey, BCryptFinalizeKeyPair
- Создание и проверка подписи: BCryptSignHash, BCryptVerifySignature
- Свойства обновления и запроса: BCryptGetProperty, BCryptSetProperty
Requirements
| Requirement | Value |
|---|---|
| Минимальный поддерживаемый клиент | Windows 11 24H2: начинается поддержка ML-DSA. [только классические приложения] |
| минимальный поддерживаемый сервер | Windows Server 2025: начинается поддержка ML-DSA. [только классические приложения] |
| Header | bcrypt.h |