private static EthereumIESEngine makeIESEngine(boolean isEncrypt, ECPoint pub, BigInteger prv, byte[] IV) { AESEngine aesFastEngine = new AESEngine(); EthereumIESEngine iesEngine = new EthereumIESEngine( new ECDHBasicAgreement(), new ConcatKDFBytesGenerator(new SHA256Digest()), new HMac(new SHA256Digest()), new SHA256Digest(), new BufferedBlockCipher(new SICBlockCipher(aesFastEngine))); byte[] d = new byte[] {}; byte[] e = new byte[] {}; IESParameters p = new IESWithCipherParameters(d, e, KEY_SIZE, KEY_SIZE); ParametersWithIV parametersWithIV = new ParametersWithIV(p, IV); iesEngine.init(isEncrypt, new ECPrivateKeyParameters(prv, CURVE), new ECPublicKeyParameters(pub, CURVE), parametersWithIV); return iesEngine; }
public static byte[] decrypt(ECPoint ephem, BigInteger prv, byte[] IV, byte[] cipher, byte[] macData) throws InvalidCipherTextException { AESEngine aesFastEngine = new AESEngine(); EthereumIESEngine iesEngine = new EthereumIESEngine( new ECDHBasicAgreement(), new ConcatKDFBytesGenerator(new SHA256Digest()), new HMac(new SHA256Digest()), new SHA256Digest(), new BufferedBlockCipher(new SICBlockCipher(aesFastEngine))); byte[] d = new byte[] {}; byte[] e = new byte[] {}; IESParameters p = new IESWithCipherParameters(d, e, KEY_SIZE, KEY_SIZE); ParametersWithIV parametersWithIV = new ParametersWithIV(p, IV); iesEngine.init(false, new ECPrivateKeyParameters(prv, CURVE), new ECPublicKeyParameters(ephem, CURVE), parametersWithIV); return iesEngine.processBlock(cipher, 0, cipher.length, macData); }
new KDF2BytesGenerator(new SHA256Digest()), new HMac(new SHA256Digest()), new BufferedBlockCipher(new SICBlockCipher(aesFastEngine))); new KDF2BytesGenerator (new SHA256Digest()), new HMac(new SHA256Digest()), new BufferedBlockCipher(new SICBlockCipher(aesFastEngine)));
private static EthereumIESEngine makeIESEngine(boolean isEncrypt, ECPoint pub, BigInteger prv, byte[] IV) { AESEngine aesFastEngine = new AESEngine(); EthereumIESEngine iesEngine = new EthereumIESEngine( new ECDHBasicAgreement(), new ConcatKDFBytesGenerator(new SHA256Digest()), new HMac(new SHA256Digest()), new SHA256Digest(), new BufferedBlockCipher(new SICBlockCipher(aesFastEngine))); byte[] d = new byte[] {}; byte[] e = new byte[] {}; IESParameters p = new IESWithCipherParameters(d, e, KEY_SIZE, KEY_SIZE); ParametersWithIV parametersWithIV = new ParametersWithIV(p, IV); iesEngine.init(isEncrypt, new ECPrivateKeyParameters(prv, curve), new ECPublicKeyParameters(pub, curve), parametersWithIV); return iesEngine; }
new KDF2BytesGenerator(new SHA256Digest()), new HMac(new SHA256Digest()), new BufferedBlockCipher(new SICBlockCipher(aesFastEngine))); new KDF2BytesGenerator (new SHA256Digest()), new HMac(new SHA256Digest()), new BufferedBlockCipher(new SICBlockCipher(aesFastEngine)));
public CFB() { super(new BufferedBlockCipher(new CFBBlockCipher(new ARIAEngine(), 128)), 128); } }
public CTR512() { super(new BufferedBlockCipher(new KCTRBlockCipher(new DSTU7624Engine(512))), 512); } }
public CFB() { super(new BufferedBlockCipher(new CFBBlockCipher(new RC6Engine(), 128)), 128); } }
public OFB() { super(new BufferedBlockCipher(new OFBBlockCipher(new RC6Engine(), 128)), 128); } }
public OFB() { super(new BufferedBlockCipher(new OFBBlockCipher(new ARIAEngine(), 128)), 128); } }
public CTR256() { super(new BufferedBlockCipher(new KCTRBlockCipher(new DSTU7624Engine(256))), 256); } }
public OFB256() { super(new BufferedBlockCipher(new OFBBlockCipher(new DSTU7624Engine(256), 256)), 256); } }
public OFB512() { super(new BufferedBlockCipher(new OFBBlockCipher(new DSTU7624Engine(512), 512)), 512); } }
public CFB128() { // TODO: key size is also meant to be fixed super(new BufferedBlockCipher(new CFBBlockCipher(new DSTU7624Engine(128), 128)), 128); } }
public CFB() { super(new BufferedBlockCipher(new CFBBlockCipher(new AESEngine(), 128)), 128); } }
public OFB() { super(new BufferedBlockCipher(new OFBBlockCipher(new AESEngine(), 128)), 128); } }
public CFB256() { super(new BufferedBlockCipher(new CFBBlockCipher(new DSTU7624Engine(256), 256)), 256); } }
public CFB512() { super(new BufferedBlockCipher(new CFBBlockCipher(new DSTU7624Engine(512), 512)), 512); } }
public CFB() { super(new BufferedBlockCipher(new CFBBlockCipher(new SerpentEngine(), 128)), 128); } }
public OFB128() { // TODO: key size is also meant to be fixed super(new BufferedBlockCipher(new OFBBlockCipher(new DSTU7624Engine(128), 128)), 128); } }