加密基元属性标识符

以下值用于 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:此值从 SP1 Windows Vista 开始受支持。

BCRYPT_CHAIN_MODE_CFB L“ChainingModeCFB”
将算法的链接模式设置为 密码反馈
BCRYPT_CHAIN_MODE_ECB L“ChainingModeECB”
将算法的链式模式设置为 电子代码手册
BCRYPT_CHAIN_MODE_GCM L“ChainingModeGCM”
将算法的链模式设置为 Galois/counter 模式 (GCM) 。Windows Vista:此值从 SP1 Windows Vista 开始受支持。

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