• 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
10在非安全通道环境中,需要不共享任何秘密的情况下,协商出一个安全的共享密钥,可以使用密钥协商算法。
11
12接下来将说明系统目前支持的算法及其对应的规格。
13
14## ECDH
15
16ECDH(Elliptic Curve Diffie–Hellman key exchange),算法库框架提供了多种椭圆曲线的ECDH能力。
17
18当创建密钥协商时,需要使用表中“字符串参数”一列,指定密钥协商算法规格。
19
20| 非对称密钥算法 | 字符串参数 | API版本 |
21| -------- | -------- | -------- |
22| ECC | ECC224 | 9+ |
23| ECC | ECC256 | 9+ |
24| ECC | ECC384 | 9+ |
25| ECC | ECC521 | 9+ |
26| ECC | ECC_BrainPoolP160r1 | 11+ |
27| ECC | ECC_BrainPoolP160t1 | 11+ |
28| ECC | ECC_BrainPoolP192r1 | 11+ |
29| ECC | ECC_BrainPoolP192t1 | 11+ |
30| ECC | ECC_BrainPoolP224r1 | 11+ |
31| ECC | ECC_BrainPoolP224t1 | 11+ |
32| ECC | ECC_BrainPoolP256r1 | 11+ |
33| ECC | ECC_BrainPoolP256t1 | 11+ |
34| ECC | ECC_BrainPoolP320r1 | 11+ |
35| ECC | ECC_BrainPoolP320t1 | 11+ |
36| ECC | ECC_BrainPoolP384r1 | 11+ |
37| ECC | ECC_BrainPoolP384t1 | 11+ |
38| ECC | ECC_BrainPoolP512r1 | 11+ |
39| ECC | ECC_BrainPoolP512t1 | 11+ |
40| ECC | ECC_Secp256k1 | 14+ |
41| ECC | ECC | 10+ |
42
43如表中最后一行所示,为了兼容由密钥参数生成的密钥,ECDH密钥协商参数输入密钥类型时支持不指定长度和曲线,密钥协商运算取决于实际输入的密钥。
44
45## X25519
46
47算法库框架提供了X25519密钥协商的能力。
48
49当创建密钥协商时,需要使用表中“字符串参数”一列,指定密钥协商算法规格。
50
51| 非对称密钥算法 | 字符串参数 | API版本 |
52| -------- | -------- | -------- |
53| X25519 | X25519 | 11+ |
54
55## DH
56
57DH(Diffie–Hellman key exchange),算法库框架提供了DH密钥协商的能力。
58
59当创建密钥协商时,需要使用表中“字符串参数”一列,指定密钥协商算法规格。
60
61| 非对称密钥算法 | 字符串参数 | API版本 |
62| -------- | -------- | -------- |
63| DH | DH_modp1536 | 11+ |
64| DH | DH_modp2048 | 11+ |
65| DH | DH_modp3072 | 11+ |
66| DH | DH_modp4096 | 11+ |
67| DH | DH_modp6144 | 11+ |
68| DH | DH_modp8192 | 11+ |
69| DH | DH_ffdhe2048 | 11+ |
70| DH | DH_ffdhe3072 | 11+ |
71| DH | DH_ffdhe4096 | 11+ |
72| DH | DH_ffdhe6144 | 11+ |
73| DH | DH_ffdhe8192 | 11+ |
74| DH | DH | 11+ |
75
76如表中最后一行所示,为了兼容由密钥参数生成的密钥,DH密钥协商参数输入密钥类型时支持不指定知名安全素数群,密钥协商运算结果由实际输入的密钥决定,且该场景支持非标准群组的密钥协商。
77