ark_tom256/lib.rs
1#![cfg_attr(not(feature = "std"), no_std)]
2#![deny(
3 warnings,
4 unused,
5 future_incompatible,
6 nonstandard_style,
7 rust_2018_idioms
8)]
9#![forbid(unsafe_code)]
10
11//! This library implements the tom256 curve and is a copy of the secp256k1 implementation.
12//! Parameters source: <https://neuromancer.sk/std/other/Tom-256#>
13//! Paper: <https://eprint.iacr.org/2021/1183>
14//!
15//! Curve information - in parentheses names from neuromancer.sk:
16//! * Base field: q (p) =
17//! secp: 115792089237316195423570985008687907852837564279074904382605163141518161494337
18//! 115792089210356248762697446949407573530594504085698471288169790229257723883799
19//! * Scalar field: r (n) =
20//! secp: 115792089237316195423570985008687907853269984665640564039457584007908834671663
21//! 115792089210356248762697446949407573530086143415290314195533631308867097853951
22//! * Curve equation a (a) =
23//! secp: 0
24//! 115792089210356248762697446949407573530594504085698471288169790229257723883796
25//! * Curve equation b (b) =
26//! secp: 7
27//! 81531206846337786915455327229510804132577517753388365729879493166393691077718
28//! * Base point G =
29//! secp: (55066263022277343669578718895168534326250603453777594175500187360389116729240,
30//! 32670510020758816978083085130507043184471273380659243275938904335757337482424)
31//! (3, 40902200210088653215032584946694356296222563095503428277299570638400093548589)
32//! * Curve equation: y^2 = x^3 + ax + b
33
34#[cfg(feature = "r1cs")]
35pub mod constraints;
36mod curves;
37mod fields;
38
39pub use curves::*;
40pub use fields::*;