summaryrefslogtreecommitdiff
path: root/AUTHORS
diff options
context:
space:
mode:
authorAdam Langley <agl@golang.org>2014-04-08 16:32:48 -0700
committerAdam Langley <agl@golang.org>2014-04-08 16:32:48 -0700
commit22900042f1e25fecf407c7e3c476b761596510bf (patch)
treeaf8a79e39f8cba6ae05c61ab5176e17065cdba0e /AUTHORS
parent6bba712c148f4ee837172acc3603716855d891c5 (diff)
downloadgo-22900042f1e25fecf407c7e3c476b761596510bf.tar.gz
crypto/(ec)dsa: use Fermat's inversion.
Now that we have a constant-time P-256 implementation, it's worth paying more attention elsewhere. The inversion of k in (EC)DSA was using Euclid's algorithm which isn't constant-time. This change switches to Fermat's algorithm, which is much better. However, it's important to note that math/big itself isn't constant time and is using a 4-bit window for exponentiation with variable memory access patterns. (Since math/big depends quite deeply on its values being in minimal (as opposed to fixed-length) represetation, perhaps crypto/elliptic should grow a constant-time implementation of exponentiation in the scalar field.) R=bradfitz Fixes issue 7652. LGTM=rsc R=golang-codereviews, bradfitz, rsc CC=golang-codereviews https://codereview.appspot.com/82740043
Diffstat (limited to 'AUTHORS')
0 files changed, 0 insertions, 0 deletions