|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Object | +--de.flexiprovider.common.math.quadraticfields.IQClassGroup
| Constructor Summary | |
IQClassGroup(FlexiBigInt discriminant)
Constructor. |
|
IQClassGroup(FlexiBigInt discriminant,
SecureRandom prng)
Constructor. |
|
IQClassGroup(int bits,
boolean primeDiscriminant)
Constructor. |
|
IQClassGroup(int bits,
boolean primeDiscriminant,
SecureRandom prng)
Constructor. |
|
| Method Summary | |
QuadraticIdeal |
divide(QuadraticIdeal I1,
QuadraticIdeal I2)
Divide a quadratic ideal by another. |
FlexiBigInt |
getDiscriminant()
Query discriminant of an IQClassGroup object. |
QuadraticIdeal |
invert(QuadraticIdeal I)
Invert a quadratic ideal of the class group. |
boolean |
isOne(QuadraticIdeal I)
Check whether the given ideal is the neutral element of the class group. |
boolean |
isReduced(QuadraticIdeal I)
Check whether we have a reduced ideal already. |
boolean |
isValid(QuadraticIdeal I)
discriminant = b^2 - 4ac, thus (b^2 - discriminant) mod 4a better be zero for c to be an integer. |
QuadraticIdeal |
multiply(FlexiBigInt a1,
FlexiBigInt b1,
FlexiBigInt a2,
FlexiBigInt b2)
Multiply two quadratic ideals of the class group. |
QuadraticIdeal |
multiply(QuadraticIdeal I1,
QuadraticIdeal I2)
Multiply two quadratic ideals. |
QuadraticIdeal |
one()
|
QuadraticIdeal |
power(QuadraticIdeal[] powI,
FlexiBigInt n)
Exponentiate a quadratic ideal (uses signed-digit exponent recoding) This assumes we have precomputed an array of powers of the ideal (see Gordon-Brickell precomputation). |
QuadraticIdeal |
power(QuadraticIdeal I,
FlexiBigInt n)
Exponentiate a quadratic ideal (uses signed-digit exponent recoding). |
QuadraticIdeal[] |
precomputeGordonBrickell(QuadraticIdeal I,
int n)
Generate precomputed values for fast exponentation using the Gordon Brickell method. |
QuadraticIdeal[][] |
precomputeSimPowerWNAF(QuadraticIdeal[] g,
int w)
|
QuadraticIdeal |
primePowerIdeal(FlexiBigInt p,
int e)
|
QuadraticIdeal |
randomIdeal()
|
QuadraticIdeal |
randomPrimePowerIdeal(int bits,
int e)
|
QuadraticIdeal |
reduce(QuadraticIdeal I)
Reduce a quadratic ideal of the class group. |
QuadraticIdeal |
simPower(QuadraticIdeal[] I,
FlexiBigInt[] n)
Simultaneous power computation for <= 10 ideals and exponents. |
QuadraticIdeal |
simPowerWNAF(QuadraticIdeal[][] gLUT,
FlexiBigInt[] e,
int w)
|
QuadraticIdeal |
square(FlexiBigInt a,
FlexiBigInt b)
Square a quadratic ideal. |
QuadraticIdeal |
square(QuadraticIdeal I)
Square a quadratic ideal. |
| Methods inherited from class java.lang.Object |
|
| Constructor Detail |
public IQClassGroup(FlexiBigInt discriminant,
SecureRandom prng)
discriminant - discriminant of class groupprng - instance of a pseudo-random number generatorpublic IQClassGroup(FlexiBigInt discriminant)
discriminant - discriminant of class group
public IQClassGroup(int bits,
boolean primeDiscriminant,
SecureRandom prng)
bits - length of the binary expansion of the discriminantprimeDiscriminant - flag to indicate whether the absolute value of the
discriminant has to be a prime or notprng - instance of pseudo-random number generator
public IQClassGroup(int bits,
boolean primeDiscriminant)
bits - length of the binary expension of the discriminantprimeDiscriminant - flag to indicate whether the absolute value of the
discriminant has to be a prime or not| Method Detail |
public FlexiBigInt getDiscriminant()
public boolean isReduced(QuadraticIdeal I)
public boolean isValid(QuadraticIdeal I)
public QuadraticIdeal reduce(QuadraticIdeal I)
I - ideal to be reducedpublic QuadraticIdeal invert(QuadraticIdeal I)
public QuadraticIdeal multiply(FlexiBigInt a1,
FlexiBigInt b1,
FlexiBigInt a2,
FlexiBigInt b2)
public QuadraticIdeal multiply(QuadraticIdeal I1,
QuadraticIdeal I2)
public QuadraticIdeal divide(QuadraticIdeal I1,
QuadraticIdeal I2)
I1 - the first ideal (dividend)I2 - the second ideal (divisor)
public QuadraticIdeal square(FlexiBigInt a,
FlexiBigInt b)
public QuadraticIdeal square(QuadraticIdeal I)
public QuadraticIdeal one()
public boolean isOne(QuadraticIdeal I)
I - the ideal
public QuadraticIdeal power(QuadraticIdeal I,
FlexiBigInt n)
I - the idealn - the exponent
public QuadraticIdeal power(QuadraticIdeal[] powI,
FlexiBigInt n)
powI - the array of precomputed ideals (first element is base)n - the exponent
public QuadraticIdeal[] precomputeGordonBrickell(QuadraticIdeal I,
int n)
I - the idealn - the number of ideals to precompute
public QuadraticIdeal[][] precomputeSimPowerWNAF(QuadraticIdeal[] g,
int w)
public QuadraticIdeal simPowerWNAF(QuadraticIdeal[][] gLUT,
FlexiBigInt[] e,
int w)
public QuadraticIdeal simPower(QuadraticIdeal[] I,
FlexiBigInt[] n)
I - the ideal arrayn - the exponent array
public QuadraticIdeal primePowerIdeal(FlexiBigInt p,
int e)
throws NoQuadraticResidueException
public QuadraticIdeal randomPrimePowerIdeal(int bits,
int e)
public QuadraticIdeal randomIdeal()
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||