加密基元属性标识符

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

标识符 说明
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_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。 这可以是以下值之一。

标识符 说明
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”

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

BCRYPT_SIGNATURE_LENGTH

L“SignatureLength”

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

要求

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