提交 3e0444dd 编写于 作者: W wutiantian_gitee

modify sm2

Signed-off-by: Nwutiantian_gitee <1159609162@qq.com>
上级 491a711e
......@@ -58,7 +58,7 @@ buffer数组。
| 名称 | 类型 | 可读 | 可写 | 说明 |
| ---- | --------------------- | ---- | ---- | ------------------------------------------------------------ |
| iv | [DataBlob](#datablob) | 是 | 是 | 指明加解密参数iv。常见取值如下:<br/>- AES的CBC\|CTR\|OFB\|CFB模式:iv长度为16字节<br/>- 3DES的CBC\|OFB\|CFB模式:iv长度为8字节<br/>- SM4的CBC\|CTR\|OFB\|CFB模式:iv长度为16字节。 |
| iv | [DataBlob](#datablob) | 是 | 是 | 指明加解密参数iv。常见取值如下:<br/>- AES的CBC\|CTR\|OFB\|CFB模式:iv长度为16字节<br/>- 3DES的CBC\|OFB\|CFB模式:iv长度为8字节<br/>- SM4<sup>10+</sup>的CBC\|CTR\|OFB\|CFB模式:iv长度为16字节。 |
> **说明:**
>
......@@ -1820,7 +1820,7 @@ Sign实例生成。<br/>支持的规格详见框架概述“[签名验签规格]
| 参数名 | 类型 | 必填 | 说明 |
| ------- | ------ | ---- | ------------------------------------------------------------ |
| algName | string | 是 | 指定签名算法:RSA,SM2,ECC或DSA。使用RSA PKCS1模式时需要设置摘要,使用RSA PSS模式时需要设置摘要和掩码摘要。 |
| algName | string | 是 | 指定签名算法:RSA,ECC,DSA或SM2<sup>10+</sup>。使用RSA PKCS1模式时需要设置摘要,使用RSA PSS模式时需要设置摘要和掩码摘要。 |
**返回值**
......@@ -2207,7 +2207,7 @@ Verify实例生成。<br/>支持的规格详见框架概述“[签名验签规
| 参数名 | 类型 | 必填 | 说明 |
| ------- | ------ | ---- | ------------------------------------------------------------ |
| algName | string | 是 | 指定签名算法:RSA,SM2,ECC或DSA。使用RSA PKCS1模式时需要设置摘要,使用RSA PSS模式时需要设置摘要和掩码摘要。 |
| algName | string | 是 | 指定签名算法:RSA,ECC,DSA或SM2<sup>10+</sup>。使用RSA PKCS1模式时需要设置摘要,使用RSA PSS模式时需要设置摘要和掩码摘要。 |
**返回值**
......
......@@ -160,8 +160,7 @@
- **非对称SM2加解密**
SM2为块加密算法,加密长度需要在固定长度进行。OpenSSL中SM2算法加解密时使用零填充模式,如果数据长度不足32字节,则需要进行填充,填充的方式是在数据后面添加若干个0x00字节,直到数据长度达到32字节为止。
SM2加密过程中,首先需要生成一个随机数k,并使用公钥对kG进行加密,得到C1。然后,将明文数据进行SM3摘要计算,得到摘要值,并将摘要值与C1进行拼接,得到C3。接着,使用k和摘要值作为参数,对明文数据进行加密,得到C2。最后,将C1、C3、C2按顺序拼接起来,得到最终的加密结果。通过加入摘要值,增强了加密结果的安全性,同时也方便了解密过程中的验证。
SM2为块加密算法,是国家密码管理局发布的椭圆曲线公钥密码算法,加密长度在固定长度进行。算法库目前支持以C1C3C2格式输出加密数据,支持对C1C3C2格式的输入数据进行解密。
### 签名验签
......@@ -188,6 +187,11 @@
- **DSA**
数字签名算法(DSA)的安全性基于整数有限域离散对数问题的困难性,这类签名标准具有较大的兼容性和适用性。
- **SM2**
椭圆曲线数字签名算法(SM2)是基于椭圆曲线的算法,由国家密码管理局发布。
### 密钥协商
......@@ -204,11 +208,6 @@
- 当输入消息的长度不一致时,生成摘要序列长度固定(摘要长度由算法决定)。
- 当输入消息不一致时,生成摘要序列几乎不会相同(依然存在相同概率,由摘要长度决定相同概率)。
消息摘要算法主要分为两类:SHA和SM3。
SM3包括MD和MAC(详见HMAC章节)。
SM3中MD算法包括MD2,MD4和MD5。
SHA算法主要包括SHA1,SHA224,SHA256,SHA384,SHA512。
### 消息验证码
HMAC(Hash-based Message Authentication Code)是一种基于密钥的消息认证码算法。HMAC通过指定摘要算法,以通信双方共享密钥与消息作为输入,生成消息认证码用于检验传递报文的完整性,HMAC生成的消息认证码为固定长度。HMAC在消息摘要算法的基础上增加了密钥的输入,确保了信息的正确性。
......@@ -398,7 +397,7 @@ HMAC(Hash-based Message Authentication Code)是一种基于密钥的消息
> **说明:**
>
> 从API version 10开始, 支持使用密钥参数来生成SM2密钥.
> 从API version 10开始, 支持SM2密钥随机生成。
- 支持以字符串参数来生成SM2密钥,其生成参数如下表所示:
......@@ -414,7 +413,7 @@ HMAC(Hash-based Message Authentication Code)是一种基于密钥的消息
> **说明:**
>
> 从API version 10开始, 支持使用密钥参数来生成SM4密钥.
> 从API version 10开始, 支持SM4密钥随机生成。
- 支持以字符串参数来生成SM4密钥,其生成参数如下表所示:
......@@ -459,7 +458,7 @@ HMAC(Hash-based Message Authentication Code)是一种基于密钥的消息
>
> 1. []中只能任选一项。
> 2. “字符串参数”是“对称加解密算法(含密钥长度)”、“分组模式”、“填充模式”拼接而成,用于在创建对称加解密实例时,指定对称加解密算法规格。
> 3. “字符串参数”中“SM4”和密钥长度间需要添加下划线
> 3. “字符串参数”中“SM4<sup>10+</sup>”和密钥长度间需要添加下划线
### 非对称RSA加解密
......@@ -576,7 +575,7 @@ RSA加解密时,涉及三种填充模式:NoPadding, PKCS1和PKCS1_OAEP。
> **说明:**
>
> 从API version 10开始, 支持非对称SM2加解密不带密钥长度的规格。
> 从API version 10开始, 支持非对称SM2加解密,支持不带密钥长度的规格。
SM2加解密时,仅支持C1C3C2密文排列组合模式。SM2非对称加密的结果由C1,C2,C3三部分组成。其中C1是根据生成的随机数计算出的椭圆曲线点,C2是密文数据,C3是通过指定摘要算法计算的值。国密新标准以C1,C3,C2顺序存放,不支持无摘要加密。
- 支持的加密算法:
......@@ -584,7 +583,8 @@ SM2加解密时,仅支持C1C3C2密文排列组合模式。SM2非对称加密
| 非对称密钥类型 | 摘要 | 字符串参数 |
|---|---|---|
|SM2_256|[MD5\|SHA1\|SHA224\|SHA256\|SHA384\|SHA512\|SM3]|SM2_256\|[MD5\|SHA1\|SHA224\|SHA256\|SHA384\|SHA512\|SM3]|
|SM2|[MD5\|SHA1\|SHA224\|SHA256\|SHA384\|SHA512\|SM3]|SM2_256\|[MD5\|SHA1\|SHA224\|SHA256\|SHA384\|SHA512\|SM3]|
> **说明:**
>
> “字符串参数”是“非对称密钥类型”、“填充模式”拼接而成,用于在创建非对称加解密实例时,指定非对称加解密算法规格。
......@@ -734,7 +734,7 @@ RSA签名验签时,涉及两种填充模式:PKCS1和PSS。
> **说明:**
>
> 从API version 10开始, 支持SM2签名验签规格
> 从API version 10开始, 支持SM2签名验签。
- 支持的SM2参数:
......@@ -777,6 +777,10 @@ RSA签名验签时,涉及两种填充模式:PKCS1和PSS。
- 加解密算法库框架当前支持的MD算法参数:
> **说明:**
>
> 从API version 10开始, 支持SM3。
|摘要算法|支持种类|
|---|---|
|HASH|SHA1|
......@@ -786,7 +790,7 @@ RSA签名验签时,涉及两种填充模式:PKCS1和PSS。
|HASH|SHA512|
|HASH|MD5|
|HASH|SM3|
> **说明:**
>
> “支持种类”,用于在创建MD消息摘要时,指定MD消息摘要算法规格。
......@@ -795,6 +799,10 @@ RSA签名验签时,涉及两种填充模式:PKCS1和PSS。
- 加解密算法库框架当前支持的HMAC算法参数:
> **说明:**
>
> 从API version 10开始, 支持SM3。
|摘要算法|支持种类|
|---|---|
|HASH|SHA1|
......@@ -803,7 +811,7 @@ RSA签名验签时,涉及两种填充模式:PKCS1和PSS。
|HASH|SHA384|
|HASH|SHA512|
|HASH|SM3|
> **说明:**
>
> “支持种类”,用于在创建HMAC消息认证码时,指定HMAC消息认证码算法规格。
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册