]> Cypherpunks repositories - gostls13.git/commitdiff
crypto/subtle: normalize constant time ops docs
authorFilippo Valsorda <hi@filippo.io>
Sun, 20 Jan 2019 21:18:04 +0000 (16:18 -0500)
committerFilippo Valsorda <filippo@golang.org>
Tue, 22 Jan 2019 19:40:30 +0000 (19:40 +0000)
ConstantTimeCompare is fairly useless if you can't rely on it being zero
when the slices are different, but thankfully it has that property
thanks to the final ConstantTimeByteEq.

Change-Id: Id51100ed7d8237abbbb15778a259065b162a48ad
Reviewed-on: https://go-review.googlesource.com/c/158643
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Reviewed-by: Adam Langley <agl@golang.org>
src/crypto/subtle/constant_time.go

index 9f5fee87e3fc4c370776bd8bcb23e8426e4e2a29..7c3cf05c462c4c474231a7c7b5869d43dba33c42 100644 (file)
@@ -6,9 +6,9 @@
 // code but require careful thought to use correctly.
 package subtle
 
-// ConstantTimeCompare returns 1 if and only if the two slices, x
-// and y, have equal contents. The time taken is a function of the length of
-// the slices and is independent of the contents.
+// ConstantTimeCompare returns 1 if the two slices, x and y, have equal contents
+// and 0 otherwise. The time taken is a function of the length of the slices and
+// is independent of the contents.
 func ConstantTimeCompare(x, y []byte) int {
        if len(x) != len(y) {
                return 0
@@ -23,7 +23,7 @@ func ConstantTimeCompare(x, y []byte) int {
        return ConstantTimeByteEq(v, 0)
 }
 
-// ConstantTimeSelect returns x if v is 1 and y if v is 0.
+// ConstantTimeSelect returns x if v == 1 and y if v == 0.
 // Its behavior is undefined if v takes any other value.
 func ConstantTimeSelect(v, x, y int) int { return ^(v-1)&x | (v-1)&y }