加密基元属性标识符

以下值用于 BCryptGetPropertyBCryptSetProperty 函数来标识属性。

BCRYPT_ALGORITHM_NAME

L“AlgorithmName”

包含算法名称的以 null 结尾的 Unicode 字符串。

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 结尾的 Unicode 字符串的指针,该字符串表示加密算法的链式模式。 可以在算法句柄或键句柄上将此属性设置为以下值之一。

标识符 价值 DESCRIPTION
BCRYPT_CHAIN_MODE_CBC L“ChainingModeCBC” 将算法的链接模式设置为 密码块链
BCRYPT_CHAIN_MODE_CCM L“ChainingModeCCM” 使用 CBC-MAC 模式(CCM)将算法的链接模式设置为计数器。
Windows Vista: 此值从 Windows Vista 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 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_HEADERBCRYPT_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 链接模式集的任何键句柄上设置。 默认情况下,对于 8 位 CFB,此属性设置为 1。 将它设置为块大小(以字节为单位)会导致使用全块 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。 这可以是以下值之一:

标识符 价值 DESCRIPTION
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”

创建在 hObject 参数中传递的对象的 CNG 提供程序的句柄。 此数据类型是 BCRYPT_ALG_HANDLE。 只能检索此属性;无法设置它。

BCRYPT_SIGNATURE_LENGTH

L“SignatureLength”

密钥签名长度的大小(以字节为单位)。 此数据类型是 DWORD。 此属性仅适用于密钥。 只能检索此属性;无法设置它。

要求

要求 价值
支持的最低客户端 Windows Vista [仅限桌面应用]
支持的最低服务器 Windows Server 2008 [仅限桌面应用]
标题 Bcrypt.h

CNG 算法伪句柄

CNG 算法标识符