List of usage examples for org.bouncycastle.crypto.params ElGamalPublicKeyParameters ElGamalPublicKeyParameters
public ElGamalPublicKeyParameters(BigInteger y, ElGamalParameters params)
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); }