鲲鹏社区首页
中文
注册
我要评分
文档获取效率
文档正确性
内容完整性
文档易理解
在线提单
论坛求助

算法支持

介绍KAE加解密、KAE解压缩(包含KAEZlib、KAEZstd、KAELz4)模块所支持的算法与模型。

KAE加解密

KAE加解密是鲲鹏加速引擎的加解密模块,使用鲲鹏硬加速引擎实现RSA/SM2/SM3/SM4/DH/MD5/AES算法,结合无损用户态驱动框架,提供高性能对称加解密、非对称加解密算法能力,兼容OpenSSL 1.1.1x、OpenSSL 3.0.x系列版本、Tongsuo 8.4.0、BoringSSL,支持同步和异步机制。

  • OpenSSL 1.1.1x系列主要支持以下算法:
    • 摘要算法SM3/MD5,支持异步模式。
    • 对称加密算法SM4,支持异步模式,支持CTR/XTS/CBC/ECB/OFB/CFB模式。
    • 对称加密算法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算法。
  • BoringSSL目前以Engine机制提供加解密算法能力,已支持RSA算法(私钥加密、私钥解密)。
  • 暂不支持Provider机制和更高版本的OpenSSL。
  • Tongsuo是基于OpenSSL衍生的一个加解密库,接口、用法兼容了OpenSSL。
  • BoringSSL是Google基于早期OpenSSL开发并维护的一个开源加密库,一些接口、用法与OpenSSL有差异。BoringSSL+KAE的使用请参见使用BoringSSL调用KAE

KAEZlib

KAEZlib是鲲鹏加速引擎的解压缩模块,使用鲲鹏硬加速模块实现deflate算法,结合无损用户态驱动框架,提供高性能Gzip/zlib格式压缩接口。

  • 支持zlib/Gzip数据格式,符合RFC1950/RFC1952标准规范。
  • 支持deflate算法。
  • 支持压缩等级及窗长配置。
  • 支持同步模式。
  • 单处理器(鲲鹏920处理器)最大压缩带宽7GB/s,最大解压带宽8GB/s。
  • 支持的压缩比≈2,与zlib 1.2.11接口保持一致。

通过加速引擎可以实现不同场景下应用性能的提升,例如在分布式存储场景下,通过KAEZlib加速库加速数据压缩和解压。 同时,基于KAEZlib加速库,提供了KAEGzip压缩工具,使用户能够更加便捷地进行文件的压缩和解压操作,而不必通过API方式进行调用。

KAEZstd

KAEZstd是鲲鹏加速引擎的解压缩模块,使用鲲鹏硬加速模块实现lz77_zstd算法,提供ZSTD库标准接口。

  • 支持通用压缩和解压功能,不支持ZSTD字典模式,不支持多线程模式。
  • 支持压缩硬件加速,暂不支持解压缩硬件加速功能。
  • 支持小包(小于64KB)和大包(大于1GB)压缩。
  • 支持配置ZSTD压缩等级。

通过加速引擎可以实现不同场景下应用性能的提升,压缩效率有显著提升。

KAELz4

KAELz4是鲲鹏加速引擎的解压缩模块,使用鲲鹏硬加速模块实现lz77_lz4算法,提供LZ4库标准接口。

  • 支持lz4_block_format和lz4_frame_format两种格式。
  • 支持压缩硬件加速,暂不支持解压缩硬件加速功能。
  • 支持同步和异步模式。