From 962888f03fb3d6254cc9e4bdadced10c1eeeb06d Mon Sep 17 00:00:00 2001 From: Matthias Schiffer Date: Fri, 2 Oct 2015 20:57:19 +0900 Subject: Add functions for point negation and subtraction --- include/libuecc/ecc.h | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'include') diff --git a/include/libuecc/ecc.h b/include/libuecc/ecc.h index 982f7c9..5d75150 100644 --- a/include/libuecc/ecc.h +++ b/include/libuecc/ecc.h @@ -86,6 +86,13 @@ void ecc_25519_store_packed(ecc_int256_t *out, const ecc_25519_work_t *in); /** Checks if a point is the identity element of the Elliptic Curve group */ int ecc_25519_is_identity(const ecc_25519_work_t *in); +/** + * Negates a point of the Elliptic Curve + * + * The same pointer may be given for input and output + */ +void ecc_25519_negate(ecc_25519_work_t *out, const ecc_25519_work_t *in); + /** * Doubles a point of the Elliptic Curve * @@ -102,6 +109,12 @@ void ecc_25519_double(ecc_25519_work_t *out, const ecc_25519_work_t *in); */ void ecc_25519_add(ecc_25519_work_t *out, const ecc_25519_work_t *in1, const ecc_25519_work_t *in2); +/** + * Subtracts two points of the Elliptic Curve + * + * The same pointers may be given for input and output. + */ +void ecc_25519_sub(ecc_25519_work_t *out, const ecc_25519_work_t *in1, const ecc_25519_work_t *in2); /** * Does a scalar multiplication of a point of the Elliptic Curve with an integer of a given bit length -- cgit v1.2.3