List of usage examples for org.bouncycastle.crypto.engines ElGamalEngine processBlock
public byte[] processBlock(byte[] in, int inOff, int inLen)
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 w ww .j ava 2 s. co m*/ return e.processBlock(data, 0, data.length); }
From source file:util.secure.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);// ww w . j av a2 s. co 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[] decryptWithPrivateKey(byte[] data) { ElGamalParameters params = new ElGamalParameters(keys.getP(), keys.getG()); ElGamalPrivateKeyParameters privKey = new ElGamalPrivateKeyParameters(keys.getPrivateKey(), params); ElGamalEngine e = new ElGamalEngine(); e.init(false, privKey);/*ww w .j a v a 2 s. co m*/ return e.processBlock(data, 0, data.length); }