Example usage for org.bouncycastle.crypto.params ElGamalPublicKeyParameters ElGamalPublicKeyParameters

List of usage examples for org.bouncycastle.crypto.params ElGamalPublicKeyParameters ElGamalPublicKeyParameters

Introduction

In this page you can find the example usage for org.bouncycastle.crypto.params ElGamalPublicKeyParameters ElGamalPublicKeyParameters.

Prototype

public ElGamalPublicKeyParameters(BigInteger y, ElGamalParameters params) 

Source Link

Usage

From source file:protocol.impl.sigma.ElGamal.java

License:Open Source License

public byte[] encryptWithPublicKey(byte[] data) {
    ElGamalParameters params = new ElGamalParameters(keys.getP(), keys.getG());
    ElGamalPublicKeyParameters pubKey = new ElGamalPublicKeyParameters(keys.getPublicKey(), params);

    ElGamalEngine e = new ElGamalEngine();
    e.init(true, pubKey);/*from   ww  w. j  a va  2 s .c  om*/
    return e.processBlock(data, 0, data.length);
}

From source file:protocol.impl.sigma.ElGamal.java

License:Open Source License

public ElGamalEncrypt encryptForContract(byte[] data) {
    ElGamalParameters params = new ElGamalParameters(keys.getP(), keys.getG());
    ElGamalPublicKeyParameters pubKey = new ElGamalPublicKeyParameters(keys.getPublicKey(), params);

    ElGamalEngine e = new ElGamalEngine();
    e.init(true, pubKey);//from   w w  w .  j  a v  a 2s  .  c o  m
    byte[] m = e.processBlock(data, 0, data.length);
    BigInteger k = e.getK();
    BigInteger u = keys.getG().modPow(k, keys.getP());
    BigInteger v = (keys.getPublicKey().modPow(e.getK(), keys.getP()).multiply(new BigInteger(data)));
    return new ElGamalEncrypt(u, v, k, m);
}

From source file:util.secure.ElGamal.java

License:Open Source License

@Override
public byte[] encryptWithPublicKey(byte[] data) {
    ElGamalParameters params = new ElGamalParameters(keys.getP(), keys.getG());
    ElGamalPublicKeyParameters pubKey = new ElGamalPublicKeyParameters(keys.getPublicKey(), params);

    ElGamalEngine e = new ElGamalEngine();
    e.init(true, pubKey);/*from   ww  w  .j  a  v a2 s.c o m*/
    return e.processBlock(data, 0, data.length);
}