Commit Graph

29 Commits

Author SHA1 Message Date
Filippo Valsorda 6bb3979858 ristretto255: replace backend with filippo.io/edwards25519 2021-09-30 06:15:14 -04:00
Filippo Valsorda ee040a3529 ristretto255: align the API with filippo.io/edwards25519
Fixes #36
Fixes #40
2021-09-30 06:10:56 -04:00
George Tankersley 6cc147bf72
ristretto255: add Set() to Scalar and Element types (#37)
ristretto255: add Set() to Scalar and Element types

Co-authored-by: Filippo Valsorda <hi@filippo.io>
2021-02-09 09:43:38 -08:00
Sarah Jamie Lewis af147e8e15 Add Stringer & TextMarshaler interface 2019-10-11 12:43:22 -04:00
Filippo Valsorda bd32259391 ristretto255: spell out Subtract, Negate and Multiply
The abbreviations don't really feel worth it, and it makes it more
natural to abbreviate ScalarMult with a "t".
2019-05-16 15:08:48 -04:00
Filippo Valsorda 2f2f1c0111 ristretto255: add NewElement and NewScalar 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 2b6c50d1bd ristretto255: minor cleanups 2019-05-16 15:08:48 -04:00
Filippo Valsorda 0e06c64ad7 ristretto255: expose scalar multiplication APIs
The names of the ScalarMults were picked to match elliptic.Curve.

The Scalar type is re-exposed as an opaque type, with an API that
matches the Element one.
2019-05-16 15:08:48 -04:00
Henry de Valence 0b5e1eb054 ristretto255: use multi-model arithmetic 2019-05-08 14:54:33 -07:00
Filippo Valsorda 675dee67e6 ristretto255: do not modify the receiver if Decode fails 2019-04-19 17:11:44 -04:00
Henry de Valence 68ecd88eb2 Update the small-multiples encoding to check additions. 2019-04-19 13:24:50 -07:00
Filippo Valsorda 82132719a1 ristretto255: minor docs cleanup 2019-04-19 13:14:32 -07:00
Filippo Valsorda 1849461667 ristretto255: fix Encode 2019-04-19 13:14:32 -07:00
Filippo Valsorda 50d9eb21ae ristretto255: make Encode an append API 2019-04-19 13:14:32 -07:00
Filippo Valsorda 118379a17a ristretto255: check element minimality by comparing Bytes output 2019-04-19 13:14:32 -07:00
Filippo Valsorda c7fb661a85
ristretto255: add docs for Add, Sub, Neg 2019-04-19 15:47:14 -04:00
Henry de Valence cc27ee0ee3 implement Add, Sub, Neg for ed25519 and ristretto255 points. 2019-04-19 11:47:12 -07:00
George Tankersley 1a1e45849a ristretto255: add Encode test 2019-04-19 13:12:37 -04:00
George Tankersley b5155ea127 ristretto255: remove encoded basepoint from main ristretto file 2019-04-19 13:12:37 -04:00
George Tankersley b6eb459f56 ristretto255: implement Encode and Decode 2019-04-19 13:12:37 -04:00
Filippo Valsorda 88aa823cd0 internal/group: rename to internal/edwards25519 2019-04-19 12:40:08 -04:00
Filippo Valsorda 8fdc84d186 Merge https://github.com/gtank/ed25519
Drop elliptic.Curve code, update import paths, and adapt to the new
FromBytes API. The tests in ed25519_test.go will require rescuing from
the git history.
2019-03-30 22:22:42 -04:00
Filippo Valsorda b0a75c0ab7 Import gtank/ed25519#8 and refactor on top of it 2019-01-26 22:20:45 -05:00
Filippo Valsorda a3540ec35a Implement FromUniformBytes 2019-01-21 23:39:45 -05:00
Filippo Valsorda dcc5867ec2 Update gtank/ed25519 code to fe6e0954e0
Our Ristretto-agnostic field operations are now upstreamed, so we can
drop the internal package.
2019-01-21 18:13:23 -05:00
Filippo Valsorda 7522470fbc Replace x/crypto/ed25519 code with github.com/gtank/ed25519
Code pulled from commit 0a030f62c0 with
FeEqual and FeCSwap removed.
2019-01-21 17:43:47 -05:00
Filippo Valsorda 6140fa2e7b Refactor const.go 2019-01-20 17:36:31 -05:00
Filippo Valsorda 8264e09462 First ristretto255 function: EQUALS 2019-01-20 17:32:31 -05:00