|
SYSCALL cx_err_t | cx_ecdomain_size (cx_curve_t curve, size_t *length) |
| Gets the bit length of each parameter of the curve. More...
|
SYSCALL cx_err_t | cx_ecdomain_parameters_length (cx_curve_t cv, size_t *length) |
| Gets the byte length of each parameter of the curve. More...
|
SYSCALL cx_err_t | cx_ecdomain_parameter (cx_curve_t cv, cx_curve_dom_param_t id, uint8_t *p, uint32_t p_len) |
| Gets a specific parameter of the curve. More...
|
SYSCALL cx_err_t | cx_ecdomain_parameter_bn (cx_curve_t cv, cx_curve_dom_param_t id, cx_bn_t p) |
| Stores a specific parameter of the curve as a BN. More...
|
SYSCALL cx_err_t | cx_ecdomain_generator (cx_curve_t cv, uint8_t *Gx, uint8_t *Gy, size_t len) |
| Gets the generator of the curve. More...
|
SYSCALL cx_err_t | cx_ecdomain_generator_bn (cx_curve_t cv, cx_ecpoint_t *P) |
| Gets the generator of the curve and stores it in the point structure. More...
|
SYSCALL cx_err_t | cx_ecpoint_alloc (cx_ecpoint_t *P, cx_curve_t cv) |
| Allocates memory for a point on the curve. More...
|
SYSCALL cx_err_t | cx_ecpoint_destroy (cx_ecpoint_t *P) |
| Destroys a point on the curve. More...
|
SYSCALL cx_err_t | cx_ecpoint_init (cx_ecpoint_t *P, const uint8_t *x, size_t x_len, const uint8_t *y, size_t y_len) |
| Initializes a point on the curve. More...
|
SYSCALL cx_err_t | cx_ecpoint_init_bn (cx_ecpoint_t *P, const cx_bn_t x, const cx_bn_t y) |
| Initializes a point on the curve with the BN indexes of the coordinates. More...
|
SYSCALL cx_err_t | cx_ecpoint_export (const cx_ecpoint_t *P, uint8_t *x, size_t x_len, uint8_t *y, size_t y_len) |
| Exports a point. More...
|
SYSCALL cx_err_t | cx_ecpoint_export_bn (const cx_ecpoint_t *P, cx_bn_t *x, cx_bn_t *y) |
| Exports a point using BN indexes of the coordinates. More...
|
SYSCALL cx_err_t | cx_ecpoint_compress (const cx_ecpoint_t *P, uint8_t *xy_compressed, size_t xy_compressed_len, uint32_t *sign) |
| Computes the compressed form of a point. More...
|
SYSCALL cx_err_t | cx_ecpoint_decompress (cx_ecpoint_t *P, const uint8_t *xy_compressed, size_t xy_compressed_len, uint32_t sign) |
| Computes the affine coordinates of a point given its compressed form. More...
|
SYSCALL cx_err_t | cx_ecpoint_add (cx_ecpoint_t *R, const cx_ecpoint_t *P, const cx_ecpoint_t *Q) |
| Adds two points on a curve. More...
|
SYSCALL cx_err_t | cx_ecpoint_neg (cx_ecpoint_t *P) |
| Computes the opposite of a point. More...
|
SYSCALL cx_err_t | cx_ecpoint_rnd_scalarmul (cx_ecpoint_t *P, const uint8_t *k, size_t k_len) |
| Performs a secure scalar multiplication. More...
|
SYSCALL cx_err_t | cx_ecpoint_rnd_scalarmul_bn (cx_ecpoint_t *P, const cx_bn_t bn_k) |
| Performs a secure scalar multiplication given the BN index of the scalar. More...
|
SYSCALL cx_err_t | cx_ecpoint_rnd_fixed_scalarmul (cx_ecpoint_t *P, const uint8_t *k, size_t k_len) |
| Performs a secure scalar multiplication with a fixed scalar length. More...
|
SYSCALL cx_err_t | cx_ecpoint_scalarmul (cx_ecpoint_t *P, const uint8_t *k, size_t k_len) |
| Performs a scalar multiplication. More...
|
SYSCALL cx_err_t | cx_ecpoint_scalarmul_bn (cx_ecpoint_t *P, const cx_bn_t bn_k) |
| Performs a scalar multiplication given the BN index of the scalar. More...
|
SYSCALL cx_err_t | cx_ecpoint_double_scalarmul (cx_ecpoint_t *R, cx_ecpoint_t *P, cx_ecpoint_t *Q, const uint8_t *k, size_t k_len, const uint8_t *r, size_t r_len) |
| Performs a double scalar multiplication. More...
|
SYSCALL cx_err_t | cx_ecpoint_double_scalarmul_bn (cx_ecpoint_t *R, cx_ecpoint_t *P, cx_ecpoint_t *Q, const cx_bn_t bn_k, const cx_bn_t bn_r) |
| Performs a double scalar multiplication given the BN indexes of the scalars. More...
|
SYSCALL cx_err_t | cx_ecpoint_cmp (const cx_ecpoint_t *P, const cx_ecpoint_t *Q, bool *is_equal) |
| Compares two points on the same curve. More...
|
SYSCALL cx_err_t | cx_ecpoint_is_on_curve (const cx_ecpoint_t *R, bool *is_on_curve) |
| Checks whether a given point is on the curve. More...
|
SYSCALL cx_err_t | cx_ecpoint_is_at_infinity (const cx_ecpoint_t *R, bool *is_at_infinity) |
| Checks whether a given point is the point at infinity. More...
|
Elliptic curve cryptography syscalls.
This file contains elliptic curves definitions and functions.