鲲鹏加速引擎KAE(Kunpeng Accelerator Engine)是基于鲲鹏920系列处理器提供的硬件加速解决方案,包含了KAE加解密和KAEzip。本文介绍了KAE加解密及其安装、测试步骤和使用案例。
KAE加解密和KAEzip分别用于加速SSL(Secure Sockets Layer)/TLS(Transport Layer Security)应用和数据压缩,可以显著降低处理器消耗,提高处理器效率。此外,加速引擎对应用层屏蔽了其内部实现细节,用户通过OpenSSL、zlib、ZSTD、LZ4标准接口即可以实现快速迁移现有业务。
KAE版本说明
KAE是一款基于鲲鹏920系列处理器研发的加速器,采用了两套驱动框架,分别是WD(Warpdriver)驱动框架和UADK(User Space Accelerator Development Kit)框架。由于不同内核的差异,KAE存在两套代码用于支持不同的内核代码,分别是KAE1.0和KAE2.0两个代码分支。两者差别如表1所示。
表1 KAE代码分支差别代码分支
|
KAE1.0
|
KAE2.0
|
支持的内核版本
|
4.19
|
5.10
|
对应KAE具体版本
|
1.x.x
|
2.x.x
|
源码包含模块
|
内核驱动、用户态驱动、基于OpenSSL的KAE引擎、zlib库
|
KAEKernelDriver内核驱动、UADK框架、KAEOpensslEngine引擎、KAEZlib、KAEZstd、KAELz4
|
KAE加解密
KAE加解密是鲲鹏加速引擎的加解密模块,使用鲲鹏硬加速引擎实现RSA/SM2/SM3/SM4/DH/MD5/AES算法,结合无损用户态驱动框架,提供高性能对称加解密、非对称加解密算法能力,兼容OpenSSL 1.1.1x、OpenSSL 3.0.x系列版本和Tongsuo 8.4.0,支持同步&异步机制。
- OpenSSL 1.1.1x系列主要支持以下算法:
- 摘要算法SM3/MD5,支持异步模型。
- 对称加密算法SM4,支持异步模型,支持CTR/XTS/CBC/ECB/OFB模式。
- 对称加密算法AES,支持异步模型,支持ECB/CTR/XTS/CBC/OFB/CFB模式。
- 非对称算法RSA,支持异步模型,支持Key Sizes 1024/2048/3072/4096。
- 非对称算法SM2,支持异步模式。
- 密钥协商算法DH,支持异步模型,支持Key Sizes 768/1024/1536/2048/3072/4096。
- OpenSSL 3.0.x系列目前以Engine机制提供加解密算法能力,已支持SM3/MD5/SM4/AES/RSA算法。
- Tongsuo 8.4.0目前以Engine机制提供加解密算法能力,已支持SM3/SM4/AES/RSA算法。
- 非对称算法SM2、密钥协商算法DH仅OpenSSL 1.1.1x系列版本支持。
- 暂不支持Provider机制和更高版本的OpenSSL。
- KAE加解密相关操作和应用见下文统一描述。
- Tongsuo是基于OpenSSL衍生的一个加解密库,接口、用法兼容了OpenSSL。