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


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

Следующие значения используются с функциями 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"
Устанавливает режим цепочки алгоритма в режим Галуа/счетчика (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"

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

BCRYPT_INITIALIZATION_VECTOR

L"IV"

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

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_PROVIDER_HANDLE

L"ProviderHandle"

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

BCRYPT_SIGNATURE_LENGTH

L"SignatureLength"

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

Требования

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