OpenSSL/GMSSL EVP接口说明——2.1 杂凑和MAC的使用步骤

2.1 杂凑和MAC的使用步骤

表2.1杂凑和MAC的使用步骤

分段式杂凑

备注

1

EVP_MD_CTX_init(&ctx);

2

EVP_DigestInit(&ctx, EVP_sm3() );

3

EVP_DigestUpdate(&ctx, msg, msg_len);

可多次添加消息

4

EVP_DigestFinal(&ctx, digest, &dsize);

5

EVP_MD_CTX_cleanup(&ctx);

一段式杂凑

1

EVP_Digest(

msg, mlen, digest, &dsize, EVP_sm3(), NULL);

不涉及EVP_MD_CTX

分段式MAC

1

EVP_MD_CTX_init(&ctx);

2

HMAC_Init_ex(&ctx, key, klen, EVP_sm3(), NULL);

3

HMAC_Update(&ctx, data, dlen);

可多次添加消息

4

HMAC_Final(&ctx, md, &mdlen);

5

EVP_MD_CTX_cleanup(&ctx);

一段式MAC

1

HMAC (

EVP_sm3(), key, klen, data, dlen, md, &mdlen)

不涉及EVP_MD_CTX

posted @ 2023-04-04 20:51  艾米的爸爸  阅读(1)  评论(0)    收藏  举报  来源