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