跳到主要内容

密钥协商介绍及算法规格

在非安全通道环境中,需要不共享任何秘密的情况下,协商出一个安全的共享密钥,可以使用密钥协商算法。

接下来将说明系统目前支持的算法及其对应的规格。

ECDH

ECDH(Elliptic Curve Diffie–Hellman key exchange),算法库框架提供了多种椭圆曲线的ECDH能力。

当创建密钥协商时,需要使用表中“字符串参数”一列,指定密钥协商算法规格。

非对称密钥算法字符串参数API版本
ECCECC2249+
ECCECC2569+
ECCECC3849+
ECCECC5219+
ECCECC_BrainPoolP160r111+
ECCECC_BrainPoolP160t111+
ECCECC_BrainPoolP192r111+
ECCECC_BrainPoolP192t111+
ECCECC_BrainPoolP224r111+
ECCECC_BrainPoolP224t111+
ECCECC_BrainPoolP256r111+
ECCECC_BrainPoolP256t111+
ECCECC_BrainPoolP320r111+
ECCECC_BrainPoolP320t111+
ECCECC_BrainPoolP384r111+
ECCECC_BrainPoolP384t111+
ECCECC_BrainPoolP512r111+
ECCECC_BrainPoolP512t111+
ECCECC_Secp256k114+
ECCECC10+

如表中最后一行所示,为了兼容由密钥参数生成的密钥,ECDH密钥协商参数输入密钥类型时支持不指定长度和曲线,密钥协商运算取决于实际输入的密钥。

X25519

算法库框架提供了X25519密钥协商的能力。

当创建密钥协商时,需要使用表中“字符串参数”一列,指定密钥协商算法规格。

非对称密钥算法字符串参数API版本
X25519X2551911+

DH

DH(Diffie–Hellman key exchange),算法库框架提供了DH密钥协商的能力。

当创建密钥协商时,需要使用表中“字符串参数”一列,指定密钥协商算法规格。

非对称密钥算法字符串参数API版本
DHDH_modp153611+
DHDH_modp204811+
DHDH_modp307211+
DHDH_modp409611+
DHDH_modp614411+
DHDH_modp819211+
DHDH_ffdhe204811+
DHDH_ffdhe307211+
DHDH_ffdhe409611+
DHDH_ffdhe614411+
DHDH_ffdhe819211+
DHDH11+

如表中最后一行所示,为了兼容由密钥参数生成的密钥,DH密钥协商参数输入密钥类型时支持不指定知名安全素数群,密钥协商运算结果由实际输入的密钥决定,且该场景支持非标准群组的密钥协商。