Server IP : 15.235.198.142 / Your IP : 216.73.216.221 Web Server : Apache/2.4.58 (Ubuntu) System : Linux ballsack 6.8.0-45-generic #45-Ubuntu SMP PREEMPT_DYNAMIC Fri Aug 30 12:02:04 UTC 2024 x86_64 User : www-data ( 33) PHP Version : 8.3.6 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : OFF Directory : /usr/src/linux-headers-6.8.0-45/include/crypto/ |
Upload File : |
/* SPDX-License-Identifier: GPL-2.0 */ /* Copyright (c) 2021 HiSilicon */ #ifndef _CRYTO_ECC_CURVE_H #define _CRYTO_ECC_CURVE_H #include <linux/types.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_point { u64 *x; u64 *y; u8 ndigits; }; /** * 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 * vli_mmod_fast(). * @n: Order of the curve group. * @a: Curve parameter a. * @b: Curve parameter b. */ struct ecc_curve { char *name; struct ecc_point g; u64 *p; u64 *n; u64 *a; u64 *b; }; /** * ecc_get_curve() - get elliptic curve; * @curve_id: Curves IDs: * 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; * * Returns curve25519 */ const struct ecc_curve *ecc_get_curve25519(void); #endif