Cryptography for Intel(R) Integrated Performance Primitives Developer Reference

ID 768738
Date 12/16/2022
Public
Document Table of Contents

mbx_sm2_ecpublic_key

Computes a public key.

Syntax

mbx_status mbx_sm2_ecpublic_key_mb8(int64u* pa_pubx[8], int64u* pa_puby[8], int64u* pa_pubz[8], const int64u* const pa_skey[8], int8u* pBuffer);

mbx_status mbx_sm2_ecpublic_key_ssl_mb8(BIGNUM* pa_pubx[8], BIGNUM* pa_puby[8], BIGNUM* pa_pubz[8], const BIGNUM* const pa_skey[8], int8u* pBuffer);

Include Files

crypto_mb/ec_sm2.h

Parameters

pa_pubx

Array of pointers to the vectors of computed public key x-coordinates.

pa_puby

Array of pointers to the vectors of computed public key y-coordinates.

pa_pubz

Array of pointers to the vectors of computed public key z-coordinates.

pa_skey

Array of pointers to the vectors of private keys.

pBuffer

Pointer to the work buffer.
Description

The function computes public keys using private keys specified by the pa_skey parameter. If z-coordinate of computed public is required (pa_pubz is not NULL), then computed public keys are stored using projective coordinates. If pa_pubz is NULL, then computed public keys are stored using affine coordinates.

The work buffer specified by the pBuffer parameter is not currently used and can be NULL.

NOTE:

The function above has own "twin" with "_ssl" in the name. The only difference in comparison with mbx_sm2_ecpublic_key() is representation of the parameters. mbx_sm2_ecpublic_key_ssl() functions use BIGNUM datatype instead of vector.

Return Values

The mbx_sm2_ecpublic_key() function returns the status that indicates whether the operation completed successfully or not. The status value of 0 indicates that all operations completed successfully. The error condition can be analyzed by the MBX_GET_STS() call.

Did you find the information on this page useful?

Characters remaining:

Feedback Message