| /* SPDX-License-Identifier: GPL-2.0 */ |
| /* Copyright (c) 2021 HiSilicon */ |
| #ifndef _CRYTO_ECC_CURVE_H |
| #define _CRYTO_ECC_CURVE_H |
| * struct ecc_point - elliptic curve point in affine coordinates |
| * @x: X coordinate in vli form. |
| * @y: Y coordinate in vli form. |
| * @ndigits: Length of vlis in u64 qwords. |
| * struct ecc_curve - definition of elliptic curve |
| * @name: Short name of the curve. |
| * @g: Generator point of the curve. |
| * @p: Prime number, if Barrett's reduction is used for this curve |
| * pre-calculated value 'mu' is appended to the @p after ndigits. |
| * Use of Barrett's reduction is heuristically determined in |
| * @n: Order of the curve group. |
| * ecc_get_curve() - get elliptic curve; |
| * defined in 'include/crypto/ecdh.h'; |
| * Returns curve if get curve succssful, NULL otherwise |
| const struct ecc_curve *ecc_get_curve(unsigned int curve_id); |
| * ecc_get_curve25519() - get curve25519 curve; |
| const struct ecc_curve *ecc_get_curve25519(void); |