HASH_ALGOS(3)

πŸ“¦ version 26.03, in nixos 26.05, nixpkgs unstable

πŸ’– NAME πŸ’–

rte_cryptodev_asymmetric_xform_capability β€” okay bestie, this is the struct in DPDK (that's the Data Plane Development Kit, the library this page comes from, iykyk) that tells you what an asymmetric crypto transform can actually do. It's giving "capability report" energy and honestly? iconic.


✨ SYNOPSIS ✨

#include <rte_cryptodev.h>

πŸŽ€ Data Fields

  • enum rte_crypto_asym_xform_type xform_type
  • uint32_t op_types
  • uint64_t hash_algos

πŸ”₯ Detailed Description

So this whole struct is literally called "Asymmetric Xform Crypto Capability" β€” it's the vibe check for an asymmetric transform. You look at it and you know what's supported. No cap.

Fr fr, this is defined at line 163 of file rte_cryptodev.h. Remember that, there's gonna be a quiz (there is not a quiz, but like… write it down).

🌸 Field Documentation 🌸

enum rte_crypto_asym_xform_type xform_type

The transform type, bestie. Your options are RSA/MODEXP/DH/DSA/MODINV. That's it, that's the list πŸ’…

Defined at line 164 of file rte_cryptodev.h.

uint32_t op_types

A bitmask for the supported rte_crypto_asym_op_type or rte_crypto_ml_kem_op_type or rte_crypto_ml_dsa_op_type or rte_crypto_asym_ke_type. And like β€” which enum gets used is decided by the rte_crypto_asym_xform_type. So:

  • for key exchange algorithms like Diffie-Hellman, it's rte_crypto_asym_ke_type
  • for ML-KEM algorithms, it's rte_crypto_ml_kem_op_type
  • for ML-DSA algorithms, it's rte_crypto_ml_dsa_op_type
  • for others, it's rte_crypto_asym_op_type

Not me making a whole little decision tree, but here we are πŸ¦‹

Defined at line 167 of file rte_cryptodev.h.

struct rte_crypto_param_range modlen

The range of modulus length that's supported by a modulus-based xform. And heads up β€” a value of 0 means the implementation default. So if you see 0, don't panic, it's not broken, that's just the default behavior 🫢

Defined at line 181 of file rte_cryptodev.h.

uint8_t internal_rng

Is there a random number generator available for an Elliptic curve based xform? That's the question.

  • Value 0 means unavailable, and the application should pass the required random value. So like, you gotta bring your own, bestie 😭
  • Otherwise, the PMD would internally compute the random number. Slay, it handles it for you ✨

Defined at line 186 of file rte_cryptodev.h.

uint32_t op_capa[RTE_CRYPTO_ASYM_OP_LIST_END]

Operation-specific capabilities. The girlypop of capability arrays πŸ’…

Defined at line 192 of file rte_cryptodev.h.

uint32_t mlkem_capa[RTE_CRYPTO_ML_KEM_OP_END]

A bitmask of the supported ML-KEM parameter sets. Obsessed with her honestly πŸ”₯

Defined at line 195 of file rte_cryptodev.h.

uint32_t mldsa_capa[RTE_CRYPTO_ML_DSA_OP_END]

A bitmask of the supported ML-DSA parameter sets. Her sister, equally iconic πŸ‘‘

Defined at line 198 of file rte_cryptodev.h.

uint64_t hash_algos

A bitmask of the hash algorithms supported for op_type. That's the whole thing, but like, it's an important whole thing πŸ’œ

Defined at line 202 of file rte_cryptodev.h.


🌈 Author

Generated automatically by Doxygen for DPDK from the source code. So nobody hand-wrote this, it wrote itself, main character energy fr fr πŸ€–βœ¨


Ok that's the page!! Signing off with the deets: this is DPDK, Version 26.03.0, and the page is rte_crypto..._capability(3) πŸŽ€ Go forth and check your capabilities, bestie πŸ’–

πŸ“¦ where this page comes from