More renames, added secret key arithmetic

This commit is contained in:
Matthias Schiffer 2012-03-14 04:15:02 +01:00
parent fb00f40057
commit 6c37af4a76
4 changed files with 214 additions and 29 deletions

View file

@ -27,27 +27,31 @@
#ifndef _LIBUECC_ECC_H_
#define _LIBUECC_ECC_H_
typedef struct _ec_public_key_256 {
typedef struct _ecc_public_key_256 {
unsigned char p[32];
} ec_public_key_256;
} ecc_public_key_256;
typedef struct _ec_secret_key_256 {
typedef struct _ecc_secret_key_256 {
unsigned char s[32];
} ec_secret_key_256;
} ecc_secret_key_256;
typedef struct _ec_25519_work {
typedef struct _ecc_25519_work {
unsigned int X[32];
unsigned int Y[32];
unsigned int Z[32];
} ec_25519_work;
} ecc_25519_work;
void ec_25519_load(ec_25519_work *out, const ec_public_key_256 *in);
void ec_25519_store(ec_public_key_256 *out, const ec_25519_work *in);
void ecc_25519_load(ecc_25519_work *out, const ecc_public_key_256 *in);
void ecc_25519_store(ecc_public_key_256 *out, const ecc_25519_work *in);
void ec_25519_add(ec_25519_work *out, const ec_25519_work *in1, const ec_25519_work *in2);
void ec_25519_double(ec_25519_work *out, const ec_25519_work *in);
void ec_25519_scalarmult(ec_25519_work *out, const ec_secret_key_256 *n, const ec_25519_work *base);
void ec_25519_scalarmult_base(ec_25519_work *out, const ec_secret_key_256 *n);
void ecc_25519_add_secret(ecc_secret_key_256 *out, const ecc_secret_key_256 *in1, const ecc_secret_key_256 *in2);
void ecc_25519_sub_secret(ecc_secret_key_256 *out, const ecc_secret_key_256 *in1, const ecc_secret_key_256 *in2);
void ecc_25519_mult_secret(ecc_secret_key_256 *out, const ecc_secret_key_256 *in1, const ecc_secret_key_256 *in2);
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_secret_key_256 *n, const ecc_25519_work *base);
void ecc_25519_scalarmult_base(ecc_25519_work *out, const ecc_secret_key_256 *n);
#endif /* _LIBUECC_ECC_H_ */