You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+81-5Lines changed: 81 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,21 +1,92 @@
1
-
# Isogeny
1
+
# A Rust Isogeny Library
2
2
3
3
A Rust library for isogeny-based cryptography
4
4
5
5
## :construction: Everything will Change Always :construction:
6
6
7
-
At the moment, this repo is a bit of a dump of various previous projects. If you're interested in collaborating, get in touch, but there's a lot to figure out before collaboration becomes easier!
7
+
Currently this code is "pre-alpha" in that in development of new features, the code is being constantly refactored. Don't expect any of the current code to maintain API / form.
8
+
9
+
## Motivation
10
+
11
+
Over the past few years, I've written some Rust for isogeny-based research papers which have now become spread over several GitHub repositories. The aim with this project is to collect all this work into one library with a consistent API.
12
+
13
+
The hope is that after enough work, this library makes implementing new protocols in Rust more easily. This is helped thanks to the finite field macro: [`fp2`](https://github.com/GiacomoPope/fp2) which allows the easy creation of any field $GF(p^2)$ with modulus $x^2 + 1$ requiring only `p` encoded as little endian `u64` for creation.
14
+
15
+
## Protocols
16
+
17
+
This library currently contains:
18
+
19
+
- SQIsign verification following the [SQIsign spec](https://sqisign.org)
20
+
- A toy implementation of SIDH to demonstrate 2-isogenies and 3-isogenies
8
21
9
22
## Associated Work
10
23
11
24
This repository has started as a collection and refactoring of some isogeny-based cryptography research papers.
12
25
13
-
- "Simpler and faster pairings from the Montgomery Ladder" by Giacomo Pope, Krijn Reijnders, Damien Robert, Alessandro Sferlazza and Benjamin Smith.
- "An Algorithmic Approach to (2, 2)-isogenies in the Theta Model and Applications to Isogeny-based Cryptography" by Pierrick Dartois, Luciano Maino, Giacomo Pope, and Damien Robert.
I am very interested in collaboration to improve both the performance and scope of this project. Additionally, I am a mathematican first and Rust person second, so if any Rust experts have opinions / advice of making this project more idomatic to a Rust developer, please let me know.
0 commit comments