Versions in this module Expand all Collapse all v0 v0.0.1 Mar 24, 2022 Changes in this version + func ProveQR(y1 *big.Int, group *schnorr.Group) bool + type Prover struct + Group *schnorr.Group + Y *big.Int + func NewProver(group *schnorr.Group, y1 *big.Int) *Prover + func (p *Prover) GetProofData(challenge *big.Int) (*big.Int, error) + func (p *Prover) GetProofRandomData() *big.Int + type RSA struct + N *big.Int + Order *big.Int + P *big.Int + Q *big.Int + func NewRSA(P, Q *big.Int) (*RSA, error) + func NewRSAPublic(N *big.Int) *RSA + func (g *RSA) Add(x, y *big.Int) *big.Int + func (g *RSA) Exp(base, exponent *big.Int) *big.Int + func (g *RSA) Inv(x *big.Int) *big.Int + func (g *RSA) IsElementInGroup(a *big.Int) (bool, error) + func (g *RSA) Mul(x, y *big.Int) *big.Int + type RSASpecial struct + P1 *big.Int + Q1 *big.Int + func NewRSASpecial(safePrimeBitLength int) (*RSASpecial, error) + func NewRSASpecialFromParams(specialRSAPrimes *RSASpecialPrimes) (*RSASpecial, error) + func NewRSApecialPublic(N *big.Int) *RSASpecial + func (rs *RSASpecial) GetPrimes() *RSASpecialPrimes + func (rs *RSASpecial) GetRandomElement() (*big.Int, error) + func (rs *RSASpecial) GetRandomGenerator() (*big.Int, error) + type RSASpecialPrimes struct + P *big.Int + P1 *big.Int + Q *big.Int + Q1 *big.Int + func GetRSASpecialPrimes(bits int) (*RSASpecialPrimes, error) + func NewRSASpecialPrimes(P, Q, p, q *big.Int) *RSASpecialPrimes + type RepresentationProof struct + Challenge *big.Int + ProofData []*big.Int + ProofRandomData *big.Int + func NewRepresentationProof(proofRandomData, challenge *big.Int, proofData []*big.Int) *RepresentationProof + type RepresentationProver struct + func NewRepresentationProver(qrSpecialRSA *RSASpecial, secParam int, secrets, bases []*big.Int, y *big.Int) *RepresentationProver + func (p *RepresentationProver) GetProofData(challenge *big.Int) []*big.Int + func (p *RepresentationProver) GetProofRandomData(alsoNeg bool) *big.Int + func (p *RepresentationProver) GetProofRandomDataGivenBoundaries(boundariesBitLength []int, alsoNeg bool) (*big.Int, error) + type RepresentationVerifier struct + func NewRepresentationVerifier(qrSpecialRSA *RSASpecial, challengeSpaceSize int) *RepresentationVerifier + func (v *RepresentationVerifier) GetChallenge() *big.Int + func (v *RepresentationVerifier) SetChallenge(challenge *big.Int) + func (v *RepresentationVerifier) SetProofRandomData(proofRandomData *big.Int, bases []*big.Int, y *big.Int) + func (v *RepresentationVerifier) Verify(proofData []*big.Int) bool + type Verifier struct + Group *schnorr.Group + func NewVerifier(y *big.Int, group *schnorr.Group) *Verifier + func (v *Verifier) GetChallenge(x *big.Int) *big.Int + func (v *Verifier) Verify(z *big.Int) bool