@@ -251,17 +251,36 @@ _gmssl_export int sm2_ecdh(const SM2_KEY *key, const uint8_t *peer_public, size_ typedef struct { SM2_KEY sm2_key; uint8_t buf[SM2_MAX_CIPHERTEXT_SIZE]; sm2_z256_t k; SM2_POINT C1; } SM2_ENC_PRE_COMP; #define SM2_ENC_PRE_COMP_NUM 8 int sm2_...
SM2算法就是ECC椭圆曲线密码机制,但在签名、密钥交换方面不同于ECDSA、ECDH等国际标准,而是采取了更为安全的机制。另外,SM2推荐了一条256位的曲线作为标准曲线。 SM2标准包括总则,数字签名算法,密钥交换协议,公钥加密算法四个部分,并在每个部分的附录详细说明了实现的相关细节及示例。 SM2算法主要考虑素域Fp和F2m上的...
GmSSL实现了CPK的系统建立和密钥生成算法,生成的密钥可以用于DSA、ECDH、ECDSA、ECIES、SM2等公钥密码算法。 ZUC(祖冲之算法)是由我国设计的序列密码,以32位字为单位输出密钥流,其密钥长度和IV长度均为128比特。GmSSL的ZUC算法处于开发中。 GmSSL提供命令行工具gmssl,可用于生成SM2签名、SM3摘要、HMAC-SM3消息认证码,...
ECDSA、ECDH等国际标准,而是采取了更为安全的机制。另外,SM2推荐了一条 256位的曲线作为标准曲线。 SM2标准包括总则,数字签名算法,密钥交换协议,公钥加密算法四个部 分,在每个部分的附录详细说明了实现的相关细节及示例。 SM2算法主要考虑素域Fp和F2m上的椭圆曲线,分别介绍了这两类域的表 ...
SM2算法就是ECC椭圆曲线密码机制,但在签名、密钥交换方面不同于ECDSA、ECDH等国际标准,而是采取了更为安全的机制。SM2-1椭圆曲线数字签名算法,SM2-2椭圆曲线密钥交换协议,SM2-3椭圆曲线公钥加密算法,分别用于实现数字签名密钥协商和数据加密等功能。SM2算法与RSA算法不同的是,SM2算法是基于椭圆曲线上点群离散对数难题,...
其中SM2为基于椭圆曲线密码的公钥密码算法标准,包含数字签名、密钥交换和公钥加密,用于替换RSA/Diffie-Hellman/ECDSA/ECDH等国际算法。SM3为密码哈希算法,用于替代MD5/SHA-1/SHA-256等国际算法。SM4为分组密码,用于替代DES/AES等国际算法;SM9为基于身份的密码算法,可以替代基于数字证书的PKI/CA体系。通过部署国密算法,...
它是基于椭圆曲线密码的公钥密码算法标准,其秘钥长度256bit,包含数字签名、**交换和公钥加密,用于替换RSA/DH/ECDSA/ECDH等国际算法。可以满足电子认证服务系统等应用需求,由国家密码管理局于2010年12月17号发布。 SM2采用的是ECC 256位的一种,其安全强度比RSA 2048位高,且运算速度快于RSA。
(y2)); if ( !(ECDH_KDF_X9_(t message_len, x2y2, sizeof(x2_y2), NULL, 0 md)) ) { error_code = COMPUTE_SM2_KDF_FAIL goto clean_up; } * If each componentof is zero, the randomnumberk shouldbe -generated. A fixed random numberk ...
The SM2 algorithm is different from ECDSA, ECDH and other international standards in its digital signature and key agreement scheme, but it adopts a more secure mechanism. In addition, SM2 has recommended a 256-bit curve as the standard curve, and it is widely used in Chinese commercial ...
{ERR_REASON(SM2_R_ECDH_FAILED), "ECDH failed"}, {ERR_REASON(SM2_R_BUFFER_TOO_SMALL), "buffer too small"}, {ERR_REASON(SM2_R_SM2_KAP_NOT_INITED), "KAP not inited"}, {ERR_REASON(SM2_R_RANDOM_NUMBER_GENERATION_FAILED), "random number generation failed"}, {0,NULL} }; ...