gtank / ristretto255

Implements ristretto255, a fast prime-order group.
https://ristretto.group
BSD 3-Clause "New" or "Revised" License
98 stars 22 forks source link

Abs() fails when u, v overlap #21

Closed gtank closed 5 years ago

gtank commented 5 years ago

This was causing a bug in a downstream library. The new aliasing test catches it:

=== RUN   TestAliasing
--- FAIL: TestAliasing (0.49s)
    alias_test.go:126: Abs: #2: failed on input radix51.FieldElement{0x91375fdc747, 0x61a6a311c6d05, 0x713460716e767, 0x314744fbb09c5, 0x4cbbeee9e6f33}, radix51.FieldElement{0x3b862c140e9f0, 0x183227250ede, 0x1d58b2e188e54, 0x4c1f92597caf2, 0x2725af44c2fd2}
    alias_test.go:126: CondNeg0: #1: failed on input radix51.FieldElement{0x7ffb7845bff39, 0x10c97ca0522a7, 0x2ef760f2d0e61, 0x44df74aa1cbcd, 0x1ad5a57e61d0c}, radix51.FieldElement{0x72e998c6f0bfd, 0x40b212046b66b, 0x7a7a4f08a8442, 0x1687efa4db73, 0x3b4ef327ce418}