You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

35 lines
1.2 KiB

4 years ago
4 years ago
  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. //! This library implements the BW6_761 curve generated in [\[EG20\]](https://eprint.iacr.org/2020/351).
  11. //! The name denotes that it is a curve generated using the Brezing--Weng
  12. //! method, and that its embedding degree is 6.
  13. //! The main feature of this curve is that the scalar field equals the base
  14. //! field of the BLS12_377 curve.
  15. //!
  16. //! Curve information:
  17. //! * Base field: q = 6891450384315732539396789682275657542479668912536150109513790160209623422243491736087683183289411687640864567753786613451161759120554247759349511699125301598951605099378508850372543631423596795951899700429969112842764913119068299
  18. //! * Scalar field: r = 258664426012969094010652733694893533536393512754914660539884262666720468348340822774968888139573360124440321458177
  19. //! * valuation(q - 1, 2) = 1
  20. //! * valuation(r - 1, 2) = 46
  21. //!
  22. //! G1 curve equation: y^2 = x^3 + ax + b, where
  23. //! * a = 0,
  24. //! * b = -1,
  25. //!
  26. //! G2 curve equation: y^2 = x^3 + Ax + B
  27. //! * A = 0
  28. //! * B = 4
  29. mod curves;
  30. mod fields;
  31. pub use curves::*;
  32. pub use fields::*;