Commit Graph

15 Commits

Author SHA1 Message Date
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