Mbed OS Reference
Loading...
Searching...
No Matches
ecdsa.h File Reference

This file contains ECDSA definitions and functions. More...

#include "mbedtls/config.h"
#include "mbedtls/ecp.h"
#include "mbedtls/md.h"

Go to the source code of this file.

Macros

#define MBEDTLS_ECDSA_MAX_SIG_LEN(bits)
 Maximum ECDSA signature size for a given curve bit size. More...
 
#define MBEDTLS_ECDSA_MAX_LEN   MBEDTLS_ECDSA_MAX_SIG_LEN( MBEDTLS_ECP_MAX_BITS )
 The maximal size of an ECDSA signature in Bytes. More...
 

Typedefs

typedef mbedtls_ecp_keypair mbedtls_ecdsa_context
 The ECDSA context structure. More...
 

Functions

int mbedtls_ecdsa_can_do (mbedtls_ecp_group_id gid)
 This function checks whether a given group can be used for ECDSA. More...
 
int mbedtls_ecdsa_sign (mbedtls_ecp_group *grp, mbedtls_mpi *r, mbedtls_mpi *s, const mbedtls_mpi *d, const unsigned char *buf, size_t blen, int(*f_rng)(void *, unsigned char *, size_t), void *p_rng)
 This function computes the ECDSA signature of a previously-hashed message. More...
 
int mbedtls_ecdsa_verify (mbedtls_ecp_group *grp, const unsigned char *buf, size_t blen, const mbedtls_ecp_point *Q, const mbedtls_mpi *r, const mbedtls_mpi *s)
 This function verifies the ECDSA signature of a previously-hashed message. More...
 
int mbedtls_ecdsa_write_signature (mbedtls_ecdsa_context *ctx, mbedtls_md_type_t md_alg, const unsigned char *hash, size_t hlen, unsigned char *sig, size_t *slen, int(*f_rng)(void *, unsigned char *, size_t), void *p_rng)
 This function computes the ECDSA signature and writes it to a buffer, serialized as defined in RFC-4492: Elliptic Curve Cryptography (ECC) Cipher Suites for Transport Layer Security (TLS). More...
 
int mbedtls_ecdsa_write_signature_restartable (mbedtls_ecdsa_context *ctx, mbedtls_md_type_t md_alg, const unsigned char *hash, size_t hlen, unsigned char *sig, size_t *slen, int(*f_rng)(void *, unsigned char *, size_t), void *p_rng, mbedtls_ecdsa_restart_ctx *rs_ctx)
 This function computes the ECDSA signature and writes it to a buffer, in a restartable way. More...
 
int mbedtls_ecdsa_read_signature (mbedtls_ecdsa_context *ctx, const unsigned char *hash, size_t hlen, const unsigned char *sig, size_t slen)
 This function reads and verifies an ECDSA signature. More...
 
int mbedtls_ecdsa_read_signature_restartable (mbedtls_ecdsa_context *ctx, const unsigned char *hash, size_t hlen, const unsigned char *sig, size_t slen, mbedtls_ecdsa_restart_ctx *rs_ctx)
 This function reads and verifies an ECDSA signature, in a restartable way. More...
 
int mbedtls_ecdsa_genkey (mbedtls_ecdsa_context *ctx, mbedtls_ecp_group_id gid, int(*f_rng)(void *, unsigned char *, size_t), void *p_rng)
 This function generates an ECDSA keypair on the given curve. More...
 
int mbedtls_ecdsa_from_keypair (mbedtls_ecdsa_context *ctx, const mbedtls_ecp_keypair *key)
 This function sets up an ECDSA context from an EC key pair. More...
 
void mbedtls_ecdsa_init (mbedtls_ecdsa_context *ctx)
 This function initializes an ECDSA context. More...
 
void mbedtls_ecdsa_free (mbedtls_ecdsa_context *ctx)
 This function frees an ECDSA context. More...
 

Detailed Description

This file contains ECDSA definitions and functions.

The Elliptic Curve Digital Signature Algorithm (ECDSA) is defined in Standards for Efficient Cryptography Group (SECG): SEC1 Elliptic Curve Cryptography. The use of ECDSA for TLS is defined in RFC-4492: Elliptic Curve Cryptography (ECC) Cipher Suites for Transport Layer Security (TLS).

Definition in file ecdsa.h.