Example usage for java.math BigInteger probablePrime

List of usage examples for java.math BigInteger probablePrime

Introduction

In this page you can find the example usage for java.math BigInteger probablePrime.

Prototype

public static BigInteger probablePrime(int bitLength, Random rnd) 

Source Link

Document

Returns a positive BigInteger that is probably prime, with the specified bitLength.

Usage

From source file:com.og.elliptic.sdk.main.java

private static void elGamalString(WeierStrassCurve curve) {
    // Droulement de El Gamal
    // Cryptage//from ww w . ja v a 2 s  . c  o  m
    PointGMP generateur = new PointGMP(curve.getGx(), curve.getGy(), curve);// le point gnrateur qui servira  calculer notre clef
    // secrte
    Random rnd = new Random();

    BigInteger clefSecrete = BigInteger.probablePrime(7, rnd);
    PointGMP publicKey = generateur.mult(clefSecrete);// on calcule notre clef secrte, qui nous servira  crypter les messages (h)

    BigInteger m = new BigInteger(Base64.decodeBase64("bonjour lesil"));

    BigInteger k = BigInteger.probablePrime(7, rnd);// on choisit un k random

    PointGMP C1 = generateur.mult(k);// on multiplie le gnrateur par k
    PointGMP tmp = publicKey.mult(k);
    BigInteger C2 = m.add(tmp.getX());// on multiplie notre clef secrte par k

    // Dcryptage
    PointGMP temp = C1.mult(clefSecrete);// on multiplie C1 par notre clef secrte
    BigInteger messageTraduit = C2.subtract(temp.getX());// et on obtient le message en ajoutant m2 avec l'oppos de temp
    messageTraduit = messageTraduit.mod(curve.getP());

    if (m == messageTraduit)
        System.out.println("El Gamal fonctionnel");
    else
        System.out.println("El Gamal non fonctionnel");

    System.out.println("Message a retrouver " + m + " " + Base64.encodeBase64String(m.toByteArray()) + "\n");
    System.out.println("Resultat El gamal " + messageTraduit + " "
            + Base64.encodeBase64String(messageTraduit.toByteArray()) + "\n");

}

From source file:ThreadTester.java

public BigInteger call() {
    return BigInteger.probablePrime(bitSize, prng);
}

From source file:com.magnet.android.mms.controller.RequestPrimitiveTest.java

@SmallTest
public void testSingleListBigIntegerPostParam() throws JSONException {
    ControllerHandler handler = new ControllerHandler();
    String methodName = "postBigDecimals";
    JMethod method = new JMethod();
    JMeta metaInfo = new JMeta(methodName, API_METHOD_POST + methodName, POST);
    method.setMetaInfo(metaInfo);// w w w .j a  v a  2  s.  co  m

    // int
    method.addParam("param0", PLAIN, List.class, BigInteger.class, "", false);

    List<BigInteger> values = new ArrayList<BigInteger>();
    values.add(BigInteger.TEN);
    values.add(BigInteger.probablePrime(5, new Random()));

    String uriString = handler.buildUri(method, new Object[] { values });
    String bodyString = handler.buildRequestBodyString(method, new Object[] { values });

    String expected = API_METHOD_POST + methodName;
    logger.log(Level.INFO, "uriString=" + uriString);
    logger.log(Level.INFO, "bodyString=" + bodyString);
    assertEquals(expected, uriString);

    JSONArray jarray = new JSONArray(bodyString);
    int idx = 0;
    for (BigInteger value : values) {
        assertEquals(jarray.getString(idx), value.toString());
        idx++;
    }
}