path: root/include/libuecc/ecc.h
diff options
Diffstat (limited to 'include/libuecc/ecc.h')
1 files changed, 65 insertions, 33 deletions
diff --git a/include/libuecc/ecc.h b/include/libuecc/ecc.h
index f8e3dfe..2f2c0d9 100644
--- a/include/libuecc/ecc.h
+++ b/include/libuecc/ecc.h
@@ -27,12 +27,17 @@
#ifndef _LIBUECC_ECC_H_
#define _LIBUECC_ECC_H_
-typedef union _ecc_int_256 {
+#define DEPRECATED __attribute__((deprecated))
+typedef union _ecc_int256 {
unsigned char p[32];
/* old name */
- unsigned char s[32];
-} ecc_int_256, ecc_secret_key_256, ecc_public_key_256;
+ unsigned char s[32] DEPRECATED;
+} ecc_int256_t;
/* a point on the curve unpacked for efficient calculation */
typedef struct _ecc_25519_work {
@@ -40,41 +45,68 @@ typedef struct _ecc_25519_work {
unsigned int Y[32];
unsigned int Z[32];
unsigned int T[32];
-} ecc_25519_work;
+} ecc_25519_work_t;
-void ecc_25519_load_xy(ecc_25519_work *out, const ecc_int_256 *x, const ecc_int_256 *y);
-void ecc_25519_store_xy(ecc_int_256 *x, ecc_int_256 *y, const ecc_25519_work *in);
+void ecc_25519_load_xy(ecc_25519_work_t *out, const ecc_int256_t *x, const ecc_int256_t *y);
+void ecc_25519_store_xy(ecc_int256_t *x, ecc_int256_t *y, const ecc_25519_work_t *in);
-void ecc_25519_load_packed(ecc_25519_work *out, const ecc_int_256 *in);
-void ecc_25519_store_packed(ecc_int_256 *out, const ecc_25519_work *in);
+void ecc_25519_load_packed(ecc_25519_work_t *out, const ecc_int256_t *in);
+void ecc_25519_store_packed(ecc_int256_t *out, const ecc_25519_work_t *in);
-int ecc_25519_is_identity(const ecc_25519_work *in);
-void ecc_25519_add(ecc_25519_work *out, const ecc_25519_work *in1, const ecc_25519_work *in2);
-void ecc_25519_double(ecc_25519_work *out, const ecc_25519_work *in);
-void ecc_25519_scalarmult(ecc_25519_work *out, const ecc_int_256 *n, const ecc_25519_work *base);
-void ecc_25519_scalarmult_base(ecc_25519_work *out, const ecc_int_256 *n);
+int ecc_25519_is_identity(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);
+void ecc_25519_double(ecc_25519_work_t *out, const ecc_25519_work_t *in);
+void ecc_25519_scalarmult(ecc_25519_work_t *out, const ecc_int256_t *n, const ecc_25519_work_t *base);
+void ecc_25519_scalarmult_base(ecc_25519_work_t *out, const ecc_int256_t *n);
/* operations on elements of the prime field F_q for q = 2^252 + 27742317777372353535851937790883648493 */
-extern const ecc_int_256 ecc_25519_gf_order;
-int ecc_25519_gf_is_zero(const ecc_int_256 *in);
-void ecc_25519_gf_add(ecc_int_256 *out, const ecc_int_256 *in1, const ecc_int_256 *in2);
-void ecc_25519_gf_sub(ecc_int_256 *out, const ecc_int_256 *in1, const ecc_int_256 *in2);
-void ecc_25519_gf_reduce(ecc_int_256 *out, const ecc_int_256 *in);
-void ecc_25519_gf_mult(ecc_int_256 *out, const ecc_int_256 *in1, const ecc_int_256 *in2);
-void ecc_25519_gf_recip(ecc_int_256 *out, const ecc_int_256 *in);
-void ecc_25519_gf_sanitize_secret(ecc_int_256 *out, const ecc_int_256 *in);
-/* defines for the old names */
-#define ecc_25519_load ecc_25519_load_packed
-#define ecc_25519_store ecc_25519_store_packed
-#define ecc_25519_secret_is_zero ecc_25519_gf_is_zero
-#define ecc_25519_secret_add ecc_25519_gf_add
-#define ecc_25519_secret_sub ecc_25519_gf_sub
-#define ecc_25519_secret_reduce ecc_25519_gf_reduce
-#define ecc_25519_secret_mult ecc_25519_gf_mult
-#define ecc_25519_secret_sanitize ecc_25519_gf_sanitize_secret
+extern const ecc_int256_t ecc_25519_gf_order;
+int ecc_25519_gf_is_zero(const ecc_int256_t *in);
+void ecc_25519_gf_add(ecc_int256_t *out, const ecc_int256_t *in1, const ecc_int256_t *in2);
+void ecc_25519_gf_sub(ecc_int256_t *out, const ecc_int256_t *in1, const ecc_int256_t *in2);
+void ecc_25519_gf_reduce(ecc_int256_t *out, const ecc_int256_t *in);
+void ecc_25519_gf_mult(ecc_int256_t *out, const ecc_int256_t *in1, const ecc_int256_t *in2);
+void ecc_25519_gf_recip(ecc_int256_t *out, const ecc_int256_t *in);
+void ecc_25519_gf_sanitize_secret(ecc_int256_t *out, const ecc_int256_t *in);
+/* declarations for the old names */
+typedef ecc_int256_t ecc_secret_key_256 DEPRECATED;
+typedef ecc_int256_t ecc_public_key_256 DEPRECATED;
+typedef ecc_25519_work_t ecc_25519_work DEPRECATED;
+DEPRECATED static inline void ecc_25519_load(ecc_25519_work_t *out, const ecc_int256_t *in) {
+ ecc_25519_load_packed(out, in);
+DEPRECATED static inline void ecc_25519_store(ecc_int256_t *out, const ecc_25519_work_t *in) {
+ ecc_25519_store_packed(out, in);
+DEPRECATED static inline int ecc_25519_secret_is_zero(const ecc_int256_t *in) {
+ return ecc_25519_gf_is_zero(in);
+DEPRECATED static inline void ecc_25519_secret_add(ecc_int256_t *out, const ecc_int256_t *in1, const ecc_int256_t *in2) {
+ ecc_25519_gf_add(out, in1, in2);
+DEPRECATED static inline void ecc_25519_secret_sub(ecc_int256_t *out, const ecc_int256_t *in1, const ecc_int256_t *in2) {
+ ecc_25519_gf_sub(out, in1, in2);
+DEPRECATED static inline void ecc_25519_secret_reduce(ecc_int256_t *out, const ecc_int256_t *in) {
+ ecc_25519_gf_reduce(out, in);
+DEPRECATED static inline void ecc_25519_secret_mult(ecc_int256_t *out, const ecc_int256_t *in1, const ecc_int256_t *in2) {
+ ecc_25519_gf_mult(out, in1, in2);
+DEPRECATED static inline void ecc_25519_secret_sanitize(ecc_int256_t *out, const ecc_int256_t *in) {
+ ecc_25519_gf_sanitize_secret(out, in);
#endif /* _LIBUECC_ECC_H_ */