Skip site navigation (1)Skip section navigation (2)

  
 
  

home | help
rte_crypto_sm2_op_param(3)	      DPDK	      rte_crypto_sm2_op_param(3)

NAME
     rte_crypto_sm2_op_param

SYNOPSIS
     #include <rte_crypto_asym.h>

   Data Fields
     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
     rte_crypto_param cipher
     struct rte_crypto_ec_point c1
     struct rte_crypto_ec_point kp

Detailed Description
     SM2 operation params.

     Definition at line 686 of file rte_crypto_asym.h.

Field Documentation
   enum rte_crypto_asym_op_type op_type
     Signature generation or verification.

     Definition at line 687 of file rte_crypto_asym.h.

   enum rte_crypto_auth_algorithm hash
     Hash algorithm used in EC op.

     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  en-
       crypted text length). The message.length field will be overwritten by the
       PMD with the decrypted length.

     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.

     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.

     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).

     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.

     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.

     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).   If   the	random	 number   is   generated   by	the   PMD,   the
     'rte_crypto_param.data' parameter should be set to NULL.

     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  sig-
     nature 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  sig-
     nature verification

     Definition at line 765 of file rte_crypto_asym.h.

Author
     Generated automatically by Doxygen for DPDK from the source code.

Version 25.11.0 		 Thu Aug 27 2026      rte_crypto_sm2_op_param(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=id&sektion=3&manpath=FreeBSD+Ports+15.1.quarterly>

home | help