TianoCore EDK2 master
Loading...
Searching...
No Matches
EcSm2Null.c File Reference
#include <Base.h>
#include <Library/DebugLib.h>
#include <openssl/types.h>
#include <openssl/objects.h>
#include <openssl/bn.h>
#include <openssl/ec.h>
#include <openssl/pem.h>

Go to the source code of this file.

Functions

void EC_GROUP_free (EC_GROUP *group)
 
int EC_GROUP_get_order (const EC_GROUP *group, BIGNUM *order, BN_CTX *ctx)
 
int EC_GROUP_get_curve_name (const EC_GROUP *group)
 
int EC_GROUP_get_curve (const EC_GROUP *group, BIGNUM *p, BIGNUM *a, BIGNUM *b, BN_CTX *ctx)
 
int EC_GROUP_get_degree (const EC_GROUP *group)
 
EC_GROUP * EC_GROUP_new_by_curve_name (int nid)
 
EC_POINT * EC_POINT_new (const EC_GROUP *group)
 
void EC_POINT_free (EC_POINT *point)
 
void EC_POINT_clear_free (EC_POINT *point)
 
int EC_POINT_set_affine_coordinates (const EC_GROUP *group, EC_POINT *p, const BIGNUM *x, const BIGNUM *y, BN_CTX *ctx)
 
int EC_POINT_get_affine_coordinates (const EC_GROUP *group, const EC_POINT *p, BIGNUM *x, BIGNUM *y, BN_CTX *ctx)
 
int EC_POINT_set_compressed_coordinates (const EC_GROUP *group, EC_POINT *p, const BIGNUM *x, int y_bit, BN_CTX *ctx)
 
int EC_POINT_add (const EC_GROUP *group, EC_POINT *r, const EC_POINT *a, const EC_POINT *b, BN_CTX *ctx)
 
int EC_POINT_invert (const EC_GROUP *group, EC_POINT *a, BN_CTX *ctx)
 
int EC_POINT_is_at_infinity (const EC_GROUP *group, const EC_POINT *p)
 
int EC_POINT_is_on_curve (const EC_GROUP *group, const EC_POINT *point, BN_CTX *ctx)
 
int EC_POINT_cmp (const EC_GROUP *group, const EC_POINT *a, const EC_POINT *b, BN_CTX *ctx)
 
int EC_POINT_mul (const EC_GROUP *group, EC_POINT *r, const BIGNUM *n, const EC_POINT *q, const BIGNUM *m, BN_CTX *ctx)
 
EC_KEY * EC_KEY_new_by_curve_name (int nid)
 
void EC_KEY_free (EC_KEY *key)
 
EC_KEY * EC_KEY_dup (const EC_KEY *src)
 
const EC_GROUP * EC_KEY_get0_group (const EC_KEY *key)
 
const EC_POINT * EC_KEY_get0_public_key (const EC_KEY *key)
 
int EC_KEY_set_public_key (EC_KEY *key, const EC_POINT *pub)
 
int EC_KEY_generate_key (EC_KEY *key)
 
int EC_KEY_check_key (const EC_KEY *key)
 
int ECDH_compute_key (void *out, size_t outlen, const EC_POINT *pub_key, const EC_KEY *ecdh, void *(*KDF)(const void *in, size_t inlen, void *out, size_t *outlen))
 
const struct ec_key_st * EVP_PKEY_get0_EC_KEY (const EVP_PKEY *pkey)
 
EC_KEY * PEM_read_bio_ECPrivateKey (BIO *bp, EC_KEY **key, pem_password_cb *cb, void *u)
 
ECDSA_SIG * ECDSA_SIG_new (void)
 
void ECDSA_SIG_free (ECDSA_SIG *sig)
 
void ECDSA_SIG_get0 (const ECDSA_SIG *sig, const BIGNUM **pr, const BIGNUM **ps)
 
int ECDSA_SIG_set0 (ECDSA_SIG *sig, BIGNUM *r, BIGNUM *s)
 
ECDSA_SIG * ECDSA_do_sign (const unsigned char *dgst, int dgst_len, EC_KEY *eckey)
 
int ECDSA_do_verify (const unsigned char *dgst, int dgst_len, const ECDSA_SIG *sig, EC_KEY *eckey)
 

Detailed Description

Null implementation of EC and SM2 functions called by BaseCryptLib.

Copyright (c) 2022, Intel Corporation. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent

Definition in file EcSm2Null.c.

Function Documentation

◆ EC_GROUP_free()

void EC_GROUP_free ( EC_GROUP *  group)

Definition at line 21 of file EcSm2Null.c.

◆ EC_GROUP_get_curve()

int EC_GROUP_get_curve ( const EC_GROUP *  group,
BIGNUM *  p,
BIGNUM *  a,
BIGNUM *  b,
BN_CTX *  ctx 
)

Definition at line 49 of file EcSm2Null.c.

◆ EC_GROUP_get_curve_name()

int EC_GROUP_get_curve_name ( const EC_GROUP *  group)

Definition at line 40 of file EcSm2Null.c.

◆ EC_GROUP_get_degree()

int EC_GROUP_get_degree ( const EC_GROUP *  group)

Definition at line 62 of file EcSm2Null.c.

◆ EC_GROUP_get_order()

int EC_GROUP_get_order ( const EC_GROUP *  group,
BIGNUM *  order,
BN_CTX *  ctx 
)

Definition at line 29 of file EcSm2Null.c.

◆ EC_GROUP_new_by_curve_name()

EC_GROUP * EC_GROUP_new_by_curve_name ( int  nid)

Definition at line 71 of file EcSm2Null.c.

◆ EC_KEY_check_key()

int EC_KEY_check_key ( const EC_KEY *  key)

Definition at line 278 of file EcSm2Null.c.

◆ EC_KEY_dup()

EC_KEY * EC_KEY_dup ( const EC_KEY *  src)

Definition at line 232 of file EcSm2Null.c.

◆ EC_KEY_free()

void EC_KEY_free ( EC_KEY *  key)

Definition at line 224 of file EcSm2Null.c.

◆ EC_KEY_generate_key()

int EC_KEY_generate_key ( EC_KEY *  key)

Definition at line 269 of file EcSm2Null.c.

◆ EC_KEY_get0_group()

const EC_GROUP * EC_KEY_get0_group ( const EC_KEY *  key)

Definition at line 241 of file EcSm2Null.c.

◆ EC_KEY_get0_public_key()

const EC_POINT * EC_KEY_get0_public_key ( const EC_KEY *  key)

Definition at line 250 of file EcSm2Null.c.

◆ EC_KEY_new_by_curve_name()

EC_KEY * EC_KEY_new_by_curve_name ( int  nid)

Definition at line 215 of file EcSm2Null.c.

◆ EC_KEY_set_public_key()

int EC_KEY_set_public_key ( EC_KEY *  key,
const EC_POINT *  pub 
)

Definition at line 259 of file EcSm2Null.c.

◆ EC_POINT_add()

int EC_POINT_add ( const EC_GROUP *  group,
EC_POINT *  r,
const EC_POINT *  a,
const EC_POINT *  b,
BN_CTX *  ctx 
)

Definition at line 144 of file EcSm2Null.c.

◆ EC_POINT_clear_free()

void EC_POINT_clear_free ( EC_POINT *  point)

Definition at line 97 of file EcSm2Null.c.

◆ EC_POINT_cmp()

int EC_POINT_cmp ( const EC_GROUP *  group,
const EC_POINT *  a,
const EC_POINT *  b,
BN_CTX *  ctx 
)

Definition at line 189 of file EcSm2Null.c.

◆ EC_POINT_free()

void EC_POINT_free ( EC_POINT *  point)

Definition at line 89 of file EcSm2Null.c.

◆ EC_POINT_get_affine_coordinates()

int EC_POINT_get_affine_coordinates ( const EC_GROUP *  group,
const EC_POINT *  p,
BIGNUM *  x,
BIGNUM *  y,
BN_CTX *  ctx 
)

Definition at line 118 of file EcSm2Null.c.

◆ EC_POINT_invert()

int EC_POINT_invert ( const EC_GROUP *  group,
EC_POINT *  a,
BN_CTX *  ctx 
)

Definition at line 157 of file EcSm2Null.c.

◆ EC_POINT_is_at_infinity()

int EC_POINT_is_at_infinity ( const EC_GROUP *  group,
const EC_POINT *  p 
)

Definition at line 168 of file EcSm2Null.c.

◆ EC_POINT_is_on_curve()

int EC_POINT_is_on_curve ( const EC_GROUP *  group,
const EC_POINT *  point,
BN_CTX *  ctx 
)

Definition at line 178 of file EcSm2Null.c.

◆ EC_POINT_mul()

int EC_POINT_mul ( const EC_GROUP *  group,
EC_POINT *  r,
const BIGNUM *  n,
const EC_POINT *  q,
const BIGNUM *  m,
BN_CTX *  ctx 
)

Definition at line 201 of file EcSm2Null.c.

◆ EC_POINT_new()

EC_POINT * EC_POINT_new ( const EC_GROUP *  group)

Definition at line 80 of file EcSm2Null.c.

◆ EC_POINT_set_affine_coordinates()

int EC_POINT_set_affine_coordinates ( const EC_GROUP *  group,
EC_POINT *  p,
const BIGNUM *  x,
const BIGNUM *  y,
BN_CTX *  ctx 
)

Definition at line 105 of file EcSm2Null.c.

◆ EC_POINT_set_compressed_coordinates()

int EC_POINT_set_compressed_coordinates ( const EC_GROUP *  group,
EC_POINT *  p,
const BIGNUM *  x,
int  y_bit,
BN_CTX *  ctx 
)

Definition at line 131 of file EcSm2Null.c.

◆ ECDH_compute_key()

int ECDH_compute_key ( void *  out,
size_t  outlen,
const EC_POINT *  pub_key,
const EC_KEY *  ecdh,
void *(*)(const void *in, size_t inlen, void *out, size_t *outlen)  KDF 
)

Definition at line 287 of file EcSm2Null.c.

◆ ECDSA_do_sign()

ECDSA_SIG * ECDSA_do_sign ( const unsigned char *  dgst,
int  dgst_len,
EC_KEY *  eckey 
)

Definition at line 364 of file EcSm2Null.c.

◆ ECDSA_do_verify()

int ECDSA_do_verify ( const unsigned char *  dgst,
int  dgst_len,
const ECDSA_SIG *  sig,
EC_KEY *  eckey 
)

Definition at line 375 of file EcSm2Null.c.

◆ ECDSA_SIG_free()

void ECDSA_SIG_free ( ECDSA_SIG *  sig)

Definition at line 335 of file EcSm2Null.c.

◆ ECDSA_SIG_get0()

void ECDSA_SIG_get0 ( const ECDSA_SIG *  sig,
const BIGNUM **  pr,
const BIGNUM **  ps 
)

Definition at line 343 of file EcSm2Null.c.

◆ ECDSA_SIG_new()

ECDSA_SIG * ECDSA_SIG_new ( void  )

Definition at line 326 of file EcSm2Null.c.

◆ ECDSA_SIG_set0()

int ECDSA_SIG_set0 ( ECDSA_SIG *  sig,
BIGNUM *  r,
BIGNUM *  s 
)

Definition at line 353 of file EcSm2Null.c.

◆ EVP_PKEY_get0_EC_KEY()

const struct ec_key_st * EVP_PKEY_get0_EC_KEY ( const EVP_PKEY *  pkey)

Definition at line 305 of file EcSm2Null.c.

◆ PEM_read_bio_ECPrivateKey()

EC_KEY * PEM_read_bio_ECPrivateKey ( BIO *  bp,
EC_KEY **  key,
pem_password_cb *  cb,
void *  u 
)

Definition at line 314 of file EcSm2Null.c.