Corrections to the comments in BN_mod_inverse.
This commit is contained in:
parent
4751717cd8
commit
19cda70045
@ -240,7 +240,7 @@ BIGNUM *BN_mod_inverse(BIGNUM *in,
|
|||||||
/* From B = a mod |n|, A = |n| it follows that
|
/* From B = a mod |n|, A = |n| it follows that
|
||||||
*
|
*
|
||||||
* 0 <= B < A,
|
* 0 <= B < A,
|
||||||
* X*a == B (mod |n|),
|
* sign*X*a == B (mod |n|),
|
||||||
* -sign*Y*a == A (mod |n|).
|
* -sign*Y*a == A (mod |n|).
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@ -250,7 +250,7 @@ BIGNUM *BN_mod_inverse(BIGNUM *in,
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* 0 < B < A,
|
* 0 < B < A,
|
||||||
* (*) X*a == B (mod |n|),
|
* (*) sign*X*a == B (mod |n|),
|
||||||
* -sign*Y*a == A (mod |n|)
|
* -sign*Y*a == A (mod |n|)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@ -314,15 +314,15 @@ BIGNUM *BN_mod_inverse(BIGNUM *in,
|
|||||||
* i.e.
|
* i.e.
|
||||||
* -sign*Y*a - D*A == B (mod |n|).
|
* -sign*Y*a - D*A == B (mod |n|).
|
||||||
* Similarly, (*) translates into
|
* Similarly, (*) translates into
|
||||||
* X*a == A (mod |n|).
|
* sign*X*a == A (mod |n|).
|
||||||
*
|
*
|
||||||
* Thus,
|
* Thus,
|
||||||
* -sign*Y*a - D*X*a == B (mod |n|),
|
* -sign*Y*a - D*sign*X*a == B (mod |n|),
|
||||||
* i.e.
|
* i.e.
|
||||||
* -sign*(Y + D*X)*a == B (mod |n|).
|
* -sign*(Y + D*X)*a == B (mod |n|).
|
||||||
*
|
*
|
||||||
* So if we set (X, Y, sign) := (Y + D*X, X, -sign), we arrive back at
|
* So if we set (X, Y, sign) := (Y + D*X, X, -sign), we arrive back at
|
||||||
* X*a == B (mod |n|),
|
* sign*X*a == B (mod |n|),
|
||||||
* -sign*Y*a == A (mod |n|).
|
* -sign*Y*a == A (mod |n|).
|
||||||
* Note that X and Y stay non-negative all the time.
|
* Note that X and Y stay non-negative all the time.
|
||||||
*/
|
*/
|
||||||
@ -361,7 +361,7 @@ BIGNUM *BN_mod_inverse(BIGNUM *in,
|
|||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* The while loop ends when
|
* The while loop (Euclid's algorithm) ends when
|
||||||
* A == gcd(a,n);
|
* A == gcd(a,n);
|
||||||
* we have
|
* we have
|
||||||
* -sign*Y*a == A (mod |n|),
|
* -sign*Y*a == A (mod |n|),
|
||||||
|
Loading…
x
Reference in New Issue
Block a user