|
RetroArch
|
#include "mbedtls/config.h"#include "mbedtls/ecdsa.h"#include "mbedtls/asn1write.h"#include <string.h>#include "mbedtls/hmac_drbg.h"Functions | |
| static int | derive_mpi (const mbedtls_ecp_group *grp, mbedtls_mpi *x, const unsigned char *buf, size_t blen) |
| 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) |
| Compute ECDSA signature of a previously hashed message. More... | |
| int | mbedtls_ecdsa_sign_det (mbedtls_ecp_group *grp, mbedtls_mpi *r, mbedtls_mpi *s, const mbedtls_mpi *d, const unsigned char *buf, size_t blen, mbedtls_md_type_t md_alg) |
| Compute ECDSA signature of a previously hashed message, deterministic version (RFC 6979). 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) |
| Verify ECDSA signature of a previously hashed message. More... | |
| static int | ecdsa_signature_to_asn1 (const mbedtls_mpi *r, const mbedtls_mpi *s, unsigned char *sig, size_t *slen) |
| 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) |
| Compute ECDSA signature and write it to buffer, serialized as defined in RFC 4492 page 20. (Not thread-safe to use same context in multiple threads) More... | |
| int | mbedtls_ecdsa_write_signature_det (mbedtls_ecdsa_context *ctx, const unsigned char *hash, size_t hlen, unsigned char *sig, size_t *slen, mbedtls_md_type_t md_alg) |
| Compute ECDSA signature and write it to buffer, serialized as defined in RFC 4492 page 20. Deterministic version, RFC 6979. (Not thread-safe to use same context in multiple threads) More... | |
| int | mbedtls_ecdsa_read_signature (mbedtls_ecdsa_context *ctx, const unsigned char *hash, size_t hlen, const unsigned char *sig, size_t slen) |
| Read and verify an ECDSA signature. 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) |
| Generate an ECDSA keypair on the given curve. More... | |
| int | mbedtls_ecdsa_from_keypair (mbedtls_ecdsa_context *ctx, const mbedtls_ecp_keypair *key) |
| Set an ECDSA context from an EC key pair. More... | |
| void | mbedtls_ecdsa_init (mbedtls_ecdsa_context *ctx) |
| Initialize context. More... | |
| void | mbedtls_ecdsa_free (mbedtls_ecdsa_context *ctx) |
| Free context. More... | |
|
static |
|
static |
| void mbedtls_ecdsa_free | ( | mbedtls_ecdsa_context * | ctx | ) |
Free context.
| ctx | Context to free |
| int mbedtls_ecdsa_from_keypair | ( | mbedtls_ecdsa_context * | ctx, |
| const mbedtls_ecp_keypair * | key | ||
| ) |
Set an ECDSA context from an EC key pair.
| ctx | ECDSA context to set |
| key | EC key to use |
| int mbedtls_ecdsa_genkey | ( | mbedtls_ecdsa_context * | ctx, |
| mbedtls_ecp_group_id | gid, | ||
| int(*)(void *, unsigned char *, size_t) | f_rng, | ||
| void * | p_rng | ||
| ) |
Generate an ECDSA keypair on the given curve.
| ctx | ECDSA context in which the keypair should be stored |
| gid | Group (elliptic curve) to use. One of the various MBEDTLS_ECP_DP_XXX macros depending on configuration. |
| f_rng | RNG function |
| p_rng | RNG parameter |
| void mbedtls_ecdsa_init | ( | mbedtls_ecdsa_context * | ctx | ) |
Initialize context.
| ctx | Context to initialize |
| int mbedtls_ecdsa_read_signature | ( | mbedtls_ecdsa_context * | ctx, |
| const unsigned char * | hash, | ||
| size_t | hlen, | ||
| const unsigned char * | sig, | ||
| size_t | slen | ||
| ) |
Read and verify an ECDSA signature.
| ctx | ECDSA context |
| hash | Message hash |
| hlen | Size of hash |
| sig | Signature to read and verify |
| slen | Size of sig |
| 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(*)(void *, unsigned char *, size_t) | f_rng, | ||
| void * | p_rng | ||
| ) |
Compute ECDSA signature of a previously hashed message.
| grp | ECP group |
| r | First output integer |
| s | Second output integer |
| d | Private signing key |
| buf | Message hash |
| blen | Length of buf |
| f_rng | RNG function |
| p_rng | RNG parameter |
| int mbedtls_ecdsa_sign_det | ( | mbedtls_ecp_group * | grp, |
| mbedtls_mpi * | r, | ||
| mbedtls_mpi * | s, | ||
| const mbedtls_mpi * | d, | ||
| const unsigned char * | buf, | ||
| size_t | blen, | ||
| mbedtls_md_type_t | md_alg | ||
| ) |
Compute ECDSA signature of a previously hashed message, deterministic version (RFC 6979).
| grp | ECP group |
| r | First output integer |
| s | Second output integer |
| d | Private signing key |
| buf | Message hash |
| blen | Length of buf |
| md_alg | MD algorithm used to hash the message |
| 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 | ||
| ) |
Verify ECDSA signature of a previously hashed message.
| grp | ECP group |
| buf | Message hash |
| blen | Length of buf |
| Q | Public key to use for verification |
| r | First integer of the signature |
| s | Second integer of the signature |
| 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(*)(void *, unsigned char *, size_t) | f_rng, | ||
| void * | p_rng | ||
| ) |
Compute ECDSA signature and write it to buffer, serialized as defined in RFC 4492 page 20. (Not thread-safe to use same context in multiple threads)
| ctx | ECDSA context |
| md_alg | Algorithm that was used to hash the message |
| hash | Message hash |
| hlen | Length of hash |
| sig | Buffer that will hold the signature |
| slen | Length of the signature written |
| f_rng | RNG function |
| p_rng | RNG parameter |
| int mbedtls_ecdsa_write_signature_det | ( | mbedtls_ecdsa_context * | ctx, |
| const unsigned char * | hash, | ||
| size_t | hlen, | ||
| unsigned char * | sig, | ||
| size_t * | slen, | ||
| mbedtls_md_type_t | md_alg | ||
| ) |
Compute ECDSA signature and write it to buffer, serialized as defined in RFC 4492 page 20. Deterministic version, RFC 6979. (Not thread-safe to use same context in multiple threads)
| ctx | ECDSA context |
| hash | Message hash |
| hlen | Length of hash |
| sig | Buffer that will hold the signature |
| slen | Length of the signature written |
| md_alg | MD algorithm used to hash the message |
1.8.15