classygroup 0.0.1

An implementation of class groups in Rust. Uses GMP for arithmetic.
Documentation

Class Groups

https://github.com/Chia-Network/vdf-competition/blob/master/classgroups.pdf

The Group of unknown order that is used to sample our primes RSA or Class groups of imaginary quadratic order Binary quadratic forms Class groups of binary quadratic forms omits the trusted setup that RSA needs. The order of the class group of a negative prime discriminant d, where |d| ≡ 3 mod 4, is believed to be difficult to compute when |d| is sufficiently large, making the order of the class group effectively unknown. Therefore, a suitable discriminant — and its associated class group — can be chosen without the need for a trusted setup, which is a major advantage for using class groups in applications requiring groups of unknown order.

The Setup for Accumulators

  1. Pick Common Reference String (CRS).
  2. Create a discriminant from CRS which is a negative prime number at chosen length (in bits).