public static ECIESEncryptionEngine forDecryption(
      final NodeKey nodeKey, final SECPPublicKey ephPubKey, final Bytes iv) {
    final byte[] ivb = iv.toArray();

    // Create parameters.
    final Bytes agreedSecret = nodeKey.calculateECDHKeyAgreement(ephPubKey);

    return new ECIESEncryptionEngine(agreedSecret, ephPubKey, ivb);
  }
Creates a new engine for decryption.

@param nodeKey An abstraction of the decrypting private key
@param ephPubKey The ephemeral public key extracted from the raw message.
@param iv The initialization vector extracted from the raw message.
@return An engine prepared for decryption.
ethereum/p2p/src/main/java/org/hyperledger/besu/ethereum/p2p/rlpx/handshake/ecies/ECIESEncryptionEngine.java