Skip to content
Development
Skill

/doca-aes-gcm

Use this skill when the user is doing hands-on DOCA AES-GCM work on a BlueField DPU or ConnectX NIC — configuring `doca_aes_gcm_task_encrypt` / `_task_decrypt`, querying `doca_aes_gcm_cap_*` for per-key-type (only `DOCA_AES_GCM_KEY_128` / `_256` — AES-192 not supported) and

From plugin
skills
3.8k200 skills

Claude Code

$ npx -y skills add NVIDIA/skills --skill doca-aes-gcm --agent claude-code

SKILL.md

doca-aes-gcm.SKILL.md
license: Apache-2.0
name: doca-aes-gcm
description: >
  Use this skill when the user is doing hands-on DOCA AES-GCM work on a
  BlueField DPU or ConnectX NIC — configuring
  `doca_aes_gcm_task_encrypt` / `_task_decrypt`, querying
  `doca_aes_gcm_cap_*` for per-key-type (only `DOCA_AES_GCM_KEY_128` /
  `_256` — AES-192 not supported) and per-task support, sizing plaintext
  against the max-buf cap, setting source / destination mmap
  permissions, validating with a NIST GCMVS or RFC 5288 vector, or
  debugging DOCA_ERROR_* including the security-critical
  tag-verification-failed outcome on decrypt. Trigger even when the user
  does not explicitly mention "DOCA AES-GCM" or "AEAD" — typical
  implicit phrasings: "decrypt completion IO_FAILED", "auth tag isn't
  verifying", "NOT_PERMITTED on my encrypt buffer", "is AES-192-GCM on
  this BlueField" (no), or "encrypted record came back tampered". Refuse
  and route elsewhere for non-GCM AES modes (CBC / CTR / XTS — CPU
  OpenSSL), key management (KMS / HSM / rotation), SHA (doca-sha), or
  general AEAD background.
metadata:
  author: NVIDIA <doca-feedback@nvidia.com>
  kind: library
  doca_version: "3.5"
  tags:
    - doca
    - aes-gcm
    - aead
compatibility: >
  Requires DOCA SDK installed at /opt/mellanox/doca on Linux
  (Ubuntu 22.04/24.04 or RHEL/SLES) with a BlueField DPU or
  ConnectX NIC attached. Reads the local install via
  `pkg-config doca-aes-gcm` and inspects
  /opt/mellanox/doca/{lib,include,samples,applications}.
  Only `DOCA_AES_GCM_KEY_128` / `_256` are supported (not AES-192).
  The validation steps require a live DOCA install.

DOCA AES-GCM

Examples

  • **"Auth tag isn't verifying on decrypt."** — this is in scope.

Treat tag-verification-failed as a security outcome, not a retryable size error.

  • **"Is AES-192-GCM on this BlueField?"** — no. Only key-128 and

key-256 exist; do not invent AES-192 or CBC/CTR offload.

Instructions

Follow Loading order below. Open the tasks companion for configure / test / debug. Open the capabilities companion for key types and the AEAD safety note. Do not open every companion file.

**Where to start:** This skill assumes DOCA is already installed and the user is doing **hands-on AES-GCM-acceleration work** on a BlueField / ConnectX / host with DOCA. Open the tasks companion if the user wants to *do* something (configure / build / modify / run / test / debug); open the capabilities companion when the question is *what can DOCA AES-GCM express* on this version. If the user has not installed DOCA yet, route to `doca-setup/SKILL.md` first. If the user is asking *"should I even use the accelerator for this encryption?"*, the path-selection rule in

Capabilities and modes

is the first stop. If the user is treating AES-GCM as a confidentiality-only primitive (raw AES-CTR / AES-CBC style), stop and read the AEAD note in ## Safety policy first — AES-GCM is authenticated encryption, and confusing the two is the most expensive failure mode this skill exists to prevent.

Example questions this skill answers well

The CLASSES of DOCA AES-GCM questions this skill is built to answer, each with one worked example. The agent should treat the *class* as the load-bearing piece — the worked example is a single instance.

  • **"Should I offload this AES-GCM encryption to DOCA AES-GCM, or

just do it on the CPU with OpenSSL?"** — worked example: *"I am encrypting 4 KiB TLS records at line rate; is doca-aes-gcm worth the setup vs OpenSSL `EVP_aes_256_gcm` on the CPU?"*. Answered by the path-selection table in

Capabilities and modes

  • the *"when NOT to use doca-aes-gcm"* bullets in

Safety policy.

  • **"Does my device support the AES-GCM key size I want?"** — worked

example: *"is AES-256-GCM in the accelerator on this BlueField? And while we're here, is AES-192-GCM available?"* (Answer: the library exposes only `DOCA_AES_GCM_KEY_128` / `DOCA_AES_GCM_KEY_256`; AES-192 is not in the enum and is not supported. For the two real key types, gate on `doca_aes_gcm_cap_task_encrypt_is_key_type_supported(devinfo, key_type)` and the matching `_decrypt_is_key_type_supported`. AES-192 is not available — route to a CPU library.) Answered by the per-key-type capability queries and the per-task `doca_aes_gcm_cap_task_*_is_supported` queries in

Capabilities and modes

  • the discovery step in

configure.

  • **"How do I correctly decrypt an AES-GCM message and verify the

auth tag?"** — worked example: *"my `doca_aes_gcm_task_decrypt` completion reports an error — is the plaintext output safe to use?"*. Answered by the auth-tag verification rule in

Safety policy

(*do not use the plaintext if the auth tag did not verify*) + the decrypt completion-handling workflow in

test and

debug.

  • **"What permissions does the source / destination mmap need?"** —

worked example: *"my `doca_aes_gcm_task_encrypt` returns `DOCA_ERROR_NOT_PERMITTED`"*. Answered by the permission matrix in ## Safety policy

  • the mmap-set-permissions checklist in

test.

  • **"Is this DOCA AES-GCM API available on my installed DOCA

version?"** — worked example: *"is AES-192-GCM in the DOCA I have installed, on this device?"*. Answered by the version-compatibility overlay in

Version compatibility,

which cross-links the canonical detection chain in `doca-version/SKILL.md` and adds the AES-GCM-specific *"discover key sizes via cap query"* bullets.

  • **"What does this `DOCA_ERROR_*` from an AES-GCM call mean and

which layer caused it?"** — worked example: *"`DOCA_ERROR_NOT_PERMITTED` on my encrypt buffer"*. Answered by the AES-GCM overlay on the cross-library taxonomy in

Error taxonomy

  • the layered ladder in

debug that escalates to

`doca-debug/SKILL.md`.

> **`IO_FAILED` on a decrypt completion is not a debugging > question.** It means auth tag verification failed, and that is a > security event, not a code or configuration bug — t

Read more
@nvidia
Ships withskills

Official, NVIDIA-verified Agent Skills for Claude Code, Codex, and other coding agents.

3.8k200 skills
Get the whole plugin

Stars on GitHub

Momentum

stars in total
3.8k
Star history of NVIDIA/skills on GitHub, a chart by star-history.com

Other skills on skills.

nvidia-skill-finder

nvidia-skill-finder

Use for NVIDIA-related requests where an NVIDIA skill might help, even if the user did not ask for a skill. Trigger on NVIDIA…

@nvidia@nvidiaInstall Skill
accelerated-computing-cudf

accelerated-computing-…

Official NVIDIA-authored guidance for NVIDIA cuDF GPU DataFrames, pandas acceleration, dask-cuDF, ETL, joins, groupby,…

@nvidia@nvidiaInstall Skill
amc-run-rtsp-calibration

amc-run-rtsp-calibrati…

Calibrate a new dataset from live RTSP camera streams via the AutoMagicCalib REST API. Use when the user provides RTSP URLs or…

@nvidia@nvidiaInstall Skill
amc-run-sample-calibration

amc-run-sample-calibra…

Run end-to-end calibration on the shipped sample dataset (sdg_08_2_sample_data_010926.zip) against a running AMC microservice.…

@nvidia@nvidiaInstall Skill
amc-run-video-calibration

amc-run-video-calibrat…

Calibrates pre-recorded `cam_*.mp4` datasets through the AutoMagicCalib REST API. Use for user-supplied local MP4s; route live…

@nvidia@nvidiaInstall Skill

More skills from other plugins.

brainstorming
Auto-invoked

brainstorming

You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…

@obra@obraInstall Skill
ask-matt

ask-matt

Ask which skill or flow fits your situation. A router over the skills in this repo.

skills11d309k
@mattpocock@mattpocockInstall Skill
accessibility
Auto-invoked

accessibility

Design, implement, and audit accessible UI to WCAG 2.2 Level AA across Web, iOS, and Android — semantic ARIA roles and labels,…

ecc12d293k
@affaan-m@affaan-mInstall Skill
compiler-commit

compiler-commit

Use when you want to verify compiler changes and commit with the correct convention. Runs tests, lint, and format, then commits…

react2d252k
@facebook@facebookInstall Skill

Questions about doca-aes-gcm.

Which coding agents can use doca-aes-gcm?
doca-aes-gcm installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.