Поделиться через


Идентификаторы примитивных свойств криптографии

Следующие значения используются с функциями BCryptGetProperty и BCryptSetProperty для идентификации свойства.

BCRYPT_ALGORITHM_NAME

L"AlgorithmName"

Строка Юникода, завершающаяся значением NULL, содержащая имя алгоритма.

BCRYPT_AUTH_TAG_LENGTH

L"AuthTagLength"

Длина тега проверки подлинности, поддерживаемая алгоритмом. Это свойство является BCRYPT_AUTH_TAG_LENGTHS_STRUCT структурой . Это свойство применяется только к алгоритмам.

BCRYPT_BLOCK_LENGTH

L"BlockLength"

Размер блока шифра в байтах для алгоритма. Это свойство применяется только к алгоритмам блочного шифра. Этот тип данных является DWORD.

BCRYPT_BLOCK_SIZE_LIST

L"BlockSizeList"

Список длин блоков, поддерживаемых алгоритмом шифрования. Этот тип данных представляет собой массив DWORD. Количество элементов в массиве можно определить, разделив количество байтов, полученных по размеру одного DWORD.

BCRYPT_CHAINING_MODE

L"ChainingMode"

Указатель на строку Юникода, завершающую значение NULL, которая представляет режим цепочки алгоритма шифрования. Это свойство можно задать в дескрипторе алгоритма или дескрипторе ключа одним из следующих значений.

Идентификатор Ценность Описание
BCRYPT_CHAIN_MODE_CBC L"ChainingModeCBC" Задает режим цепочки алгоритма для цепочки шифров.
BCRYPT_CHAIN_MODE_CCM L"ChainingModeCCM" Задает режим цепочки алгоритма для счетчика с режимом CBC-MAC (CCM).
Windows Vista: Это значение поддерживается начиная с Windows Vista с пакетом обновления 1 (SP1).
BCRYPT_CHAIN_MODE_CFB L"ChainingModeCFB" Задает режим цепочки алгоритма для обратной связи с шифром.
BCRYPT_CHAIN_MODE_ECB L"ChainingModeECB" Задает режим цепочки алгоритма в электронную кодовую книгу.
BCRYPT_CHAIN_MODE_GCM L"ChainingModeGCM" Задает режим цепочки алгоритма в режиме Galois/counter (GCM).
Windows Vista: Это значение поддерживается начиная с Windows Vista с пакетом обновления 1 (SP1).
BCRYPT_CHAIN_MODE_NA L"ChainingModeN/A" Алгоритм не поддерживает цепочку.

BCRYPT_DH_PARAMETERS

L"DHParameters"

Задает параметры для использования с ключом Diffie-Hellman. Этот тип данных является указателем на структуру BCRYPT_DH_PARAMETER_HEADER . Это свойство может быть задано только перед завершением ключа.

BCRYPT_DSA_PARAMETERS

L"DSAParameters"

Задает параметры, используемые с ключом DSA. Это свойство является BCRYPT_DSA_PARAMETER_HEADER или структурой BCRYPT_DSA_PARAMETER_HEADER_V2 . Это свойство может быть задано только перед завершением ключа.

Windows 8: Начиная с Windows 8, это свойство может быть BCRYPT_DSA_PARAMETER_HEADER_V2 структурой . Используйте эту структуру, если размер ключа превышает 1024 бита и меньше или равен 3072 битам. Если размер ключа больше или равен 512, но меньше или равен 1024 битам, используйте структуру BCRYPT_DSA_PARAMETER_HEADER .

BCRYPT_EFFECTIVE_KEY_LENGTH

L"EffectiveKeyLength"

Размер( в битах) эффективной длины ключа RC2. Этот тип данных является DWORD.

BCRYPT_HASH_BLOCK_LENGTH

L"HashBlockLength"

Размер блока в байтах для хэша. Это свойство применяется только к хэш-алгоритмам. Этот тип данных является DWORD.

BCRYPT_HASH_LENGTH

L"HashDigestLength"

Размер хэша поставщика хэша в байтах. Этот тип данных является DWORD.

BCRYPT_HASH_OID_LIST

L"HashOIDList"

Список идентификаторов объектов в кодировке DER (OID). Это свойство является BCRYPT_OID_LIST структурой . Это свойство можно прочитать только.

BCRYPT_INITIALIZATION_VECTOR

L"IV"

Содержит вектор инициализации (IV) для ключа. Это свойство применяется только к ключам.

BCRYPT_KEM_SHARED_SECRET_LENGTH

L"BCRYPT_KEM_SHARED_SECRET_LENGTH"

Размер в байтах общего секрета для ключа инкапсуляции ключа (KEM). Этот тип данных является DWORD.

BCRYPT_KEM_CIPHERTEXT_LENGTH

L"BCRYPT_KEM_CIPHERTEXT_LENGTH"

Размер шифра в байтах для ключа инкапсулирования ключа (KEM). Этот тип данных является DWORD.

BCRYPT_KEY_LENGTH

L"KeyLength"

Размер в битах значения ключа поставщика симметричного ключа. Этот тип данных является DWORD.

BCRYPT_KEY_LENGTHS

L"KeyLengths"

Длина ключа, поддерживаемая алгоритмом. Это свойство является структурой BCRYPT_KEY_LENGTHS_STRUCT . Это свойство применяется только к алгоритмам.

BCRYPT_KEY_OBJECT_LENGTH

L"KeyObjectLength"

Это свойство не используется. Свойство BCRYPT_OBJECT_LENGTH используется для получения этих сведений.

BCRYPT_KEY_STRENGTH

L"KeyStrength"

Количество битов в ключе. Этот тип данных является DWORD. Это свойство применяется только к ключам.

BCRYPT_MESSAGE_BLOCK_LENGTH

L"MessageBlockLength"

Это можно задать для любого дескриптора ключей, имеющего набор режимов цепочки CFB. По умолчанию это свойство имеет значение 1 для 8-разрядного CFB. Установка размера блока в байтах приводит к использованию полноблокового CFB. Для ключей XTS он используется для задания размера в байтах единицы данных XTS (обычно 512 или 4096).

BCRYPT_MULTI_OBJECT_LENGTH

L"MultiObjectLength"

Это свойство возвращает BCRYPT_MULTI_OBJECT_LENGTH_STRUCT, которая содержит сведения, необходимые для вычисления размера буфера объекта. Это свойство поддерживается только в версиях операционной системы, поддерживающих функцию BCryptCreateMultiHash .

BCRYPT_OBJECT_LENGTH

L"ObjectLength"

Размер в байтах подобъекта поставщика. Этот тип данных является DWORD. В настоящее время поставщики хэш-и симметричного алгоритма шифра используют выделенные вызывающим буферы для хранения подобъектов. Например, поставщик хэша требует выделения памяти для хэш-объекта, полученного с помощью функции BCryptCreateHash . Это свойство предоставляет размер буфера для объекта поставщика, чтобы можно было выделить память для объекта, созданного поставщиком.

BCRYPT_PADDING_SCHEMES

L"PaddingSchemes"

Представляет схему заполнения поставщика алгоритмов RSA. Этот тип данных является DWORD. Может иметь одно из следующих значений:

Идентификатор Ценность Описание
BCRYPT_SUPPORTED_PAD_ROUTER 0x00000001 Поставщик поддерживает заполнение, добавленное маршрутизатором.
BCRYPT_SUPPORTED_PAD_PKCS1_ENC 0x00000002 Поставщик поддерживает схему заполнения шифрования PKCS1.
BCRYPT_SUPPORTED_PAD_PKCS1_SIG 0x00000004 Поставщик поддерживает схему заполнения подписей PKCS1.
BCRYPT_SUPPORTED_PAD_OAEP 0x00000008 Поставщик поддерживает схему заполнения OAEP.
BCRYPT_SUPPORTED_PAD_PSS 0x00000010 Поставщик поддерживает схему заполнения PSS.

BCRYPT_PARAMETER_SET_NAME

L"ParameterSetName"

Этот идентификатор необходимо задать в BCrypt ML-DSA и ML-KEM ключей, прежде чем их можно будет завершить. Для свойства можно задать одно из следующих значений.

PQ-DSA значения свойств для BCRYPT_PARAMETER_SET_NAME:

Идентификатор Ценность
BCRYPT_MLDSA_PARAMETER_SET_44 L"44"
BCRYPT_MLDSA_PARAMETER_SET_65 L"65"
BCRYPT_MLDSA_PARAMETER_SET_87 L"87"

ML-KEM значения свойств для BCRYPT_PARAMETER_SET_NAME:

Идентификатор Ценность
BCRYPT_MLKEM_PARAMETER_SET_512 L"512"
BCRYPT_MLKEM_PARAMETER_SET_768 L"768"
BCRYPT_MLKEM_PARAMETER_SET_1024 L"1024"

BCRYPT_PROVIDER_HANDLE

L"ProviderHandle"

Дескриптор поставщика CNG, создавшего объект, переданный в параметре hObject . Этот тип данных является BCRYPT_ALG_HANDLE. Это свойство можно получить только; его нельзя задать.

BCRYPT_SIGNATURE_LENGTH

L"SignatureLength"

Размер в байтах длины сигнатуры для ключа. Этот тип данных является DWORD. Это свойство применяется только к ключам. Это свойство можно получить только; его нельзя задать.

Требования

Требование Ценность
Минимальный поддерживаемый клиент Windows Vista [только классические приложения]
Минимальный поддерживаемый сервер Windows Server 2008 [только классические приложения]
Заголовок Bcrypt.h

Псевдо-дескриптор алгоритма CNG

Идентификаторы алгоритма CNG