Lines Matching +full:point +full:- +full:to +full:- +full:point
16 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
20 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
36 #define ECC_MAX_DIGITS (512 / 64) /* due to ecrdsa */
45 * ecc_swap_digits() - Copy ndigits from big endian array to native array
48 * @ndigits: Number of digits to copy
56 out[i] = get_unaligned_be64(&src[ndigits - 1 - i]); in ecc_swap_digits()
60 * ecc_is_key_valid() - Validate a given ECDH private key
62 * @curve_id: id representing the curve to use
64 * @private_key: private key to be used for the given curve
73 * ecc_gen_privkey() - Generates an ECC private key.
76 * point G.
77 * @curve_id: id representing the curve to use
87 * ecc_make_pub_key() - Compute an ECC public key
89 * @curve_id: id representing the curve to use
101 * crypto_ecdh_shared_secret() - Compute a shared secret
103 * @curve_id: id representing the curve to use
120 * ecc_is_pubkey_valid_partial() - Partial public key validation
123 * @pk: public key as a point
125 * Valdiate public key according to SP800-56A section 5.6.2.3.4 ECC Partial
126 * Public-Key Validation Routine.
131 * Return: 0 if validation is successful, -EINVAL if validation is failed.
137 * ecc_is_pubkey_valid_full() - Full public key validation
140 * @pk: public key as a point
142 * Valdiate public key according to SP800-56A section 5.6.2.3.3 ECC Full
143 * Public-Key Validation Routine.
145 * Return: 0 if validation is successful, -EINVAL if validation is failed.
151 * vli_is_zero() - Determine is vli is zero
153 * @vli: vli to check.
159 * vli_cmp() - compare left and right vlis
165 * Returns sign of @left - @right, i.e. -1 if @left < @right,
171 * vli_sub() - Subtracts right from left
173 * @result: where to write result
178 * Note: can modify in-place.
186 * vli_from_be64() - Load vli from big-endian u64 array
195 * vli_from_le64() - Load vli from little-endian u64 array
204 * vli_mod_inv() - Modular inversion
206 * @result: where to write vli number
207 * @input: vli value to operate on
215 * vli_mod_mult_slow() - Modular multiplication
217 * @result: where to write result value
218 * @left: vli number to multiply with @right
219 * @right: vli number to multiply with @left
229 * vli_num_bits() - Counts the number of bits required for vli.
231 * @vli: vli to check.
234 * Return: The number of bits required to represent @vli.
239 * ecc_aloc_point() - Allocate ECC point.
243 * Return: Pointer to the allocated point or NULL if allocation failed.
248 * ecc_free_point() - Free ECC point.
250 * @p: The point to free.
255 * ecc_point_is_zero() - Check if point is zero.
257 * @p: Point to check for zero.
259 * Return: true if point is the point at infinity, false otherwise.
261 bool ecc_point_is_zero(const struct ecc_point *point);
264 * ecc_point_mult_shamir() - Add two points multiplied by scalars
266 * @result: resulting point
267 * @x: scalar to multiply with @p
268 * @p: point to multiply with @x
269 * @y: scalar to multiply with @q
270 * @q: point to multiply with @y