https://github.com/nalinbhardwaj/eddy255
Eddy255 elliptic curve parameters and implementation (embedding Ed25519)
https://github.com/nalinbhardwaj/eddy255
Last synced: 11 days ago
JSON representation
Eddy255 elliptic curve parameters and implementation (embedding Ed25519)
- Host: GitHub
- URL: https://github.com/nalinbhardwaj/eddy255
- Owner: nalinbhardwaj
- License: mit
- Created: 2023-02-17T23:54:44.000Z (about 2 years ago)
- Default Branch: master
- Last Pushed: 2023-02-18T01:45:40.000Z (about 2 years ago)
- Last Synced: 2025-04-22T14:09:40.509Z (11 days ago)
- Language: Python
- Homepage:
- Size: 21.5 KB
- Stars: 11
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Eddy255
Eddy255 is a prime-order elliptic curve that embeds the Edwards curve `ed25519`, i.e. the order of Eddy255 is equal to the base field size of `ed25519`(2^255 - 19).
This repository contains the parameters for the curve, as well as a reference implementation of the curve using `arkworks`. Additionally, it includes a script to check the `SafeCurves` criteria for the curve (and some other generation utilities).
The primary use case for Eddy255 is to provide a curve where we can perform native-computation for `ed25519` EC operations. This right-field arithmetic is particularly useful for constructing zero-knowledge proofs verifying knowledge of [EDDSA](https://cryptobook.nakov.com/digital-signatures/eddsa-and-ed25519) signatures, for instance with the [Spartan](https://github.com/microsoft/Spartan) proving system, which uses the IPA commitment scheme.
This was found using [eccons](https://github.com/kwantam/eccons) thanks to [kwantam](https://github.com/kwantam) and [Srinath Setty](https://twitter.com/srinathtv).
A related curve is [Yafa-108/146](https://eprint.iacr.org/2022/1145), which also embeds `ed25519`, but with a pairing-friendly curve. Eddy255 is much smaller (~2x bits) but it is not pairing-friendly.
![]()