rte_crypto_sm2_op_param(3)

πŸ’– rte_crypto_sm2_op_param πŸ’–

okay bestie, so this lil cutie lives in the DPDK Library Functions Manual, and she's the struct that holds all your SM2 operation params. let's get into it, no cap 🌸


✨ NAME ✨

rte_crypto_sm2_op_param β€” literally the SM2 operation params struct, that's her, that's the whole vibe πŸ¦‹


✨ SYNOPSIS ✨

#include <rte_crypto_asym.h>

πŸŽ€ Data Fields πŸŽ€

here's the whole squad that shows up in this struct:

  • enum rte_crypto_asym_op_type op_type
  • enum rte_crypto_auth_algorithm hash
  • rte_crypto_param message
  • rte_crypto_uint id
  • rte_crypto_uint k
  • rte_crypto_uint r
  • rte_crypto_uint s

✨ Detailed Description ✨

SM2 operation params. periodt πŸ’…

πŸ“ Definition at line 686 of file rte_crypto_asym.h.

✨ Field Documentation ✨

🌈 enum rte_crypto_asym_op_type op_type

Signature generation or verification. pick your main character moment ✨

πŸ“ Definition at line 687 of file rte_crypto_asym.h.

🌈 enum rte_crypto_auth_algorithm hash

Hash algorithm used in EC op. the hash girlies stay winning πŸ“

πŸ“ Definition at line 690 of file rte_crypto_asym.h.

🌈 rte_crypto_param message

Pointer to input data:

  • to be encrypted for SM2 public encrypt. πŸ”₯
  • to be signed for SM2 sign generation. ✍️
  • to be authenticated for SM2 sign verification. βœ…

Pointer to output data:

  • for SM2 private decrypt. in this case the underlying array should have been allocated with enough memory to hold plaintext output (at least encrypted text length). the message.length field will be overwritten by the PMD with the decrypted length. no takebacks, the PMD is editing your length field fr fr 😭
πŸ“ Definition at line 693 of file rte_crypto_asym.h.

🌈 rte_crypto_param cipher

Pointer to input data:

  • to be decrypted for SM2 private decrypt. πŸ”“

Pointer to output data:

  • for SM2 public encrypt. in this case the underlying array should have been allocated with enough memory to hold ciphertext output (at least X bytes for prime field curve of N bytes and for message M bytes, where X = (C1 || C2 || C3) and computed based on SM2 RFC as C1 (1 + N + N), C2 = M, C3 = N. the cipher.length field will be overwritten by the PMD with the encrypted length. πŸ‘‘ the math said what it said!!
πŸ“ Definition at line 709 of file rte_crypto_asym.h.

🌈 struct rte_crypto_ec_point c1

This field is used only when PMD does not support the full process of the SM2 encryption/decryption, but the elliptic curve part only. it's giving partial-support energy πŸ™ˆ

In the case of encryption, it is an output β€” point C1 = (x1,y1). In the case of decryption, if is an input β€” point C1 = (x1,y1). (yes bestie, that "if" is in the original, we do not touch the lore πŸ’€)

Must be used along with the RTE_CRYPTO_SM2_PARTIAL flag. πŸ”–

πŸ“ Definition at line 724 of file rte_crypto_asym.h.

🌈 struct rte_crypto_ec_point kp

This field is used only when PMD does not support the full process of the SM2 encryption/decryption, but the elliptic curve part only. same partial vibe, different field πŸ’«

It is an output in the encryption case, it is a point [k]P = (x2,y2).

Must be used along with the RTE_CRYPTO_SM2_PARTIAL flag. πŸ”–

πŸ“ Definition at line 735 of file rte_crypto_asym.h.

🌈 rte_crypto_uint id

The SM2 id used by signer and verifier. both sides gotta agree, it's a whole relationship πŸ’œ

πŸ“ Definition at line 749 of file rte_crypto_asym.h.

🌈 rte_crypto_uint k

The SM2 per-message secret number, which is an integer in the interval (1, n-1). πŸ‘€ and listen: if the random number is generated by the PMD, the 'rte_crypto_param.data' parameter should be set to NULL. don't come for me, that's just the rule βœ‹

πŸ“ Definition at line 752 of file rte_crypto_asym.h.

🌈 rte_crypto_uint r

r component of elliptic curve signature.

  • output: for signature generation (of at least N bytes where prime field length is N bytes)
  • input: for signature verification
πŸ“ Definition at line 759 of file rte_crypto_asym.h.

🌈 rte_crypto_uint s

s component of elliptic curve signature.

  • output: for signature generation (of at least N bytes where prime field length is N bytes)
  • input: for signature verification
πŸ“ Definition at line 765 of file rte_crypto_asym.h.

✨ Author ✨

Generated automatically by Doxygen for DPDK from the source code. πŸ€– the robot wrote it, not me, i'm just the messenger 🫢


<div align="center">🌸 πŸ’– 🌸</div>

okay that's the whole page bestie, you ate that read πŸ’…βœ¨ β€” signed, sealed, and shipped straight outta DPDK, Version 25.11.3, on this fine rte_crypto_sm2_op_param(3) era. slay, and go encrypt something πŸ¦‹πŸ’œ

πŸ“¦ where this page comes from