Ristretto/Edwards curve library
Many of the advanced cryptographic constructions rely on algebraic groups. These groups are a finite set of elements for which there exists a binary operation. The group operation, often displayed as an addition, takes two group elements and maps them to a third group element. In these groups, the discrete logarithm problem needs to be difficult. The discrete logarithm problem states whether, given two random group elements G, H, it is possible to find a scalar a such that a * G = H. Multiplication here refers to the repeated application of the group operation. The Ristretto group is a prime-order elliptic curve subgroup of Curve25519. It is specifically designed to be efficient and has a secure decoding and encoding procedure that maps curve points, i.e. group elements, to a binary representation. Upon this group, advanced cryptographic constructions are implemented, including cryptographic commitments, Bulletproofs, and more.