Comments (1)
As seen on the last commit. If we modify the validity check to test the equalty with the identity point using the EdwardsPoint
ct_eq()
implementation instead of the RistrettoPoint
one, it turns out that it works as expected.
Line 211 in 2683d3c
Then this carries us to a situation where the equality testing for RistrettoPoint
defined here does not work as expected when we have a point like:
EdwardsPoint {
X: FieldElement([2343102587906502, 2760519207737545, 3330700626258293, 2681846281196326, 9383246181605]),
Y: FieldElement([0, 0, 0, 0, 0]),
Z: FieldElement([1606294061858997, 3766769899330158, 599503231942171, 2176372674299479, 16277867246398]),
T: FieldElement([0, 0, 0, 0, 0])
};
and we test it's equality against the RistrettoPoint
identity which is equivalent to: (0, 1, 1, 0)
.
Since we execute: X1*Y2 == Y1*X2 | X1*X2 == Y1*Y2
and for whatever point that has
Y-coord = 0 and whatever X-coord, it will be "equal" to the Ristretto Identity while it's not since it will always hold the equalty of the second part of the logical OR operation.
That's probably something to discuss with @hdevalence.
from dusk-zerocaf.
Related Issues (20)
- Finish Zerocaf paper
- Finish section for chain curves for bulletproofs in zerocaf
- PR Sonny paper in ZeroCaf GH repo
- Implement Scalar::from_bytes_wide
- Implement ff traits on Scalar type
- Speed up `sqrt_ratio_i()` to execute in constant time. HOT 2
- Ristretto Basepoint issues on Compression/Decompression process. HOT 5
- Refactor Ristretto Point operations. HOT 2
- Implement 4-coset function for `RistrettoPoint` HOT 1
- #ITEM 2 - Document update for new curve constants. HOT 2
- #ITEM 2 - Random point generation from Elligator does not produce valid points. HOT 2
- ITEM #2 - Review and improve current docs and add the Ristretto ones. HOT 2
- #ITEM 2 - Finnish docs and examples for Ristretto release HOT 2
- #ITEM 2 - Implement windowing/sliding-window point mul operation. HOT 1
- Implement `serde` for the structures (Scalar, CompressedRistretto, etc) HOT 3
- Knowledge of a secret key HOT 3
- Implement Into_Iter for EdwardsPoint and RistrettoPoint
- Determine p-adicity HOT 2
- Is there more detailed doc for Sonny curve? HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from dusk-zerocaf.