• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# 消息认证码计算介绍及算法规格
2
3<!--Kit: Crypto Architecture Kit-->
4<!--Subsystem: Security-->
5<!--Owner: @zxz--3-->
6<!--Designer: @lanming-->
7<!--Tester: @PAFT-->
8<!--Adviser: @zengyawen-->
9
10MAC(Message Authentication Code,消息认证码)可以对消息进行完整性校验,通过使用双方共享的密钥,识别出信息伪装篡改等行为。
11
12接下来将说明系统目前支持的算法及其对应的规格。
13
14## HMAC
15HMAC(Hash-based Message Authentication Code)是一种基于哈希的消息认证码算法。
16
17HMAC通过指定的摘要算法,以通信双方共享的密钥和消息作为输入,生成消息认证码,用于检验传递报文的完整性。HMAC在消息摘要算法基础上增加了密钥输入,确保信息的正确性。生成的消息认证码长度固定。
18
19当创建HMAC消息认证码时,需要根据表中“支持种类”一列指定算法规格。
20
21| 摘要算法 | 支持种类 | API版本 |
22| -------- | -------- | -------- |
23| HASH | SHA1 | 9+ |
24| HASH | SHA224 | 9+ |
25| HASH | SHA256 | 9+ |
26| HASH | SHA384 | 9+ |
27| HASH | SHA512 | 9+ |
28| HASH | SM3 | 10+ |
29| HASH | MD5 | 12+ |
30
31## CMAC
32
33‌CMAC(Cipher-based Message Authentication Code)是一种基于密码的消息认证码算法,主要用于确保消息的完整性和真实性。
34
35CMAC通过使用分组密码(如AES)和一个密钥来生成消息认证码,确保消息在传输过程中未被篡改‌。
36
37| 加密算法 | API版本 |
38| -------- | -------- |
39| AES128 | 16+ |
40| AES256 | 16+ |
41