// GetRandomElement returns a random element from this group. First a random generator
// is chosen and then it is exponentiated to the random int between 0 and order
// of QR_N (P1 * Q1).
GetRandomElement returns a random element from this group. First a random generator
is chosen and then it is exponentiated to the random int between 0 and order
of QR_N (P1 * Q1).
// GetRandomElement returns a random element from this group . First a random generator // is chosen and then it is exponentiated to the random int between 0 and order // of QR_N ( P1 * Q1 ) .
func (group *QRSpecialRSA) GetRandomElement() (*big.Int, error) {
	if group.P == nil {
		return nil,
			fmt.Errorf("GetRandomElement not available for QRSpecialRSA with only public parameters")
	}
	g, err := group.GetRandomGenerator()
	if err != nil {
		return nil, err
	}
	r := common.GetRandomInt(group.Order)
	el := group.Exp(g, r)
	return el, nil
}
func ( group * QRSpecialRSA ) GetRandomElement ( ) ( * big . Int , error ) { if group . P == nil { return nil , fmt . Errorf ( " " ) } g , err := group . GetRandomGenerator ( ) if err != nil { return nil , err } r := common . GetRandomInt ( group . Order ) el := group . Exp ( g , r ) return el , nil }
GetRandomElement returns a random element from this group.
GetRandomElement returns a random element from this group .