]> Cypherpunks repositories - gostls13.git/commitdiff
[dev.boringcrypto] crypto/rsa: fix boringFakeRandomBlind to work with (*big.Int)...
authorFilippo Valsorda <filippo@golang.org>
Tue, 15 May 2018 15:24:57 +0000 (11:24 -0400)
committerFilippo Valsorda <filippo@golang.org>
Fri, 18 May 2018 15:13:45 +0000 (15:13 +0000)
http://golang.org/cl/108996 removed the local modInverse and its call in
decrypt in favor of (*big.Int).ModInverse. boringFakeRandomBlind copies
decrypt, so it needs to be updated as well.

Change-Id: I59a6c17c2fb9cc7f38cbb59dd9ed11846737d220
Reviewed-on: https://go-review.googlesource.com/113676
Run-TryBot: Filippo Valsorda <filippo@golang.org>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
src/crypto/rsa/boring.go

index f25f4a5274f80a79abc8f4fe3148115dce35fa1c..0ddff014e60627c77942d06877cd6e132efd7391 100644 (file)
@@ -147,6 +147,7 @@ func boringFakeRandomBlind(random io.Reader, priv *PrivateKey) {
        boring.UnreachableExceptTests()
 
        // Copied from func decrypt.
+       ir := new(big.Int)
        for {
                r, err := rand.Int(random, priv.N)
                if err != nil {
@@ -155,8 +156,8 @@ func boringFakeRandomBlind(random io.Reader, priv *PrivateKey) {
                if r.Cmp(bigZero) == 0 {
                        r = bigOne
                }
-               _, ok := modInverse(r, priv.N)
-               if ok {
+               ok := ir.ModInverse(r, priv.N)
+               if ok != nil {
                        break
                }
        }