Filippo Valsorda
21e4845510
internal/scalar: fix FromUniformBytes
2019-05-16 15:08:48 -04:00
Filippo Valsorda
013999a2d0
internal/scalar: address review comments
2019-05-16 15:08:48 -04:00
Filippo Valsorda
644c28a2d3
all: apply suggestions from code review
...
Co-Authored-By: Henry de Valence <hdevalence@hdevalence.ca>
2019-05-16 15:08:48 -04:00
Filippo Valsorda
116bee5e3d
internal/scalar: replace FromBytes/IsCanonical with FromUniformBytes/FromCanonicalBytes
2019-05-16 15:08:48 -04:00
Filippo Valsorda
4baac9a766
internal/edwards25519,internal/scalar: apply some Go style touches
...
Including unexporting the table types (which are not used in any API) to
declutter the godoc page.
2019-05-16 15:08:48 -04:00
Henry de Valence
24394cb387
internal/scalar: add scalar inversion
2019-05-15 14:33:43 -04:00
Henry de Valence
4642a7ca28
internal/scalar: fix high bit check
...
This should check that s[31] > 127 to determine whether the high bit is set
(instead of s[31] >= 127)
2019-05-12 02:20:59 -04:00
Henry de Valence
de058a3840
internal/scalar: make casts clearer
2019-05-12 02:20:59 -04:00
Henry de Valence
70675843d7
internal/scalar: add invariant checks on Scalar digits
...
The digit recoding functions require that the scalar has its high bit unset.
We should consider making the Scalar type opaque, as in dalek, to avoid this
condition, although I don't know if we can make guarantees in Go.
2019-05-12 02:20:59 -04:00
Henry de Valence
8059980336
internal/scalar: use one scMulAdd for Sub
2019-05-12 02:20:59 -04:00
Henry de Valence
9bf3c72dab
internal/scalar: fix constant-time signed radix 16 implementation
2019-05-12 02:20:59 -04:00
Henry de Valence
070fa146ec
internal/scalar: add constant-time signed radix 16
...
Closes #10
2019-05-08 14:42:51 -07:00
Henry de Valence
f2b1a09ecb
internal/scalar: add non-adjacent form
...
Closes #13
This code is adapted from code I wrote for curve25519-dalek.
2019-05-08 14:42:51 -07:00
George Tankersley
94a47ae390
internal/scalar: don't zero memory that is about to be copied over
2019-04-19 17:15:16 -04:00
George Tankersley
7803101170
internal/scalar: add scalar field implementation
2019-04-19 17:15:16 -04:00