nvme_auth_a...ed_challenge(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

🌸 NAME 🌸

nvme_auth_augmented_challenge β€” compute the augmented DH-HMAC-CHAP challenge. Okay so this page is from the Kernel API Manual, page id nvme_auth_a...ed_challenge(9), and we're about to make the augmented challenge make sense, bestie πŸ’–

✨ SYNOPSIS ✨

int nvme_auth_augmented_challenge (u8 hmac_id , const u8 *skey , size_t
       skey_len , const u8 *challenge , u8 *aug , size_t hlen );

πŸŽ€ ARGUMENTS πŸŽ€

  • hmac_id β€” hash algorithm identifier, periodt. This is the ID that says which hash algorithm we're working with.
  • skey β€” session key. Main character energy, honestly.
  • skey_len β€” length of skey.
  • challenge β€” challenge value. The challenge in question πŸ’…
  • aug β€” output buffer for the augmented challenge. This is where the glow-up goes.
  • hlen β€” hash output length (length of challenge and aug).

πŸ¦‹ DESCRIPTION πŸ¦‹

NVMe base specification 8.3.5.5.4: the augmented challenge is computed applying the HMAC function using the hash function H selected by the HashID parameter ... with the hash of the ephemeral DH key ... as HMAC key to the challenge C (i.e., Ca = HMAC(H(g^xy mod p), C)). Literally the math is the moment πŸ”₯

As the session key skey is already H(g^xy mod p) per section 8.3.5.5.9, use it directly as the HMAC key without additional hashing. Slay β€” no extra hashing arc needed πŸ’–

πŸ’… RETURN πŸ’…

0 on success, negative errno on failure. That's the whole vibe check: zero means we ate, negative errno means something went wrong 😭

🌈 SEE ALSO 🌈

Go read these next, bestie β€” they're all in the same friend group 🫢


okay bye bestie 🫢 this page lives at ./drivers/nvme/common, dated October 2026, and it's nvme_auth_a...ed_challenge(9) in the Kernel API Manual β€” mwah πŸ’‹

πŸ“¦ where this page comes from