List of usage examples for org.bouncycastle.crypto.engines ElGamalEngine init
public void init(boolean forEncryption, CipherParameters param)
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); 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); byte[] m = e.processBlock(data, 0, data.length); BigInteger k = e.getK();//from www . ja va2 s. c om 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); return e.processBlock(data, 0, data.length); }