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);
|
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
|
/** Modular multiplication
|
||||||
@param a The first source
|
@param a The first source
|
||||||
@param b The second source
|
@param b The second source
|
||||||
@ -429,6 +411,26 @@ typedef struct {
|
|||||||
int (*rsa_me)(const unsigned char *in, unsigned long inlen,
|
int (*rsa_me)(const unsigned char *in, unsigned long inlen,
|
||||||
unsigned char *out, unsigned long *outlen, int which,
|
unsigned char *out, unsigned long *outlen, int which,
|
||||||
rsa_key *key);
|
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;
|
} ltc_math_descriptor;
|
||||||
|
|
||||||
extern ltc_math_descriptor ltc_mp;
|
extern ltc_math_descriptor ltc_mp;
|
||||||
|
@ -449,8 +449,6 @@ const ltc_math_descriptor gmp_desc = {
|
|||||||
&gcd,
|
&gcd,
|
||||||
&lcm,
|
&lcm,
|
||||||
|
|
||||||
&addmod,
|
|
||||||
&submod,
|
|
||||||
&mulmod,
|
&mulmod,
|
||||||
&sqrmod,
|
&sqrmod,
|
||||||
&invmod,
|
&invmod,
|
||||||
@ -489,8 +487,10 @@ const ltc_math_descriptor gmp_desc = {
|
|||||||
&rsa_make_key,
|
&rsa_make_key,
|
||||||
&rsa_exptmod,
|
&rsa_exptmod,
|
||||||
#else
|
#else
|
||||||
NULL, NULL
|
NULL, NULL,
|
||||||
#endif
|
#endif
|
||||||
|
&addmod,
|
||||||
|
&submod,
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -451,8 +451,6 @@ const ltc_math_descriptor ltm_desc = {
|
|||||||
&gcd,
|
&gcd,
|
||||||
&lcm,
|
&lcm,
|
||||||
|
|
||||||
&addmod,
|
|
||||||
&submod,
|
|
||||||
&mulmod,
|
&mulmod,
|
||||||
&sqrmod,
|
&sqrmod,
|
||||||
&invmod,
|
&invmod,
|
||||||
@ -491,8 +489,11 @@ const ltc_math_descriptor ltm_desc = {
|
|||||||
&rsa_make_key,
|
&rsa_make_key,
|
||||||
&rsa_exptmod,
|
&rsa_exptmod,
|
||||||
#else
|
#else
|
||||||
NULL, NULL
|
NULL, NULL,
|
||||||
#endif
|
#endif
|
||||||
|
&addmod,
|
||||||
|
&submod,
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
@ -739,8 +739,6 @@ const ltc_math_descriptor tfm_desc = {
|
|||||||
&gcd,
|
&gcd,
|
||||||
&lcm,
|
&lcm,
|
||||||
|
|
||||||
&addmod,
|
|
||||||
&submod,
|
|
||||||
&mulmod,
|
&mulmod,
|
||||||
&sqrmod,
|
&sqrmod,
|
||||||
&invmod,
|
&invmod,
|
||||||
@ -784,8 +782,10 @@ const ltc_math_descriptor tfm_desc = {
|
|||||||
&rsa_make_key,
|
&rsa_make_key,
|
||||||
&rsa_exptmod,
|
&rsa_exptmod,
|
||||||
#else
|
#else
|
||||||
NULL, NULL
|
NULL, NULL,
|
||||||
#endif
|
#endif
|
||||||
|
&addmod,
|
||||||
|
&submod,
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user