Search in sources :

Example 1 with ECFieldFp

use of java.security.spec.ECFieldFp in project robovm by robovm.

the class EllipticCurveTest method testEllipticCurveECFieldBigIntegerBigInteger03.

/**
     * Test #3 for <code>EllipticCurve(ECField, BigInteger, BigInteger)</code>
     * constructor<br>
     * Assertion: throws <code>IllegalArgumentException</code> if
     * <code>a</code> or <code>b</code> is not <code>null</code> and not in
     * the <code>field</code><br>
     * Test preconditions: pass <code>a</code>, <code>b</code> which are
     * not in the <code>field</code> of type <code>ECFieldFp</code><br>
     * Expected: must throw <code>IllegalArgumentException</code>
     */
public final void testEllipticCurveECFieldBigIntegerBigInteger03() {
    // test case 1 parameters set,
    // a is not in field
    ECFieldFp f = new ECFieldFp(BigInteger.valueOf(23L));
    BigInteger a = BigInteger.valueOf(24L);
    BigInteger b = BigInteger.valueOf(19L);
    // perform test case 1
    try {
        new EllipticCurve(f, a, b);
        fail("#1: Expected IAE not thrown");
    } catch (IllegalArgumentException ok) {
    }
    // test case 1.1 parameters set,
    // a is not in field
    f = new ECFieldFp(BigInteger.valueOf(23L));
    a = BigInteger.valueOf(23L);
    b = BigInteger.valueOf(19L);
    // perform test case 1.1
    try {
        new EllipticCurve(f, a, b);
        fail("#1.1: Expected IAE not thrown");
    } catch (IllegalArgumentException ok) {
    }
    // test case 2 parameters set,
    // b is not in field
    f = new ECFieldFp(BigInteger.valueOf(23L));
    a = BigInteger.valueOf(19L);
    b = BigInteger.valueOf(24L);
    // perform test case 2
    try {
        new EllipticCurve(f, a, b);
        fail("#2: Expected IAE not thrown");
    } catch (IllegalArgumentException ok) {
    }
    // test case 3 parameters set,
    // both a and b are not in field
    f = new ECFieldFp(BigInteger.valueOf(23L));
    a = BigInteger.valueOf(25L);
    b = BigInteger.valueOf(240L);
    // perform test case 3
    try {
        new EllipticCurve(f, a, b);
        fail("#3: Expected IAE not thrown");
    } catch (IllegalArgumentException ok) {
    }
}
Also used : ECFieldFp(java.security.spec.ECFieldFp) EllipticCurve(java.security.spec.EllipticCurve) BigInteger(java.math.BigInteger)

Example 2 with ECFieldFp

use of java.security.spec.ECFieldFp in project robovm by robovm.

the class EllipticCurveTest method testGetSeed03.

/**
     * Test #3 for <code>getSeed()</code> method<br>
     * Assertion: returned array is copied to prevent subsequent modification<br>
     * Test preconditions: <code>ECFieldF2m</code> instance
     * created using valid parameters<br>
     * Expected: repeated method calls must return different refs
     */
public final void testGetSeed03() {
    ECFieldFp f = new ECFieldFp(BigInteger.valueOf(23L));
    BigInteger a = BigInteger.ONE;
    BigInteger b = BigInteger.valueOf(19L);
    byte[] seed = new byte[24];
    EllipticCurve c = new EllipticCurve(f, a, b, seed);
    c.getSeed();
    assertNotSame(c.getSeed(), c.getSeed());
}
Also used : ECFieldFp(java.security.spec.ECFieldFp) EllipticCurve(java.security.spec.EllipticCurve) BigInteger(java.math.BigInteger)

Example 3 with ECFieldFp

use of java.security.spec.ECFieldFp in project robovm by robovm.

the class EllipticCurveTest method testEllipticCurveECFieldBigIntegerBigInteger01.

/**
     * Test #1 for <code>EllipticCurve(ECField, BigInteger, BigInteger)</code>
     * constructor<br>
     * Assertion: creates instance of EllipticCurve<br>
     * Test preconditions: valid parameters passed, field type is ECFieldFp<br>
     * Expected: must pass without any exceptions
     */
public final void testEllipticCurveECFieldBigIntegerBigInteger01() {
    // test case 1 parameters set
    ECFieldFp f = new ECFieldFp(BigInteger.valueOf(23L));
    BigInteger a = BigInteger.ONE;
    BigInteger b = BigInteger.valueOf(19L);
    // perform test case 1
    new EllipticCurve(f, a, b);
    // test case 2 parameters set
    ECFieldF2m f1 = new ECFieldF2m(5);
    a = BigInteger.ZERO;
    b = BigInteger.valueOf(23L);
    // perform test case 2
    new EllipticCurve(f1, a, b);
    // test case 3 parameters set,
    // the seed parameter may be null
    f = new ECFieldFp(BigInteger.valueOf(23L));
    a = BigInteger.ONE;
    b = BigInteger.valueOf(19L);
    // perform test case 3
    new EllipticCurve(f, a, b);
}
Also used : ECFieldFp(java.security.spec.ECFieldFp) EllipticCurve(java.security.spec.EllipticCurve) BigInteger(java.math.BigInteger) ECFieldF2m(java.security.spec.ECFieldF2m)

Example 4 with ECFieldFp

use of java.security.spec.ECFieldFp in project robovm by robovm.

the class EllipticCurveTest method testEllipticCurveECFieldBigIntegerBigIntegerbyteArray01.

/**
     * Test #1 for <code>EllipticCurve(ECField, BigInteger, BigInteger, byte[])</code>
     * constructor<br>
     * Assertion: creates instance of EllipticCurve<br>
     * Test preconditions: valid parameters passed<br>
     * Expected: must pass without any exceptions
     */
public final void testEllipticCurveECFieldBigIntegerBigIntegerbyteArray01() {
    // test case 1 parameters set
    ECFieldFp f = new ECFieldFp(BigInteger.valueOf(23L));
    BigInteger a = BigInteger.ONE;
    BigInteger b = BigInteger.valueOf(19L);
    byte[] seed = new byte[24];
    // perform test case 1
    new EllipticCurve(f, a, b, seed);
    // test case 2 parameters set
    ECFieldF2m f1 = new ECFieldF2m(5);
    a = BigInteger.ZERO;
    b = BigInteger.valueOf(23L);
    // perform test case 2
    new EllipticCurve(f1, a, b, seed);
    // test case 3 parameters set,
    // the seed parameter may be null
    f = new ECFieldFp(BigInteger.valueOf(23L));
    a = BigInteger.ONE;
    b = BigInteger.valueOf(19L);
    seed = null;
    // perform test case 3
    new EllipticCurve(f, a, b, seed);
}
Also used : ECFieldFp(java.security.spec.ECFieldFp) EllipticCurve(java.security.spec.EllipticCurve) BigInteger(java.math.BigInteger) ECFieldF2m(java.security.spec.ECFieldF2m)

Example 5 with ECFieldFp

use of java.security.spec.ECFieldFp in project robovm by robovm.

the class EllipticCurveTest method testHashCode01.

/**
     * Test #1 for <code>hashCode()</code> method.<br>
     *
     * Assertion: must return the same value if invoked
     * repeatedly on the same object.
     */
public final void testHashCode01() {
    int hc = 0;
    EllipticCurve f = new EllipticCurve(new ECFieldFp(BigInteger.valueOf(23L)), BigInteger.ONE, BigInteger.valueOf(19L), new byte[24]);
    hc = f.hashCode();
    assertTrue(hc == f.hashCode() && hc == f.hashCode() && hc == f.hashCode() && hc == f.hashCode() && hc == f.hashCode() && hc == f.hashCode() && hc == f.hashCode() && hc == f.hashCode());
}
Also used : ECFieldFp(java.security.spec.ECFieldFp) EllipticCurve(java.security.spec.EllipticCurve)

Aggregations

ECFieldFp (java.security.spec.ECFieldFp)42 EllipticCurve (java.security.spec.EllipticCurve)34 BigInteger (java.math.BigInteger)30 ECFieldF2m (java.security.spec.ECFieldF2m)12 ECPoint (java.security.spec.ECPoint)8 ECField (java.security.spec.ECField)6 ECCurve (org.bouncycastle.math.ec.ECCurve)4 ECParameterSpec (java.security.spec.ECParameterSpec)3 GeneralSecurityException (java.security.GeneralSecurityException)2 InvalidParameterException (java.security.InvalidParameterException)1