开发与工程 ✓ NVIDIA · 官方 openssl-enginedoca-shasha-offloadbluefieldconnectxhardware-acceleration

DOCA SHA OpenSSL 卸载引擎

让现有 OpenSSL SHA 流程在无需重写应用的情况下使用 DOCA SHA 硬件加速。

FollowSkills 评估 · FSRS-2.0
不推荐
52/ 100 五分制 2.6 / 5
信任安全16 / 25 · 3.2/5

材料明确限定为文档型技能,未发现恶意行为、凭据窃取或隐蔽外传;也提出 PCIe 地址确认、软件回退和硬件安全路由。但安装命令可能使用 sudo,加载共享对象会产生外部系统影响,缺少明确的逐步确认、权限最小化和可回滚方案;许可证与来源元数据也存在不一致,因此扣分。

可靠稳定8 / 20 · 2.0/5

SKILL.md、CAPABILITIES.md 和 TASKS.md 结构完整,覆盖前置条件、加载、验证、性能和分层调试;但文件间对 one-shot 与 chained EVP_DigestUpdate 行为的表述不完全一致,部分关键命令依赖未提供文件或用户环境。静态审查且无可独立复现的测试套件,按校准不超过10分。

适用触发11 / 15 · 3.7/5

目标用户、适用场景、算法边界、隐式触发词和转道路由均较清楚;但仅适用于已安装 DOCA、Linux、特定硬件和 OpenSSL ENGINE 场景,未提供中文交互支持或大陆网络可达性说明。核心功能不完全依赖海外服务,因此未作网络不可达的重大扣分。

规范维护8 / 15 · 2.7/5

文档分层、导航、任务动词、限制和关联技能较充分,且声明维护路由和安全入口;但缺少稳定的正式版本、变更记录和明确作者,SKILLCARD 中签名与时间仍为 TBD,评估报告还指出结构和推荐章节问题。许可证信息在提示、SKILL.md、SKILLCARD.yaml 与 skill-card.md 之间不一致,因此扣分。

有效结果6 / 15 · 2.0/5

对于既有 OpenSSL 流程,技能提供可直接采用的加载、SHA-224 负测试、正测试和性能测量流程,核心指导价值明确;但不含可执行脚本或样例工程,必须依赖真实 DOCA 硬件、安装布局和用户自行执行,输出仍需环境适配和人工复核。静态校准限制最高为7分。

证据核验3 / 10 · 1.5/5

文件包含源代码、readme、CI/评估和命令模式等声称的证据链,但本次仅能读取材料,BENCHMARK.md 明确称评估数据集不可用,无法独立复现或交叉验证关键硬件与性能结论。存在有限可审计材料,但覆盖薄弱,静态校准限制最高为5分。

证据充分度: 评估于 2026年7月20日 审查版本 55f18499943e
使用前请注意
  • 不要把成功的 openssl dgst 输出视为硬件卸载证明;必须在目标主机执行 SHA-224 负测试和带 -engine_impl 的正测试。
  • 执行 sudo、共享对象加载或 PCIe 设备绑定前,应由用户确认权限、目标设备和变更影响;材料没有完整回滚流程。
  • one-shot 与 chained EVP_DigestUpdate 的能力边界表述存在歧义,升级 DOCA 或 OpenSSL 后必须重新核对实际行为。
  • 许可证和版本/签名信息在多个文件中不一致或为 TBD,应在发布前统一。
查看完整评分方法 →

这个 Skill 能做什么,适合哪些场景?

该技能指导开发者和运维人员将 NVIDIA DOCA SHA Offload Engine 接入已有的 OpenSSL 流程。它通过 OpenSSL ENGINE 加载共享对象,将一次性 SHA-1、SHA-256 和 SHA-512 摘要请求转发到 DOCA SHA 硬件。技能涵盖动态引擎加载、PCIe 地址配置、卸载验证、性能测试以及引擎与 doca-sha 库之间的选型。它不适合从零构建新的 SHA 管线,也不覆盖 MD5、SHA-224、SHA-3、HMAC-SHA 或所述增量哈希场景。

指导用户确认 DOCA 和 OpenSSL 依赖,定位已安装的 libdoca_sha_offload_engine.so,使用 openssl engine dynamic 加载引擎,通过 set_pci_addr 配置 PCIe 设备,并使用 -engine_impl 与 SHA-224 负向测试确认卸载是否真正生效。它还指导用户使用 openssl speed 对比 CPU SHA 与硬件卸载在实际消息大小下的性能,并根据现有 OpenSSL 管线或新项目需求选择引擎或 doca-sha 库。

  1. 已有使用 EVP_Digest 的服务希望在不重写为 doca-sha C API 的情况下卸载 SHA-1、SHA-256 或 SHA-512。
  2. 运维人员运行 openssl dgst,并需要确认结果不是由软件 SHA 静默完成。
  3. 性能工程师需要在 BlueField 或 ConnectX 硬件上测量不同消息大小的卸载收益。
  4. 开发者需要判断现有 OpenSSL ENGINE 接入方式是否比重写到 doca-sha 更合适。

这个 Skill 有哪些优点和局限?

优点
  • 面向已有 OpenSSL 管线,通常无需改写为 doca-sha C API。
  • 覆盖引擎加载、PCIe 设备选择、卸载验证和性能对比。
  • 明确区分支持的 SHA 算法、软件回退以及引擎与库的适用边界。
  • 支持通过实际硬件测试确定消息大小性能窗口,避免引用未经验证的固定数字。
局限
  • 只验证一次性 SHA-1、SHA-256 和 SHA-512 卸载;不实现 MD5、SHA-224、SHA-3 或 HMAC-SHA。
  • 不适合需要 doca-sha 细粒度控制或部分哈希能力的新管线。
  • 技能不提供 samples、bindings、reference 子树、包装脚本或固定性能数据。
  • OpenSSL 3.x 已弃用 ENGINE API,材料仅明确记载 OpenSSL 1.1.1f 和 3.0.2 的验证表面。

如何安装这个 Skill?

使用仓库 README 中的 CLI 安装方式:npx skills add nvidia/skills --skill doca-sha-offload-engine --yes。安装后,让兼容的 Agent 加载该技能。运行技能所指导的引擎还需要已安装 DOCA SDK、OpenSSL >= 1.1.1、libssl-dev 或等效软件包,以及可访问的 BlueField DPU 或 ConnectX NIC;源码构建流程使用 Meson,但具体构建命令未在给定材料中展开。

如何使用这个 Skill?

向 Agent 提出具体任务,例如“让现有 OpenSSL SHA 管线在 BlueField 上使用硬件卸载,并证明卸载确实生效”。对于已有 OpenSSL 应用,按技能指导加载 dynamic ENGINE,设置 set_pci_addr,必要时使用 -engine_impl,然后运行 SHA-224 负向测试和 openssl speed。若要从零开发新 SHA 管线,改用 doca-sha 技能;若 DOCA 尚未安装或设备权限检查失败,转到 doca-setup。

这个 Skill 与同类方案有什么区别?

对于已有 OpenSSL 管线且希望最少改动,应优先考虑该 ENGINE;对于从零开发或需要部分哈希、定制缓冲区权限和能力查询,应选择底层 doca-sha 库。

常见问题

它能卸载哪些算法?
明确支持一次性 SHA-1、SHA-256 和 SHA-512。SHA-224、MD5、SHA-3 和 HMAC-SHA 不在支持范围内。
如何证明硬件真的参与了计算?
按技能使用 -engine_impl,并运行 SHA-224 负向测试;再结合引擎测试流程确认未静默回退到软件路径。
需要什么运行环境?
需要 Linux、已安装在 /opt/mellanox/doca 的 DOCA SDK、OpenSSL >= 1.1.1、libssl-dev 或等效软件包,以及连接并可访问的 BlueField DPU 或 ConnectX NIC。
它是否适合新项目?
通常不适合从零构建的新 SHA 管线;材料建议此类项目直接使用 doca-sha 库。

同仓库的其他 Skills

均来自 NVIDIA/skills

开发与工程 ✓ NVIDIA · 官方

DOCA SHA 加速开发技能

指导在 NVIDIA 加速器上进行 SHA 哈希卸载开发。

开发与工程 ✓ NVIDIA · 官方

DOCA AES-GCM 加速开发技能

帮助开发者在 BlueField 或 ConnectX 上配置、验证和调试 DOCA AES-GCM 加解密。

开发与工程 ✓ NVIDIA · 官方

DOCA 硬件遥测计数器读取技能

帮助开发者从 BlueField 或 ConnectX 设备读取分域硬件计数器。

开发与工程 ✓ NVIDIA · 官方

DOCA Flow DPA 性能测量

帮助工程师在支持 DPA 的 NVIDIA 硬件上可靠测量 Flow 规则更新与禁用速率。

自动化与运维 ✓ NVIDIA · 官方

DOCA 能力探测器

以只读方式检查 DOCA 在当前主机上发现的设备、库和硬件能力。

自动化与运维 ✓ NVIDIA · 官方

DOCA PCC 诊断计数器

在 ConnectX 或 BlueField 设备上读取固件级 PCC 拥塞诊断计数器。

开发与工程 ✓ NVIDIA · 官方

DOCA Verbs 原始 RDMA 控制技能

为确需底层 verbs 控制的 DOCA 开发者提供路由、移植与调试指导。

自动化与运维 ✓ NVIDIA · 官方

DOCA 管理服务运维技能

帮助运维团队部署、配置并排查 NVIDIA DMS 管理服务。

开发与工程 ✓ NVIDIA · 官方

DOCA GPUNetIO 开发技能

指导开发者将 NVIDIA GPU 上的 CUDA 内核连接到 DOCA 网络队列,实现 GPU 侧收发包与调试。

开发与工程 ✓ NVIDIA · 官方

DOCA Telemetry Exporter 开发技能

帮助 DOCA 应用定义、发送和调试面向外部消费者的结构化遥测数据。

自动化与运维 ✓ NVIDIA · 官方

DOCA Bench 性能基准技能

在真实 NVIDIA 网络设备上,以可复现方式测量 DOCA 库的吞吐、延迟和带宽。

开发与工程 ✓ NVIDIA · 官方

DOCA Flow 性能测量技能

帮助网络工程师获得可复现、可辩护的 DOCA Flow 控制面规则速率数据。

开发与工程 ✓ NVIDIA · 官方

DOCA 设备管理开发技能

用 C API 编程管理 BlueField 与 ConnectX 设备状态。

开发与工程 ✓ NVIDIA · 官方

DOCA Flow gRPC 远程控制技能

帮助非 C++ 客户端安全地部署、配置和排查 DOCA Flow 的 gRPC 远程控制面。

开发与工程 ✓ NVIDIA · 官方

DOCA Compress 硬件压缩开发技能

指导开发者在 BlueField 或 ConnectX 平台上实现并调试 DOCA 硬件压缩与解压。

开发与工程 ✓ NVIDIA · 官方

DOCA Flow 调优技能

帮助工程师快照、分析并优化运行中的 DOCA Flow 管道。

开发与工程 ✓ NVIDIA · 官方

DOCA Arg Parser CLI 技能

帮助开发者为 DOCA 应用构建和调试标准命令行界面。

自动化与运维 ✓ NVIDIA · 官方

DOCA 结构化工具契约

用统一的结构化输出汇总 DOCA 环境、设备、能力、验证及主机与 DPU 状态。

开发与工程 ✓ NVIDIA · 官方

DOCA DMA 编程助手

指导在 BlueField 或 ConnectX 上进行 DOCA DMA 内存拷贝开发。

自动化与运维 ✓ NVIDIA · 官方

DOCA BlueField 裸机部署

帮助运维人员在 BlueField 硬件上安全运行和排查 DOCA 应用。

相关 Skills