diff options
author | Brian Kessler <brian.m.kessler@gmail.com> | 2017-07-21 01:19:42 -0700 |
---|---|---|
committer | Adam Langley <agl@golang.org> | 2017-08-09 19:28:40 +0000 |
commit | 60b9ae4cf3a0428668748a53f278a80d41fbfc38 (patch) | |
tree | 7fe0d85d6dee3ffa955f94e69b7d96d39f8b7b0f /src/crypto/rsa/rsa.go | |
parent | 762a0bae06b61f58a3783042167c54752c533aa1 (diff) | |
download | go-60b9ae4cf3a0428668748a53f278a80d41fbfc38.tar.gz go-60b9ae4cf3a0428668748a53f278a80d41fbfc38.zip |
crypto/rsa: drop uneeded parameter in modInverse
The current modInverse implementation allocates a big.Int
for the second parameter of GCD, while only the first is needed.
This is unnecessary and can lead to a speed up for optimizations
of GCD where the second parameter is not calculated at all.
Change-Id: I3f042e140ff643311bc3d0b8d192992d4d2c4c70
Reviewed-on: https://go-review.googlesource.com/50531
Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
Run-TryBot: Adam Langley <agl@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Filippo Valsorda <filosottile.wiki@gmail.com>
Reviewed-by: Adam Langley <agl@golang.org>
Diffstat (limited to 'src/crypto/rsa/rsa.go')
-rw-r--r-- | src/crypto/rsa/rsa.go | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/src/crypto/rsa/rsa.go b/src/crypto/rsa/rsa.go index 1de4fcb473..69a2b58a5a 100644 --- a/src/crypto/rsa/rsa.go +++ b/src/crypto/rsa/rsa.go @@ -424,8 +424,7 @@ var ErrVerification = errors.New("crypto/rsa: verification error") func modInverse(a, n *big.Int) (ia *big.Int, ok bool) { g := new(big.Int) x := new(big.Int) - y := new(big.Int) - g.GCD(x, y, a, n) + g.GCD(x, nil, a, n) if g.Cmp(bigOne) != 0 { // In this case, a and n aren't coprime and we cannot calculate // the inverse. This happens because the values of n are nearly |