Diffie-Hellman/Math: introduced the proposed changes by Alexander Kurpiers
addmod and submod are moved to the end of the math descriptor, in order to be able to run existing software against a new version of ltc without need to rebuild the software.
This commit is contained in:
parent
6fecec107d
commit
edf11c62c0
@ -258,24 +258,6 @@ typedef struct {
|
||||
*/
|
||||
int (*lcm)(void *a, void *b, void *c);
|
||||
|
||||
/** Modular addition
|
||||
@param a The first source
|
||||
@param b The second source
|
||||
@param c The modulus
|
||||
@param d The destination (a + b mod c)
|
||||
@return CRYPT_OK on success
|
||||
*/
|
||||
int (*addmod)(void *a, void *b, void *c, void *d);
|
||||
|
||||
/** Modular substraction
|
||||
@param a The first source
|
||||
@param b The second source
|
||||
@param c The modulus
|
||||
@param d The destination (a - b mod c)
|
||||
@return CRYPT_OK on success
|
||||
*/
|
||||
int (*submod)(void *a, void *b, void *c, void *d);
|
||||
|
||||
/** Modular multiplication
|
||||
@param a The first source
|
||||
@param b The second source
|
||||
@ -429,6 +411,26 @@ typedef struct {
|
||||
int (*rsa_me)(const unsigned char *in, unsigned long inlen,
|
||||
unsigned char *out, unsigned long *outlen, int which,
|
||||
rsa_key *key);
|
||||
|
||||
/* ---- basic math continued ---- */
|
||||
|
||||
/** Modular addition
|
||||
@param a The first source
|
||||
@param b The second source
|
||||
@param c The modulus
|
||||
@param d The destination (a + b mod c)
|
||||
@return CRYPT_OK on success
|
||||
*/
|
||||
int (*addmod)(void *a, void *b, void *c, void *d);
|
||||
|
||||
/** Modular substraction
|
||||
@param a The first source
|
||||
@param b The second source
|
||||
@param c The modulus
|
||||
@param d The destination (a - b mod c)
|
||||
@return CRYPT_OK on success
|
||||
*/
|
||||
int (*submod)(void *a, void *b, void *c, void *d);
|
||||
} ltc_math_descriptor;
|
||||
|
||||
extern ltc_math_descriptor ltc_mp;
|
||||
|
@ -449,8 +449,6 @@ const ltc_math_descriptor gmp_desc = {
|
||||
&gcd,
|
||||
&lcm,
|
||||
|
||||
&addmod,
|
||||
&submod,
|
||||
&mulmod,
|
||||
&sqrmod,
|
||||
&invmod,
|
||||
@ -489,8 +487,10 @@ const ltc_math_descriptor gmp_desc = {
|
||||
&rsa_make_key,
|
||||
&rsa_exptmod,
|
||||
#else
|
||||
NULL, NULL
|
||||
NULL, NULL,
|
||||
#endif
|
||||
&addmod,
|
||||
&submod,
|
||||
|
||||
};
|
||||
|
||||
|
@ -451,8 +451,6 @@ const ltc_math_descriptor ltm_desc = {
|
||||
&gcd,
|
||||
&lcm,
|
||||
|
||||
&addmod,
|
||||
&submod,
|
||||
&mulmod,
|
||||
&sqrmod,
|
||||
&invmod,
|
||||
@ -491,8 +489,11 @@ const ltc_math_descriptor ltm_desc = {
|
||||
&rsa_make_key,
|
||||
&rsa_exptmod,
|
||||
#else
|
||||
NULL, NULL
|
||||
NULL, NULL,
|
||||
#endif
|
||||
&addmod,
|
||||
&submod,
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
@ -739,8 +739,6 @@ const ltc_math_descriptor tfm_desc = {
|
||||
&gcd,
|
||||
&lcm,
|
||||
|
||||
&addmod,
|
||||
&submod,
|
||||
&mulmod,
|
||||
&sqrmod,
|
||||
&invmod,
|
||||
@ -784,8 +782,10 @@ const ltc_math_descriptor tfm_desc = {
|
||||
&rsa_make_key,
|
||||
&rsa_exptmod,
|
||||
#else
|
||||
NULL, NULL
|
||||
NULL, NULL,
|
||||
#endif
|
||||
&addmod,
|
||||
&submod,
|
||||
|
||||
};
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user